diff options
author | Karl Berry <karl@freefriends.org> | 2009-05-23 00:39:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-05-23 00:39:11 +0000 |
commit | 3b8ae63ca616b0a5d4f056524b53c9b896dee994 (patch) | |
tree | a8857841f94d6f5209e5094500f9dc43922b5a52 /Master/texmf | |
parent | 65cfb8aaa329f6afe84ba28ad28af68f84230493 (diff) |
move texlive sources out of texmf-doc
git-svn-id: svn://tug.org/texlive/trunk@13415 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf')
68 files changed, 53674 insertions, 0 deletions
diff --git a/Master/texmf/doc/texlive/source/texlive-common/examples/ex5.tex b/Master/texmf/doc/texlive/source/texlive-common/examples/ex5.tex new file mode 100644 index 00000000000..51a49fb670e --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/examples/ex5.tex @@ -0,0 +1,6 @@ +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// +TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// +% e-TeX related files +TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// +TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// diff --git a/Master/texmf/doc/texlive/source/texlive-common/examples/ex6.tex b/Master/texmf/doc/texlive/source/texlive-common/examples/ex6.tex new file mode 100644 index 00000000000..7a56896e61c --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/examples/ex6.tex @@ -0,0 +1,56 @@ +\begin{figure*}[tp] +\centering +\begin{BVerbatim}[fontsize=\small] +debug:start search(file=texmf.cnf, must_exist=1, find_all=1, + path=.:/usr/local/bin/texlive:/usr/local/bin: + /usr/local/bin/texmf/web2c:/usr/local: + /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:). +kdebug:start search(file=ls-R, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). +kdebug:search(ls-R) =>/usr/local/texmf/ls-R +kdebug:start search(file=aliases, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). +kdebug:search(aliases) => /usr/local/texmf/aliases +kdebug:start search(file=config.ps, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). +kdebug:search(config.ps) => /usr/local/texmf/dvips/config/config.ps +kdebug:start search(file=/root/.dvipsrc, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). +search(file=/home/goossens/.dvipsrc, must_exist=1, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). +kdebug:search($HOME/.dvipsrc) => +kdebug:start search(file=config.cms, must_exist=0, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). +kdebug:search(config.cms) +=>/usr/local/texmf/dvips/cms/config.cms +\end{BVerbatim} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\begin{BVerbatim}[fontsize=\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{BVerbatim} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\begin{BVerbatim}[fontsize=\small] +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{BVerbatim} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} diff --git a/Master/texmf/doc/texlive/source/texlive-common/examples/ex6a.tex b/Master/texmf/doc/texlive/source/texlive-common/examples/ex6a.tex new file mode 100644 index 00000000000..bbc9f5b42a7 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/examples/ex6a.tex @@ -0,0 +1,24 @@ +\begin{BVerbatim}[fontsize=\small] +debug:start search(file=texmf.cnf, must_exist=1, find_all=1, + path=.:/usr/local/bin/texlive:/usr/local/bin: + /usr/local/bin/texmf/web2c:/usr/local: + /usr/local/texmf/web2c:/.:/./teTeX/TeX/texmf/web2c:). +kdebug:start search(file=ls-R, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). +kdebug:search(ls-R) =>/usr/local/texmf/ls-R +kdebug:start search(file=aliases, must_exist=1, find_all=1, + path=~/tex:/usr/local/texmf). +kdebug:search(aliases) => /usr/local/texmf/aliases +kdebug:start search(file=config.ps, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). +kdebug:search(config.ps) => /usr/local/texmf/dvips/config/config.ps +kdebug:start search(file=/root/.dvipsrc, must_exist=0, find_all=0, + path=.:~/tex:!!/usr/local/texmf/dvips//). +search(file=/home/goossens/.dvipsrc, must_exist=1, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). +kdebug:search($HOME/.dvipsrc) => +kdebug:start search(file=config.cms, must_exist=0, find_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//). +kdebug:search(config.cms) +=>/usr/local/texmf/dvips/cms/config.cms +\end{BVerbatim}
\ No newline at end of file diff --git a/Master/texmf/doc/texlive/source/texlive-common/examples/ex6b.tex b/Master/texmf/doc/texlive/source/texlive-common/examples/ex6b.tex new file mode 100644 index 00000000000..5a5a92f1f22 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/examples/ex6b.tex @@ -0,0 +1,6 @@ +\begin{BVerbatim}[fontsize=\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{BVerbatim}
\ No newline at end of file diff --git a/Master/texmf/doc/texlive/source/texlive-common/examples/ex6c.tex b/Master/texmf/doc/texlive/source/texlive-common/examples/ex6c.tex new file mode 100644 index 00000000000..5daaeaa184b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/examples/ex6c.tex @@ -0,0 +1,14 @@ +\begin{BVerbatim}[fontsize=\small] +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{BVerbatim}
\ No newline at end of file diff --git a/Master/texmf/doc/texlive/source/texlive-common/install-w32-main.png b/Master/texmf/doc/texlive/source/texlive-common/install-w32-main.png Binary files differnew file mode 100644 index 00000000000..a8cc55f6070 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/install-w32-main.png diff --git a/Master/texmf/doc/texlive/source/texlive-common/psview.png b/Master/texmf/doc/texlive/source/texlive-common/psview.png Binary files differnew file mode 100644 index 00000000000..8322bdda693 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/psview.png diff --git a/Master/texmf/doc/texlive/source/texlive-common/stdcoll.png b/Master/texmf/doc/texlive/source/texlive-common/stdcoll.png Binary files differnew file mode 100644 index 00000000000..16a699ba3c6 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/stdcoll.png diff --git a/Master/texmf/doc/texlive/source/texlive-common/tlmgr-config.png b/Master/texmf/doc/texlive/source/texlive-common/tlmgr-config.png Binary files differnew file mode 100644 index 00000000000..7f2d3123689 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/tlmgr-config.png diff --git a/Master/texmf/doc/texlive/source/texlive-common/tlmgr-gui.png b/Master/texmf/doc/texlive/source/texlive-common/tlmgr-gui.png Binary files differnew file mode 100644 index 00000000000..9c45772503d --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/tlmgr-gui.png diff --git a/Master/texmf/doc/texlive/source/texlive-common/w32client/README b/Master/texmf/doc/texlive/source/texlive-common/w32client/README new file mode 100644 index 00000000000..a09ea7cf560 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/w32client/README @@ -0,0 +1,26 @@ +The w32client pair of scripts configure a Windows system to make use +of an existing read-only TeX Live installation, typically on a +network drive. + +Copy these scripts to the root of the TeX live installation, +i.e. the same directory as texmf, texmf-dist etc. + +This pair of scripts is intended as a prototype. Normally, it should +work as-is, at least after copying to the right place, but you +should review the following items: + +- check which shortcuts you want to include (add_desktop_shortcut + and add_menu_shortcut) + +- Decide which file associations, if any, you want to create + (register_extension and register_filetype). Although we wrote the + functions for it, we decided in the end not to use them in the + regular installation. + +- You can comment out or remove the xetex stanza if you aren't going +- to use xetex. + +- If the directory layout is non-standard, you may have to edit the + texmf.cnf in the root of the installation. Use relative + directories, using $SELFAUTOPARENT, whenever possible. See + texmf/web2c/texmf.cnf for examples. diff --git a/Master/texmf/doc/texlive/source/texlive-common/w32client/install-w32client b/Master/texmf/doc/texlive/source/texlive-common/w32client/install-w32client new file mode 100755 index 00000000000..0de75a465fa --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/w32client/install-w32client @@ -0,0 +1,177 @@ +#!/usr/bin/env perl +# $Id$ +# copy this file and install-w32client.bat to the same directory +# as texmf, texmf-dist etc. + +# sample mini-installer to give Windows systems access to an +# existing TeXLive installation + +# it assumes a standard directory layout, which avoids hard-coded paths. +# if this is not the case, adjustments may be necessary. + +$^W = 1; + +use TeXLive::TLUtils qw(mkdirhier); +use TeXLive::TLWinGoo qw(non_admin add_texbindir_to_path setenv_reg + init_unshortbat add_desktop_shortcut add_menu_shortcut + register_extension register_file_type + update_assocs broadcast_env + create_uninstaller); +use strict; + +# the code below assumes that this script is in $texdir, +# the directory above texmf, texmf-dist etc. + +my $texdir=$0; +$texdir=~s!\\!/!g; +$texdir=~s!(.*)/.*$!$1!; + +# private runtime-generated files +$::texlive_release = '2008'; +my $texdirw = $ENV{'USERPROFILE'}.'/.texlive'.$::texlive_release; +$texdirw=~s!\\!/!g; +my $private_var = $texdirw.'/texmf-var'; +my $private_var_bsl = $private_var; +$private_var_bsl =~ s!/!\\!g; + +# make only per-user modifications +non_admin(); + +# general + +add_texbindir_to_path($texdir.'/bin/win32'); +broadcast_env(); + +my $mainmenu = "TeX Live 2008"; +my $texbindir_bsl = $texdir.'/bin/win32'; +$texbindir_bsl =~ s!/!\\!g; + +mkdirhier("$texdirw/tlpkg/installer"); +create_uninstaller($texdir, $texdirw, $private_var, $texdirw.'/texmf-config'); +init_unshortbat($texdirw); + +# if the path can't be fixed globally add command prompt +# with texbindir prepended to path + +if (uc(TeXLive::TLWinGoo::win_which_dir('tex.exe')) ne + uc($texdir.'/bin/win32') or + uc(TeXLive::TLWinGoo::win_which_dir('pdftex.exe')) ne + uc($texdir.'/bin/win32') or + uc(TeXLive::TLWinGoo::win_which_dir('luatex.exe')) ne + uc($texdir.'/bin/win32')) { + add_menu_shortcut( + $mainmenu, + 'TeX Live Prompt', + '', + $ENV{'COMSPEC'}, + "/k \"path $texbindir_bsl;%path%\"", + '', + ); +} + +# texlive manual + +add_menu_shortcut( + $mainmenu, + 'TeX Live Manual (en)', + '', # default pdf icon + $texdir.'/texmf-doc/doc/english/texlive-en/texlive-en.pdf', + '', + '', +); + +# texdoctk documentation browser + +if (-e $texdir.'/bin/win32/texdoctk.bat') { + add_menu_shortcut( + $mainmenu, + 'TeXdoc GUI', + '', # icon + $texdir.'/bin/win32/texdoctk.bat', + '', # arguments + 'batgui', # any non-null value to hide command-prompt + ) +} + +# psview + +add_desktop_shortcut( + $texdirw, + 'PS_View', + $texdir.'/tlpkg/tlpsv/psv.exe', # icon, not prog! + $texdir.'/bin/win32/psv.bat', + '', # no args + 'batgui', # any non-null value to hide command-prompt +); +add_menu_shortcut( + $mainmenu, + 'PS_View', + $texdir.'/tlpkg/tlpsv/psv.exe', # icon, not prog! + $texdir.'/bin/win32/psv.bat', + '', # no args + 'batgui', # any non-null value to hide command-prompt +); +# comment out if you prefer gsview +register_extension(".ps", "PostScript"); +register_extension(".eps", "PostScript"); +register_file_type("PostScript", + '"'.$texdir.'/tlpkg/tlpsv/gswxlua.exe" -g '. + '"'.$texdir.'/tlpkg/tlgs/bin/gsdll32.dll" -l '. + '"'.$texdir.'/tlpkg/tlpsv/psv.wx.lua" -p '. + '"'.$texdir.'/tlpkg/tlpsv/psv_view.ps" -sINPUT="%1"'); +update_assocs(); + +# dviout + +add_menu_shortcut( + $mainmenu, + 'DVIOUT', + $texdir.'/tlpkg/dviout/dviout.exe', + 'wscript', + $texdir."/bin/win32/dviout.vbs", + '', +); + +# xetex + +if (-e $texdir.'/bin/win32/xetex.exe') { + my $xetexmfcnf = $private_var.'/web2c'; + my $texmfcnf = $xetexmfcnf.';'.$texdir.'/texmf/web2c'; + setenv_reg('TEXMFCNF', $texmfcnf); + broadcast_env(); + mkdirhier($private_var."/fonts"); + system("xcopy", "/e", "/i", "/q", "/y", "\"$texbindir_bsl\\conf\"", + "\"$private_var_bsl\\fonts\\conf\""); + system("xcopy", "/e", "/i", "/q", "/y", "\"$texbindir_bsl\\cache\"", + "\"$private_var_bsl\\fonts\\cache\""); + if (open(FONTSCONF, "<$texdir/bin/win32/conf/fonts.conf")) { + my @lines = <FONTSCONF>; + close(FONTSCONF); + if (open(FONTSCONF, ">$private_var/fonts/conf/fonts.conf")) { + my $winfontdir; + $winfontdir = $ENV{'SystemRoot'}.'/fonts'; + $winfontdir =~ s!\\!/!g; + foreach (@lines) { + $_ =~ s!c:/Program Files/texlive/2008!$texdir!; + $_ =~ s!c:/windows/fonts!$winfontdir!; + print FONTSCONF; + } + close(FONTSCONF); + } else { + warn("Cannot open $private_var/fonts/conf/fonts.conf for writing\n"); + } + } else { + warn ("Cannot open $texdir/bin/win32/conf/fonts.conf\n"); + } + mkdirhier($xetexmfcnf); + if (open(TMF, ">$xetexmfcnf/texmf.cnf")) { + print TMF "FONTCONFIG_PATH=\$TEXMFVAR/fonts/conf\n"; + print TMF "FC_CACHEDIR=\$TEXMFVAR/fonts/cache\n"; + close TMF; + } else { + warn("Cannot open $xetexmfcnf/texmf.cnf for writing\n"); + } + $ENV{'TEXMFCNF'} = $texmfcnf; + $ENV{'PATH'} = $texbindir_bsl.';'.$ENV{'PATH'}; + system("\"$texbindir_bsl\\fc-cache.exe\"", "-v", "-r"); +} diff --git a/Master/texmf/doc/texlive/source/texlive-common/w32client/install-w32client.bat b/Master/texmf/doc/texlive/source/texlive-common/w32client/install-w32client.bat new file mode 100755 index 00000000000..0d22ada6688 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-common/w32client/install-w32client.bat @@ -0,0 +1,28 @@ +@echo off
+
+rem copy this file and install-w32client to the same directory
+rem as texmf, texmf-dist etc.
+
+rem TeX Live Root; ends with backslash
+rem This may also work with UNC names
+
+set texdir=%~dp0
+set tldrive=%~d0
+
+%tldrive%
+cd %texdir%
+
+rem use provided Perl
+
+set PERL5SAVE=%PERL5LIB%
+set PERL5LIB=%texdir%tlpkg\tlperl\lib;%texdir%tlpkg
+"%texdir%tlpkg\tlperl\bin\perl" "%~dpn0" %*
+rem pause Done
+
+rem cleanup in case of start from command-line
+
+set PERL5LIB=%PERL5SAVE%
+set PERL5SAVE=
+set tldrive=
+set texdir=
+pause
\ No newline at end of file diff --git a/Master/texmf/doc/texlive/source/texlive-cz/Makefile b/Master/texmf/doc/texlive/source/texlive-cz/Makefile new file mode 100644 index 00000000000..acbed97a89b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-cz/Makefile @@ -0,0 +1,5 @@ +include ../texlive-en/Makefile +doc = texlive-cz +lang = czechslovak + + diff --git a/Master/texmf/doc/texlive/source/texlive-cz/cs-tex-live.sty b/Master/texmf/doc/texlive/source/texlive-cz/cs-tex-live.sty new file mode 100644 index 00000000000..7e2569d7776 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-cz/cs-tex-live.sty @@ -0,0 +1,458 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{cs-tex-live}[2004/11/15 v1.22 TeX Live documentation style] +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{graphicx} +%\RequirePackage{here} +\RequirePackage{longtable} +%\iftrue +%\def\Hv@scale{.91} % to match x-height of Palatino +%\RequirePackage{palatino} +%\else +\usepackage{lmodern} +%\fi +\RequirePackage{tabularx} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +\usepackage[T1]{fontenc} +\usepackage[latin2]{inputenc} +\usepackage[czech]{babel}% +\usepackage{csquote} % do define \uv +\newcommand{\singleuv}[1]{,#1`} +\newcommand{\ctt}{\url{news:comp.text.tex}} +\newcommand{\kB}{KiB} +\newcommand{\MB}{MiB} +\newcommand\TKCS{\textsf{\TeX-kolekce}} +\newcommand\ProTeXt{Pro\TeX t} +\clubpenalty 10000 +\widowpenalty 10000 +\RequirePackage{europs} +\let\euro\EUR +\usepackage{comment} +%\newcommand\ncs{\protect\NN} +%\newcommand\NN[1]{\bgroup\color{red}#1\egroup} +%\def\p.{s.\,} +\def\p.{na stran\v{e}~} +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +% +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\emergencystretch=.1\hsize +\relpenalty=500 +% +% fonts +\let\sl\it +\let\slfamily\itfamily +\let\textsl\textit +\def\ttdefault{cmtt} +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{\singleuv{\texttt{#1}}} +\newcommand{\var}[1]{\emph{#1}} +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html + \includegraphics[#2]{pictures/#1.jpg} \\[5mm] + \else % not html + \includegraphics[width=#3]{pictures/#1} \\[5mm] + \fi +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} + +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +\def\CDref#1#2{\href{../../../../#1}{#2}} +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip\discretionary{\hbox{$\rightarrow$}}{\hbox{$\rightarrow$}}{\hbox{$\rightarrow$}}\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace--\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\let\TL=\TeXLive +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX-Collection}} +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\ISO}{\acro{ISO}\xspace} +%\providecommand*{\MacOSX}{Mac\-\acro{OSX}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\GS}{Ghost\-script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't why \descriptionlabel doesn't. +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{%%\hspace\labelsep + \normalfont\sffamily #1\hfil} +% +\newlength\tmplen +\newsavebox{\wbox} +\newenvironment{warningbox}% + {\fboxsep .017\textwidth + \begin{lrbox}{\wbox} + \setlength{\tmplen}{\textwidth}% + \addtolength{\tmplen}{-2\fboxsep}% + \addtolength{\tmplen}{-.8pt}% twolines + \begin{minipage}{\tmplen}} + {\end{minipage}\end{lrbox}% + \bgroup\centering\fbox{\usebox{\wbox}}\egroup} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} +% +% +% output setup +% +\newif\ifSingleColumn +\providecommand{\Status}{0} +\typeout{Status is \Status, e.g.: } +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +\RequirePackage{texnames} +\ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi +\ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation for printing} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[colorlinks,bookmarksopen, + pdfstartview={FitBH -320000},hyperindex]{hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Zpravodaj issue!} + \RequirePackage{zpravodaj}% outline of Zpravodaj + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + %\RequirePackage{texnames} + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} +% +% a hack for the bibliography +\bibliographystyle{tex-live} +\newif\iffirstbibentry +\global\firstbibentrytrue +\let\@@bibitem\bibitem +\renewcommand\bibitem{\iffirstbibentry + \global\firstbibentryfalse + \else + \\\SetRowColor + \fi + \@@bibitem +} + + +% for \Dings +\RequirePackage{pifont} +% available for inter-article dinglines +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} + +\ifnum \Status=3 +\newfont\fontmanual{logo10} % font used for the METAFONT logo, etc. +\renewcommand\MF{{\fontmanual META}\-{\fontmanual FONT}\spacefactor1000 } +\renewcommand\MP{{\fontmanual META}\-{\fontmanual POST}\spacefactor1000 } +\else +\RequirePackage{mflogo} +%\newfont\fontmanual{logo10} % font used for the METAFONT logo, etc. +%\newcommand\MF{{\fontmanual META}\-{\fontmanual FONT}\spacefactor1000 } +%\newcommand\MP{{\fontmanual META}\-{\fontmanual POST}\spacefactor1000 } +\fi + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-cz/csquote.sty b/Master/texmf/doc/texlive/source/texlive-cz/csquote.sty new file mode 100644 index 00000000000..3644143647b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-cz/csquote.sty @@ -0,0 +1,181 @@ +%%%%%%%%%%%%%%%%%%%%%% cut here %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% File: CSQUOTE.TEX/STY +% Version: 1.1 +% +% Authors: Hunter Goatley <goathunter@wkuvx1.bitnet> +% (parts from QUOTE.TEX/STY) +% Petr Sojka <sojka@ics.muni.cs> +% +% Warranty: +% +% Copyright (c) 1992 by Hunter Goatley, Petr Sojka +% Permission to copy all or part of this work is granted, provided +% that the copies are not made or distributed for resale, and that +% the copyright notice and this notice are retained. +% +% THIS WORK IS PROVIDED ON AN "AS IS" BASIS. THE AUTHOR PROVIDES NO +% WARRANTY WHATSOEVER, EITHER EXPRESS OR IMPLIED, REGARDING THE WORK, +% INCLUDING WARRANTIES WITH RESPECT TO ITS MERCHANTABILITY OR FITNESS +% FOR ANY PARTICULAR PURPOSE. +% +% If you make any improvements, I'd like to hear about them. +% +% History: +% +% Oct 26, 92 - V1.0 first release +% Dec 14, 92 - V1.1 \uv added +% +% Abstract: +% +% This file defines the macros \csdoublequoteson and \csdoublequotesoff. +% These macros allows switching between standard and following behaviour: +% TeX replace the double-quote character (") with Czech +% left and right double-quotes. For example: +% +% "This is a test." ---> ,,This is a test.'' +% +% The double-quote character is still available via \dq. +% \" is still treated as the umlaut accent. +% +% This macro makes a couple of assumptions about the double-quotes: +% +% 1. Double-quotes are assumed to come in pairs. When replacing +% double-quotes, the macro alternates between ,, and ''. The only +% exception to this is noted in (2) below. +% 2. A double-quote at the beginning of a paragraph is always treated +% as ,,. This correctly handles the case where a quotation is +% continued into a second paragraph: +% +% "This is the first paragraph.\par +% "This is the second paragraph of the same quote." +% +% Normal TeX spacing after ,, and '' is maintained by saving and +% restoring the \spacefactor. +% +% Macros work both with plainTex and LaTeX. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% HOW IT WORKS: +% +% The double-quote character (") is made active by \csdoublequoteson. +% The " macro keeps track of left-quote/right-quote pairs and inserts +% the appropriate ,, and '' in its place. +% +% Each character has a \spacefactor associated with it, which specifies +% the amount of stretch or shrink that a space following the character +% can have. Most characters have a factor of 1000, but some punctuation +% marks have higher spacefactors, most notably the period, which has a +% \spacefactor of 3000. This means the space following a period can +% stretch up to 3 times more than the space after a regular character, +% accounting for the increased space at the end of sentences. +% +% The ,, and '' ligatures are assigned \spacefactor's of 0, so that the +% \spacefactor that is applied to the next character is the same as that +% of the character preceding the quotes. Because " has been redefined as +% a macro, any spaces following " are swallowed by TeX. It was necessary +% to have this macro re-insert any needed space so that the following +% cases worked correctly: +% +% "This is a test," she said. --> ,,This is a test,'' she said. +% "This is in a list"; etc. --> ,,This is in a list''; etc. +% +% Without the added space, the first example becomes: +% +% ,,This is a test,''she said. +% +% The solution was to save the current \spacefactor before inserting a +% right double-quote, then resetting the \spacefactor after the +% insertion. The net effect was that the " macro has a \spacefactor +% of 0, which matches the way TeX treats ,, and ''. +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +{% % Begin a group for which " is active +\catcode`\"=\active % Make " an active character +\catcode`\@=11 % Make @ an active character +% +% \csdoublequoteson +% +% This macro makes " an active character, resets the control sequence +% \dblqu@te to L (left), and defines \dq as a replacement for ". +% +\gdef\csdoublequoteson{% % \csdoublequoteson enables " + \gdef"{\czechquotes}% % Define " as \czechquotes + \global\catcode`\"=\active% % Make " an active character + \global\chardef\dq=`\"% % Double-quote char. via \dq + \global\let\dblqu@te=L% % Always start with a left double-quote + } % End of macro +% +% \bq, \eq +% +% These macros define default characters for czech left and right +% double quotes. Czech opening quote is created from two commas with +% kerning depending on fontdimen four parameter of current font. +% Better solution should be specially designed character with +% proper kernings; if you have such characters in fonts +% (e.g. in DC-fonts), use it instead. (e.g. define +% macros \bq and \eq e.g. \def\bq{\char"130 } +% in your document/style file-- not in csquote.sty!) +% Similar solution is used for czech right quote. +% +% \cs existence test, stolen from TeXbook exercise 7.7 +\def\ifundefined#1{\expandafter\ifx\csname#1\endcsname\relax }% +% +% another macro to be more efficient in time and space +\global\chardef\f@@r=4 +% +\ifundefined{bq}% +\gdef\bq{\kern-.25\fontdimen\f@@r\font,\kern-.8\fontdimen\f@@r\font,% + \kern-.35\fontdimen\f@@r\font}% +\fi +\ifundefined{eq}% +\gdef\eq{\kern-.35\fontdimen\f@@r\font`\kern-.8\fontdimen\f@@r\font`% + \kern-.25\fontdimen\f@@r\font} +\fi +% +% Macro \uv for other usage of \bq and \eq. +% +\ifundefined{uv}% + \gdef\uv#1{\bq #1\eq} +\fi +% +% Define the macro that will be executed whenever " is encountered. +% +\gdef\czechquotes{% + % If the double-quote is the first character in a new paragraph, + % make sure it becomes a left double-quote. This case can be + % detected by checking to see if TeX is currently in vertical mode. + % If so, the double-quote is at the beginning of the paragraph + % (since " hasn't actually generated any horizontal mode tokens + % yet, TeX is still in vertical mode). If the mode is vertical, + % set \dblqu@te equal to L. + % + \ifinner\else\ifvmode\let\dblqu@te=L\fi\fi% + % + % Now insert the appropriate left or right double-quote. + % + % If \dblqu@te is L, insert an opening quote and set \dblqu@te to R. + % + \if L\dblqu@te\bq\global\let\dblqu@te=R% + % + % Otherwise, save the current \spacefactor, insert '', set \dblqu@te + % to L, and reset the original \spacefactor. + % + \else% + \let\xxx=\spacefactor% % Save the \spacefactor + \eq% % Insert ending quote + \global\let\dblqu@te=L% % and reset \dblqu@te + \spacefactor\xxx% % Reset the \spacefactor + \fi% % End of \if L\dblqu@te... + } % End of " macro +} % End of group + +\gdef\csdoublequotesoff{% + \catcode`\"=12% % Set " back to other + } +% +% Czech quotes are default +% +\csdoublequoteson + diff --git a/Master/texmf/doc/texlive/source/texlive-cz/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-cz/live4ht.cfg new file mode 100644 index 00000000000..3fa6506696b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-cz/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% also the newest TeX4ht could produce UTF-8 output (-utf8 option) +\Preamble{charset=iso-8859-2,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/source/texlive-cz/texlive-cz.tex b/Master/texmf/doc/texlive/source/texlive-cz/texlive-cz.tex new file mode 100644 index 00000000000..77d8ed9ea5e --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-cz/texlive-cz.tex @@ -0,0 +1,3030 @@ +% +% czechslovak/live.tex - TeXlive 2008 documentation -- Czech/Slovak translation +% +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +% 2008/08/12: v1.34 prvni korektury prekladu 2008 +% 2008/08/02: v1.33 aktualizacia prekladu 2008 +% 2007/01/24: v1.32 XeTeX URL and HH (config.manpath) change +% 2007/01/22: v1.31 last minute corrections by Staszek (2x) and ZW +% 2007/01/15: v1.30 corrections and typos +% 2007/01/14: v1.29 texlive2007 version (JB&PS) +% 2005/11/01: v1.28 last minute Staszek additions +% 2005/10/31: v1.27 texlive2005 version (JB&PS) +% 2004/11/18: v1.26 final release cleanup, latest changes by Staszek +% 2004/11/17: v1.24,25 typos corrected +% 2004/11/15: v1.21,22,23 corrections by KB, JB and others entered +% 2004/11/14: v1.20 first texlive2004 version (JB&PS) +% 2004/01/30: v1.19 postbulletin version release for CSTUG web +% 2004/01/22: v1.18 minor changes before final-2003 source release +% 2004/01/19: v1.16, v1.17 last-minute corrections before sending +% Bulletin to print +% 2004/01/18: modifications for CS bulletin by Z. Wagner +% 2004/01/07: version 1.15 +% 2003/12/08-10: Slovak and other Czech typos corrected +% 2003/12/06: Czech language typos/errors entered +% 2003/09/23: prepositions checked, v1.03 +% 2003/09/23: some typos, jch's email, v1.02 +% 2003/09/22: further error corrections, v1.01 +% 2003/09/18: final checking and error corrections, v1.0 release +% 2003/09/17: another changes in English version incorporated +% 2003/09/08: changes in English version from 09/04 to 09/06 incorporated +% 2003/09/06: fixes from Staszek +% 2003/09/05: touched by Karl +% 2003/09/04: fixes from Staszek and Fabrice +% 2003/09/05: translation started from english version as of Sep 1st by +% Petra & Petr S. +% 2003/09/01: fixes from Volker. +% 2003/08/12: fixes from Christer Gustafsson <gustaf@powertech.no>. +% 2003/07/07: substantial revisions by karl. +% ... deleted +% +% TODO +% +% -- Priklady ve slovenske casti aktualizovat z~anglicke verze +% (zustaly dosud z verze TeXlive 6). +% +% Translations: +% Copyright (c) 2003--2008 Petr Sojka +% Copyright (c) 2004--2008 Jn Bua +% Copyright (c) 2003 Petra Sojkov +% Copyright (c) 2001 Janka Chlebkov +% Permission is granted to copy, distribute and/or modify this document +% under the terms of the GNU Free Documentation License, Version 1.2 +% or any later version published by the Free Software Foundation; +% with no Invariant Sections, no Front-Cover Texts, and no +% Back-Cover Texts. A copy of the license is included in +% the section entitled "GNU Free Documentation License". + +\newif\ifforbulletin +\forbulletinfalse +%\forbulletintrue +\newcommand\cstlversion{1.34} +\newcommand\cstldate{12.\ srpna 2008} +\ifforbulletin + \providecommand\Status{3} % version for CSTUG bulletin Zpravodaj + \else + \providecommand\Status{1} % 2 html alebo 1 pdf +\fi +% +\ifnum\Status=2 % e.g. html generation via tex4ht + \def\classname{article} % need different doc class for html + \def\classoptions{11pt} +\else + \ifnum\Status=3 % Zpravodaj + \def\classname{article} + \def\classoptions{twoside,a5paper} +% \pdfpaperwidth=147.5mm +% \pdfpaperheight=210mm + \else \def\classname{artikel1} + \def\classoptions{11pt} + \fi +\fi + +\listfiles +\documentclass[\classoptions,slovak,english,czech]{\classname} +\usepackage{cs-tex-live} +\makeatletter +\newcommand\tubreflect[1]{% + \@ifundefined{reflectbox}{% + \message{A graphics package must be loaded for \string\XeTeX}% + }{% + \ifdim \fontdimen1\font>0pt + \raise 1.75ex \hbox{\kern.1em\rotatebox{180}{#1}}\kern-.1em + \else + \reflectbox{#1}% + \fi + }% +} +\def\tubhideheight#1{\setbox0=\hbox{#1}\ht0=0pt \dp0=0pt \box0 } +\def\XeTeX{\leavevmode + \tubhideheight{\hbox{X% + \lower.5ex \hbox{\kern-.125em\tubreflect{E}}% + \kern-.1667em \TeX}}} +\makeatother + +\begin{document} +\ifnum\Status=2 + % this ugliness is because the normal definition of ' for tex4ht + % tries to go into math mode. I don't under + \def'{\char`\'} +\fi + +\selectlanguage{czech} +\title{{\huge\textsf{\TL{} 2008}}\\[3mm] + Pruka \protect\TeXLive{}, CS verze \cstlversion} +\date{\cstldate} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/}\\[3mm] +%B% \ifnum \Status=2 +%B% \includegraphics[bb=0 0 824 741]{../pictures/front} \\[5mm] +%B%\else +%B%\ifnum \Status=3 +%B% \includegraphics[width=.5\linewidth]{../pictures/bw-front2} \\[5mm] +%B%\else +%B% \includegraphics[width=.5\linewidth]{../pictures/front} \\[5mm] +%B%\fi \fi +%B% \small \textit{Kontaktn osoby pro tuto dokumentaci:}\\[3mm] +%B% \small \begin{tabular}{lcr} +%B% Czech/Slovak & Petr Sojka & \email{sojka (at) fi.muni.cz} \\ +%B% & Janka Chlebkov & \email{chlebikj (at) dcs.fmph.uniba.sk} \\ +%B% & Jn Bua & \email{jan.busa (at) tuke.sk} \\ +%B% English & Karl Berry & \email{karl (at) freefriends.org} \\ +%B% French & Fabrice Popineau & \email{fabrice.popineau (at) supelec.fr} \\ +%B% German & Volker R.\,W.\ Schaa & \email{volker (at) dante.de} \\ +%B% Polish & Staszek Wawrykiewicz & \email{staw (at) gust.org.pl} \\ +%B% Russian & Boris Veytsman & \email{borisv (at) lk.net} +%B% \end{tabular} +% \tlimage{front}{bb=0 0 824 741}{.7\linewidth} + } + +% comes out too close to the toc, and we know it's page one anyway. +\thispagestyle{empty} +\maketitle + +\ifnum\Status=3 + \thispagestyle{csbul} + \ifforbulletin \setcounter{page}{113} % valid for 3-4/2003 + \else \raggedbottom + \fi +\fi + + Peklad + 2004--2008 J\'an Bu\v{s}a, + 2001 Janka Chleb\'\i kov\'a, + 2003--2008 Petr Sojka a + 2003 Petra Sojkov\'a + je en pod GNU FDL licenc. + + Permission is granted to copy, distribute and/or modify this document + under the terms of the GNU Free Documentation License, Version 1.2 + or any later version published by the Free Software Foundation; + with no Invariant Sections, no Front-Cover Texts, and no + Back-Cover Texts. + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{vodem} +\label{sec:intro} + +\subsection{\TeX\ Live a kolekce \TeX{}u} + +Tento dokument popisuje zkladn vlastnosti distribuce \TeXLive{} 2008, +co je instalace \TeX{}u a pbuznch program pro \acro{GNU}/Linux a dal +unixov systmy, \MacOSX{} a (32bitov) systmy Windows. + + +\TL{} mete zskat staenm z~internetu, nebo na \TKCS{} \DVD, +kter skupiny uivatel \TeX{}u distribuuj mezi svmi leny. +Obsah tohto \DVD je strun popsn v~oddle~\ref{sec:tl-coll.dists}. +\TL{} a \TKCS{} spolu jsou vsledkem spolenho sil +skupin uivatel \TeX u. Tento dokument popisuje pevn samotn +\TL{}. + +\TL{} obsahuje \file{.exe} soubory pro \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} a mnoho dalch program vetn obshlho +seznamu maker, font a dokumentace spolu s~podporou +sazby v~mnoha rznch svtovch jazycch. + +Aktuln verze pouitho software je v~archvu +\acro{CTAN} na \url{http://www.ctan.org/}. + +Krtk seznam hlavnch zmn v~tto verzi \TL{} +najdete na konci tohoto dokumentu, v~oddlu~\ref{sec:history} +na stran~\pageref{sec:history}. + +\subsection{Podpora operanch systm} +\label{sec:os.support} + +\TL{} obsahuje binrky pro etn architektury na bzi Unixu, +vetn \MacOSX. Obsaen zdrojov texty by mly umonit instalaci +pro platformy, pro kter nejsou k~dispozici binrky. + +Co se te Windows: podporovny jsou jenom Windows 2000 a pozdj verze. Upustili jsme +od podpory Windows 9\textit{x}, ME a NT. V~dsledku tto zmny si Windows +vyaduje mnohem mn zvltnho zachzen ve srovnn s~Unixovmi +systmy. Pro Windows nejsou k~dispozici 64bitov \file{.exe} soubory, ale +32bitov binrky by mly bet na 64bitovch systmech. + +Alternativn een pro Windows a \MacOSX{} najdete +v~oddle~\ref{sec:tl-coll.dists}. + +\subsection{Zkladn instalace \protect\TL{}} +\label{sec:basic} + +\TL{} mete nainstalovat bu z~\DVD{} nebo z~internetu. Samotn sov +instalan program je mal a ve poadovan sthne z~internetu. Sov +instalan program je vhodn pout, kdy potebujete jenom st +z~kompletn instalace \TL. + +Instalan program na \DVD{} vm umon instalaci na loklnm disku, avak \TL{} mete spustit pmo z~\DVD{} +(nebo z~obrazu \DVD{}, kdy to v systm podporuje). + +\noindent Toto je popsan detailn +v~nsledujcch sekcch, zde jen souhrn: + +\begin{itemize*} +\item Instalan dvka se jmenuje \filename{install-tl}\,. +Funguje v~reimu \GUI{} (pedvolba pro Windows) i v~textovm reimu (pedvolenm pro vechny ostatn systmy). +Jednotliv reimy doshnete volbou \code{-gui} nebo \code{-no-gui}. + +\item Jednou soust instalace je nov program, `\TL\ Manager', nazvan \prog{tlmgr}. + Podobn jako instalan program me bt pouit v~reimu \GUI{} nebo v~textovm reimu. + Mete ho pout k~nainstalovn nebo odinstalovn balk a na rzn konfiguran innosti. +\end{itemize*} + +\subsection{Npovda} +\label{sec:help} + +\TeX{}ovsk komunita je aktivn, vstcn a vtina +seriznch otzek je obvykle zodpovzena. Podpora je +neformln, je provdna pleitostnmi teni a dobrovolnky, +a proto je dleit, abyste odpov na svj dotaz hledali nejdve sami, +ne ho vznesete na fru. (Pokud toute po garantovan komern podpoe, +mete na \TL{} zapomenout a zakoupit komern distribuci; viz +seznam prodejc\r u na \url{http://tug.org/interest.html#vendors}.) + +Ne je uveden seznam informanch zdroj, piblin v~poad, ve kterm +ho doporuujeme k~pouit: + +\begin{description} +\item [prvn kroky] Pokud jste \TeX ovsk novek, na strnce +\url{http://tug.org/begin.html} najdete krtk vod do systmu. +\item [\TeX{} \acro{FAQ}] \TeX{} \acro{FAQ} je obrovsk studnice + znalost obsahuj\'ic\'i vechny druhy otzek, od tch zkladnch a po + ty nejobskurnj. + Dokument najdete na \TL{} v~adresi \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html} + nebo na internetu na \url{http://www.tex.ac.uk/faq}. Prosme, zante + sv hledn odpovdi zde. + +\item [\TeX{} Catalogue] Pokud hledte konkrtn balk, + font, program ap., \TeX{} Catalogue je msto, kde zat. + Je to obshl sbrka \TeX{}ovch poloek. Viz + \OnCD{http://www.ctan.org/help/Catalogue/}. + +\item [\TeX{}ov\'e odkazy na Webu] Na \url{http://tug.org/interest.html} + najdete mnoho relevantnch odkaz na rzn pruky, + knihy, manuly a lnky o vech aspektech systmu \TeX{}. + +\item [archvy diskusnch skupin] + \sloppypar Dv zkladn fra pro hledn een problm jsou + newsov skupina \ctt{} a emailov diskusn + skupina \email{texhax@tug.org}. V~archvech tchto zdroj + najdete tisce pedchozch dotaz a odpovd ekajcch na vae + hledn. Nahldnte na + \url{http://groups.google.com/groups?group=comp.text.tex}, + res\-pek\-ti\-ve na + \url{http://tug.org/mail-archives/texhax}. Dotazem do obecnho + vyhledvacho stroje jako \url{http://google.com/} tak nic nepokazte + a pro specifika etiny a sloventiny najdete dal zdroje + odkazovan na \url{http://www.cstug.cz/}. + +\item [kladen dotaz] Pokud nemete najt odpov na svou otzku, + mete ji poloit na \ctt{} pes Google nebo + newsovho klienta nebo emailem na \email{texhax@tug.org}. + Ale dve, ne tak uinte, \emph{prosm,} pette + si toto doporuen, abyste maximalizovali vyhldky na + zskn uiten odpovdi: + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [podpora \TL{}] Pokud chcete poslat + chybov hlen, pipomnku nebo poznmku k~distribuci + \TL{}, jej instalaci nebo dokumentaci, + diskusn skupina k~tomu uren je \email{tex-live@tug.org}. + Pokud vak je vae otzka specifick pro program na + \TL{} umstn, napite prosm pmo autorovi nebo do diskusn + skupiny uren pro tento program. Sputn programu + s~volbou \code{-{}-help} nezdka + poskytuje adresu pro chybov hlen. +\end{description} + +\noindent +Druhou stranou mince je odpovdn na dotazy tch, kdo kladou otzky. +\ctt{} i~list \code{texhax} jsou oteveny pro kohokoliv. +Pihlaste se, naslouchejte a zante odpovdat tam, kde mete. + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Pehled \protect\TeX\protect\ Live} +\label{sec:overview.tl} + +Tento oddl popisuje obsah \TL{} a \TKCS{}, jej\'\i\v z~je st. + +%Dv hlavn instalan dvky pro Unix a \MacOSX{} jsou +%\texttt{install-tl.sh} a \texttt{install-pkg.sh}. Jsou +%popsny v~oddle~\ref{sec:unix.install} na +%stran~\pageref{sec:unix.install}. +%V~dalm oddle popeme strukturu a obsah \TL{}. + + +\subsection{Kolekce \protect\TeX{}u: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll.dists} + +\DVD{} \TKCS{} zahrnuje nsledujc: + +\begin{description} + +\item [\TL] pln systm \TeX{}, kter me bt spouten pmo nebo nainstalovn na disk. + +\item [Mac\TeX] pro \MacOSX, pidv pirozen \MacOSX\ instalan program a jin aplikace Mac k~\TL{}. Jeho domovsk strnka je +\url{http://www.tug.org/mactex/}. + +\item [pro\TeX{}t] Rozen systmu \MIKTEX\ pro Windows. +\ProTeXt\ pidv k~\MIKTEX u nov doplkov nstroje +a zjednoduuje instalaci. Je pln nezvisl na \TL{} +a m sv vlastn pkazy. +Domovsk strnka projektu \ProTeXt\ je na \url{http://tug.org/protext}. + +\item [CTAN] Vpis obrazovky skladit \CTAN{}. + +\item [\texttt{texmf-extra}] Adres s~rozmanitmi doplkovmi balky. + +%\item [demo] systm spustiteln pmo z~\CD. Aby to bylo mon, +%byli jsme nuceni vypustit velk kolekce pro sazbu +%ntiny, japontiny a korejtiny \acro{CJK}, +%podporu sazby not, nkter mn asto pouvan psma. +%Distribuce funguje jen pod Linuxem, \MacOSX{} a systmy Windows. + +\end{description} + + +\CTAN{}, \pkgname{protext} a \dirname{texmf-extra} nemus mt stejn podmnky +pro koprovn jako \TL{}, proto bute pozorn pi en nebo modifikaci. + +\subsection{Popis koenovch adres \TL{}} +\label{sec:tld} + +V~koenovm adresi distribuce \TL{} najdete nsledujc +podadrese. Na \pkgname{live} \DVD\ je cel \TL{} hierarchie v~podaresi +\dirname{texlive}, a ne v~koenovm adresi disku. + +\begin{ttdescription} +\item[bin] Binrky systmu \TeX{}, s~podadresi dle platforem. +% +\item[readme.html] Webovsk strnky se strunmi vody a uitenmi +odkazy, v~rznch jazycch. +% +\item[source] Zdrojov kdy vech program, vetn distribuce + \Webc{} \TeX{}u a \MF{}u. +% +\item[support] Rzn pomocn balky a programy. Automaticky %Implicitn + \emph{nejsou} instalovny. Toto zahrnuje editory + a \TeX{}ov vvojov prosted rznch druh. + +% +\item[texmf] Viz \dirname{TEXMFMAIN} ne. +% +\item[texmf-dist] Viz \dirname{TEXMFDIST} ne. +% +\item[texmf-doc] Strom samostatn ist dokumentace, uspodn podle jazyk. +% +\item[tlpkg] Skripty, programy a daje pro sprvu instalace. Obsahuje +rovn neveejn kopie Perlu a Ghostscriptu pro Windows, kter jsou mimo +\TL{} neviditeln, a nov prohle PostScriptu pro Windows PSView. +\end{ttdescription} + +\smallskip + +V~koenovm adresi distribuce jsou navc instalan dvky a soubory +\filename{README} (v~rznch jazycch). + +Adres \dirname{texmf-doc} obsahuje dokumentaci, kter nen +soust njakho konkrtnho balku nebo programu. +Dokumentace program (manuly, +man-strnky, info-soubory) jsou v~\dirname{texmf/doc}, +protoe programy jsou v~adresi \dirname{texmf}. +Dokumentace \TeX ovch balk a formt je +v~\dirname{texmf-dist/doc}. +K~vyhledn veker dokumentace na libovolnm mst mete +pout programy \cmdname{texdoc} nebo \cmdname{texdoctk}. +Souhrnn\'e odkazy v~koenovm souboru \OnCD{doc.html} mohou +bt tak uiten. + +Samotn tato pruka \TL\ je v~adresi \dirname{texmf-doc} +a je k~dispozici v~nkolika jazycch: + +\begin{itemize*} +\item{zjednoduen ntina:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{esko-slovensk:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\item{anglick:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{francouzsk:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{nmeck:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{polsk:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{rusk:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\end{itemize*} + + +\subsection{Pehled peddefinovanch strom texmf} +\label{sec:texmftrees} + +Tento oddl uvd seznam vech peddefinovanch promnnch +urujcch stromy texmf, pouvanch systmem, a jejich zamlen el, a standardn uspodn systmu \TL. +Povel \texttt{texconfig +conf} vm uke hodnoty tchto promnnch, tedy mete jednodue zjistit, +jak tyto odpovdaj nzvm adres ve va instalaci. + +\begin{ttdescription} +\item [TEXMFMAIN] Strom obsahujc ivotn dleit sti systmu, jako pomocn skripty +(nap. \verb+web2c/mktexdir+) a jin podprn soubory a jejich dokumentaci. +Neobsahuje \TeX ovsk formty a balky. +\item [TEXMFDIST] Strom obsahujc hlavn sadu balk maker, + font\r u, atd. z~pvodn distribuce. +\item [TEXMFLOCAL] Strom, kter mohou pout administrtoi na instalaci +doplkovch nebo upravench maker, font, atd., pro cel systm. +\item [TEXMFHOME] Strom, kter mohou pout uivatel na svoje osobn instalace +doplkovch nebo upravench maker, font, atd. + Rozen tto promnn se dynamicky nastav pro kadho uivatele na jeho vlastn osobn adres. +\item [TEXMFCONFIG] +Strom pouvan\'y nstroji + \verb+texconfig+, \verb+updmap+ a \verb+fmtutil+ na uloen + modifikovanch konfiguranch daj. Implicitn pod \envname{TEXMFHOME}. %$ +\item [TEXMFSYSCONFIG] Strom pouvan\'y nstroji \verb+texconfig-sys+, \verb+updmap-sys+ a \verb+fmtutil-sys+ na uloen modifikovanch konfiguranch daj. +\item [TEXMFVAR] Strom pouvan\'y programy \verb+texconfig+, + \verb+updmap+ a \verb+fmtutil+ na (cache) uloen runtime + daj jako jsou soubory formt a generovan map-soubory. + Implicitn pod \envname{TEXMFHOME}. %$ +\item [TEXMFSYSVAR] Strom pouvan\'y programy \verb+texconfig-sys+, + \verb+updmap-sys+, \verb+fmtutil-sys+ a tak \verb+tlmgr+, na (cache) uloen runtime + daj jako jsou soubory formt a generovan map-soubory. +\end{ttdescription} + + +\noindent +Standardn struktura je: +\begin{description} + \item[system-wide root] me obshnout vcensobn vydn \TL{}: + \begin{ttdescription} + \item[2007] Pedchoz vydn. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] Nynj vydn. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] binrky systmu \GNU/Linux + \item [...] + \item [universal-darwin] binrky systmu \MacOSX + \item [win32] binrky systmu Windows + \end{ttdescription} + \item [texmf] Toto je \envname{TEXMFMAIN}. + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, zamlen bt zachovn od vydn k~vydn. + \end{ttdescription} + \item[domovsk adres uivatele] (\texttt{\$HOME} nebo + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2007] Soukrom generovan a konfiguran daje pedchozho vydn. + \item[.texlive2008] Soukrom generovan a konfiguran daje aktulnho vydn. + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Osobn makra + \textit{atd.} + \end{ttdescription} +\end{description} + + +\subsection{Rozen \protect\TeX{}u} +\label{sec:tex.extensions} + +Samotn \TeX{} je zmrazen, krom ojedinlch oprav chyb. Stle je v~\TL\ ptomen jako program \prog{tex} a tak to zstane v~dohledn budoucnosti. \TL{} obsahuje nkolik rozench verz \TeX{}u: + +\begin{description} + +\item [\eTeX] pidv mnoinu novch +pkaz (nazvanch \TeX{}ov primitivy). +\label{text:etex} +Nov pkazy se napklad tkaj makroexpanze, natn znak, +td znaek (marks), rozench ladicch monost +a rozen \TeXXeT{} pro obousmrnou sazbu. Implicitn +je \eTeX{} 100\% kompatibiln se standardnm \TeX{}em. +Viz~\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. +%B% \eTeX{} je nyn szecm programem pro \LaTeX{} i pdf\LaTeX{}. + +\item [pdf\TeX] vybudovn na rozench \eTeX{}u pidv podporu +zpisu ve formtu \acro{PDF} stejn jako v~\dvi{}. + +%% This is the program +%% invoked for most formats, e.g., \prog{etex}, \prog{latex}, +%% \prog{pdflatex}. +%% See \url{http://www.pdftex.org/}. +%% \OnCD{texmf/doc/pdftex/manual/} for the manual, and +%% \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex} for example usage +%% of some of its features. + +Toto je program pouvan pro vtinu formt, napklad, \prog{etex}, \prog{latex}, +\prog{pdflatex}. Viz \url{http://www.pdftex.org/}, +nvod v~adresi \OnCD{texmf/doc/pdftex/manual/} a pklady pouit nkterch jeho vlastnost v~adresi +\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [Lua\TeX] je oznaovn za nstupce pdf\TeX/{}u, se kterm by ml bt zptn kompatibiln. Ml by tak nahradit Aleph, viz dle. Zabudovan interpret Lua (viz +\url{http://www.lua.org/}) umouje elegantn9 een mnoha oehavch +\TeX ovskch problm. Volan povelem \filename{texlua}, funguje jako samostatn interpret Lua, a jako tak je ji pouit v~rmci \TL. Viz \url{http://www.luatex.org/} a +\OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] pidv podporu vstupnho kdovn +Unicode a OpenType- a systmovch font, implementovanch pouitm zejmna knihoven tetch stran. +Viz \OnCD{texmf-dist/doc/xetex/XeTeX-reference.pdf}. + +\item [\OMEGA\ (Omega)] je zaloena na Unicode. Umouje szet v~tm vech +svtovch jazycch zrove. Dociluje toho tzv. +pekladovmi procesy (\OMEGA{} Translation Processes, +\acro{OTP}) pro realizaci sloitch transformac na jakmkoliv vstupu. Viz +\OnCD{texmf/doc-dist/omega/base/doc-1.8.tex} +(dokumentace vak nen zcela aktuln). + +\item [Aleph] kombinuje rozen \OMEGA\ a \eTeX. +Pro minimln dokumentaci viz \OnCD{texmf-dist/doc/aleph/base}. +\end{description} + + +\subsection{Dal za zmnku stojc programy na \protect\TeXLive} + +Na \TL{} najdete nkolik asto pouvanch program: + +\begin{cmddescription} + +\item [bibtex] podpora prce se seznamem literatury. + +\item [makeindex] vytven rejstku. Pro etinu a sloventinu +vak potebujete verzi programu s~nzvem \texttt{csindex} (nen zatm +soust distribuce, je poteba instalovat zvlṻ). + +\item [dvips] pro konverzi \dvi{} do \PS{}. + +\item [xdvi] prohle \dvi{} pro systm X~Window. + +\item [dvilj] \dvi{} ovlada tiskren HP Laser\-Jet. + +\item [dv2dt, dt2dv] pro konverzi \dvi{} do/z~ascii textu. + +\item [dviconcat, dviselect] pro kopii a vkldn strnek +do/z \dvi{} soubor. + +\item [dvipdfmx] konvertor \dvi{} do \acro{PDF}, alternativn +pstup vedle pdf\TeX{}u zmnnho ve. Srovnej balky +\pkgname{ps4pdf} a \pkgname{pdftricks} pro dal +alternativy. + +\item [psselect, psnup, \ldots] programy pro prci s~\PS{}em. + +\item [lacheck] pro kontrolu syntaxe \LaTeX{}u. + +\item [texexec, texmfstart] wrapper pro Con\TeX{}t a prci s~\acro{PDF}. + +\item [tex4ht] konvertor \TeX{}u do \acro{HTML}. + +\end{cmddescription} + + +\subsection{Fonty v~\protect\TL} +\label{sec:tl.fonts} + +\TL{} pin mnostv vysoce kvalitnch vektorovch % ?scalable fonts. +font. Viz \url{http://tug.org/fonts} a \OnCD{texmf-doc/english/free-math-fonts-survey}. + + +\section{Instalace} +\label{sec:install} + +\subsection{Sputn instalanho programu} +\label{sec:inst.start} + +Pro zatek si obstarejte \TK{} \DVD{} nebo si sthnte sov instalan program \TL{}, +a najdte instalan skript: \filename{install-tl} pro Unix, +\filename{install-tl.bat} pro Windows. + +\begin{description} +\item [Sov instaltor:] sthnte z~\CTAN{}u, z~adrese \dirname{systems/texlive/tlnet}; url +\url{http://mirror.ctan.org/systems/texlive/tlnet} vs automaticky pesmruje na blzk, aktuln mirror. +Mete zskat \filename{install-tl.zip}, kter me bt pouit pod Unixem a Windows nebo +\filename{install-unx.tar.gz}, kter je podstatn men, jenom pro Unix. Po rozbalen se \filename{install-tl} a +\filename{install-tl.bat} objev v~podadresi \dirname{install-tl}. + +\item [\DVD{} \TeX{} kolekce:] vejdte do podadrese \dirname{texlive}. +Pod Windows by se instaltor ml spustit automaticky po vloen \DVD. \DVD\ mete zskat, kdy se stanete lenem +skupiny uivatel \TeX u (vele doporuujeme, +\url{http://tug.org/usergroups.html}), nebo si ho zvlṻ zakoupte +(\url{http://tug.org/store}), anebo si vyplte svoje vlastn z~\ISO\ +obrazu (\url{http://tug.org/texlive/acquire.html}). + +\end{description} +Nsledujc sekce vysvtluj vechno podrobnji. + +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{Hlavn obrazovka textovho instalanho programu (\GNU/Linux)}\label{fig:text.main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Zkladn obrazovka \GUI{} instalanho programu (Windows)}\label{fig:gui.main} +\end{figure} + +\noindent +Dle, \texttt{>} oznauje vzvu (prompt shellu); vstup uivatele vstup je \Ucom{\texttt{zvraznn}}. +Po sputn terminlu v~Unixovskm systmu je nejjednodu zpsob: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Nebo mete vyvolat \Ucom{perl /path/to/installer/install-tl}, nebo +\Ucom{./install-tl} kdy je spustiteln, atd.; nechceme opakovat vechny tyto variace.) + +K~instalaci v~reimu \GUI\ (budete potebovat modul \dirname{Perl/TK}), pouijte: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +pln seznam rznch voleb zskte povelem: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Varovn o oprvnnch Unixu:} Vae nastaven \code{umask} v~ase instalace bude respektovno instalanm programem \TL{}. Proto, kdy chcete, aby byla vae instalace pouiteln i jinmi uivateli ne vmi, ujistte se, e jsou vae nastaven dostaten tolerantn, napklad, \code{umask +002}. Dal informace o nastaven \code{umask}, hledejte v~dokumentaci k~vaemu systmu. + +\subsubsection{Mac\,OS\,X} + +Jak ji bylo zmnno v~sekci~\ref{sec:tl-coll.dists}, pro \MacOSX je pipravena samostatn distribuce, nazvan Mac\TeX\ (\url{http://tug.org/mactex}). +Doporuujeme pout pvodn instalan program Mac\TeX\ u namsto instaltoru \TL\ +pod \MacOSX, protoe pvodn (nativn) instaltor me provst nkolik nastaven specifickch pro Mac, zejmna umouje snadn pepnn mezi rznmi distribucemi \TeX u pro \MacOSX\ (Mac\TeX, gw\TeX, +Fink, MacPorts, \ldots). + +Mac\TeX\ je siln zaloen na \TL, a hlavn \TeX ovsk stromov struktura je pesn stejn. Pidv nkolik dalch adres s~dokumentac a aplikacemi specifickmi pro Mac. + +\subsubsection{Windows} + +Jestlie pouvte sov instaltor, nebo instalan program \DVD\ se nespust automaticky, kliknte dvakrt na soubor \filename{install-tl.bat}. + +Mete tak spustit instalan program z~pkazovho dku. Dle \texttt{>} oznauje prompt shellu; vstup uivatele je \Ucom{\texttt{polotun}}. Pokus jste v~adresi instalanho programu, jenom spuste: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Mete to tak vyvolat zadnm absolutn polohy, jako napklad: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +pro \TKCS\ \DVD, za pedpokladu, e \dirname{D:} je optick disk. + +Pro instalaci v~textovm reimu pouijte: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +Pro pln seznam rznch voleb zadejte: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{Textov instalan program} + +Obrzek~\ref{fig:text.main} ukazuje zkladn obrazovku textovho reimu pod Unixem. + +Je to instaltor jenom s~pkazovm dkem; vbec nem kurzorovou podporu. Napklad, nemete se pohybovat v~zatrhvacch rmecch nebo vstupnch polch. Jenom napete nco (s~rozliovnm velikosti psma) na pkazovm dku a stlate klvesu Enter, pot se cel obrazovka pepe s~pizpsobenm obsahem. + +Rozhran textovho instaltoru je tak primitivn z~prostho dvodu: je +navren tak, aby se dalo spustit na tolika platformch jak je to jen +mon, dokonce i~v~Perlu (pro Windows je zaazena +podmoina Perlu). + +\subsubsection{Grafick instalan program} + +Obrzek~\ref{fig:gui.main} ukazuje grafick instaltor pod Windows. +Vtina rozdl ppustnch voleb je patrn z~obrazovky systmu Windows a z~pedchoz obrazovky systmu \GNU/Linux. + +\subsection{Sputn instalanho programu} +\label{sec:runinstall} + +Instaltor je zamlen jako co nejvce samovysvtlujc. Nicmn podme nkolik poznmek o jednotlivch volbch a dlch nabdkch: + +\subsubsection{Nabdka binrnch systm (pouze Unix)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k~[ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Nabdka binrek}\label{fig:bin.text} +\end{figure} + +Obrzek~\ref{fig:bin.text} ukazuje nabdku binrek textovho reimu. Standardn budou nainstalovny jenom binrky va aktuln platformy. Z~tto nabdky si rovn mete vybrat binrky pro jinou architekturu. Toto me bt uiten, pokud sdlte \TeX ovsk strom v~sti heterogennch stroj, nebo na systmu s~dvojitm zavdcm procesem. + +\subsubsection{Volba obsahu instalace} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +==================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Nabdka schmat}\label{fig:scheme.text} +\end{figure} + +Obrzek~\ref{fig:scheme.text} ukazuje nabdku schmat \TL; tady +vybrte ``schma'', co je souhrn kolekc balk. +Pedvolen schma \optname{full} nainstaluje ve, co je k~dispozici, avak +mete tak zvolit schma \optname{basic} pro mal systm, +\optname{minimal} pro ely testovn, a schma \optname{medium} nebo +\optname{teTeX} pro zskn neho mezi tm. K~dispozici jsou tak rzn +specializovan schmata a schmata specifick pro nkter zem. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Nabdka kolekc (Linux)}\label{fig:collections.gui} +\end{figure} + +Svj vbr schmatu mete upesnit pomoc nabdek `standard collections' a +`language collections' (obrzek~\ref{fig:collections.gui}, ukzan pro zmnu v~reimu \GUI). + +Kolekce jsou o jednu rove podrobnj ne schmata\Dash v~podstat, +schma je tvoeno nkolika kolekcemi, kolekci tvo jeden nebo vce +balk, a balk (nejni rove seskupvn v~\TL) obsahuje vlastn +soubory \TeX ovskch maker, soubory font, atd. + +Pokud chcete zskat vt kontrolu ne jakou poskytuje nabdka kolekc, po instalaci mete pout program \prog{tlmgr} (viz sekci~\ref{sec:tlmgr}); jeho pouitm mete dit instalaci na rovni balk. + +\subsubsection{Adrese} +\label{sec:directories} + +Standardn uspodn je popsno v~sekci~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. Standardn umstn adrese \dirname{TEXDIR} se li pro Windows +(|%PROGRAMFILES%\texlive\2008|) a Unix +(\dirname{/usr/local/texlive/2008}). + +Hlavn dvod pro zmnu tto pedvolby je nedostatek prv +na zpis pro standardn umstn. +Nemuste bt zrovna rootem nebo administrtorem, kdy instalujete \TL, ale potebujete oprvnn na zpis do clovho adrese. + +Logickou alternativou je adres uvnit vaeho domovskho adrese, zvlṻ kdy chcete bt vhradnm uivatelem. Na naznaen tohoto pouijte `|~|', jako napklad `|~/texlive/2008|'. + +Doporuujeme do nzvu zalenit rok, co umon zachovn rznch vydn \TL{} vedle sebe. (Mete chtt vytvoit nzev nezvisl na verzi, napklad \dirname{/usr/local/texlive-cur} pomoc symbolickho odkazu, kter me bt pozdji pepsn po pezkouen novho vydn.) + +Zmna \dirname{TEXDIR} v~instalanm programu vyvol tak zmny +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} a +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} je doporuen umstn osobnch soubor maker nebo balk. Pedvolen hodnota je |~/texmf|. Na rozdl od \dirname{TEXDIR}, je nyn |~| uchovna v~nov vytvoench konfiguranch souborech, protoe to uiten odkazuje na domovsk adres bcho \TeX u. Expanduje se na \dirname{$HOME} pod Unixem a \verb|%USERPROFILE%| pod Windows. + +\subsubsection{Volby} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Nabdka voleb (Unix)}\label{fig:options.text} +\end{figure} + +Obrzek~\ref{fig:options.text} ukazuje nabdku voleb textovho reimu. +Zde musme pipomenout ti volby: + +\begin{description} +\item[use letter size instead of A4 by default:] Obvykl vbr standardn velikosti papru. +Jednotliv dokumenty mohou deklarovat zvltn rozmr papru, pokud je to douc. + +\item[create all format files:] Pestoe si vytvoen nepotebnch formt +vyaduje as a diskov prostor pro uloen, nicmn doporuujeme nechat +tuto volbu vyznaenou: kdy ji nevyznate, budou formtov soubory +vytvoen v~osobnch stromech \dirname{TEXMFVAR} uivatel, kdy budou +zapoteb. Na tomto mst nebudou automaticky aktualizovan, kdy se budou +napklad obnovovat binrky nebo vzory dlen v~instalaci, co me +skonit nekompatibilnmi soubory formt. + +\item[create symlinks in standard directories] (pouze Unix): +Tato volba obchz potebu zmny promnnch prosted. Bez tto volby je potebn pidat adrese \TL{} do promnnnch + \envname{PATH}, \envname{MANPATH} a \envname{INFOPATH}. Budete muset pidlit prva na zpis clovm adresm. Nen rozumn pepsat \TeX ovsk systm, kter piel s~vam systmem s~touto volbou. Toto je v~prvn ad ureno k~vytven odkaz v~standarndch adresch, kter uivatel znaj, jako napklad \dirname{/usr/local/bin}, kter neobsahuj dn \TeX ovsk soubory. +\end{description} + +Te, kdy jsou vechna tyto nastaven podle vaeho vkusu, mete napsat +`I' a spustit instalan proces. Po dokonen peskote na +sekci~\ref{sec:postinstall}, kde se dozvte, co se m udlat, pokud vbec +nco. + + +\subsubsection{Nastaven spoutn z~DVD{} (pouze v~textovm reimu)} +\label{sec:fromdvd} + +K~vbru tto volby napite `|V|'. Toto zmn hlavn nabdku na nco podobnho jako ukazuje obrzek~\ref{fig:main.fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Hlavn nabdka s~uspodnm pro volbu \optname{from DVD}}\label{fig:main.fromdvd} +\end{figure} + +Vimnte si zmny: vechny volby k~instalaci zmizely, a st pro adrese se te zmiuje +o~\dirname{TEXDIRW} nebo zapisovatelnm koenu. Volba pro symbolick linky tak zmizela. + +Instalan program bude pod vytvet rzn adrese a konfiguran +soubory, ale nezkopruje \dirname{texmf}, +\dirname{texmf-dist} nebo \dirname{texmf-doc} na pevn disk. + +Poinstalan konfigurace pro Unix bude o nco sloitej, +protoe te se struktura adres odchyluje od standardu; viz +sekci~\ref{sec:postinstall}. + +V~dsledku asovch ohranien nen tato volba zapracovna do instalanho programu \GUI{}, ale je k~dispozici pro oba systmy Unix a Windows. Uivatel pod systmem Windows mus spustit instaltor z~pkazovho dku, viz sekci~\ref{sec:cmdline}. + +Oddl \ref{sec:portable.unix} popisuje schdnj cestu sputn \TL, kter nedl nebo nepoaduje zmny systmov konfigurace, ale ani dnou konfiguraci neumouje. + +\subsection{Instalan volby pkazovho dku} +\label{sec:cmdline} + +K~zobrazen voleb pkazovho dku napite +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +K~uveden nzvu volby mohou bt pouity |-| nebo tak |--|. +Nsleduj nejzajmavj volby: + +\begin{ttdescription} +\item[-gui] Podle monost pouijte \GUI{} instaltor. Toto si vyaduje modul + Perl/Tk (\url{http://tug.org/texlive/distro.html#perltk}); + pokud Perl/Tk nen k~dispozici, pokrauje instalace v~textovm reimu. +\item[-no-gui] Vynut si pouit instaltoru v~textovm reimu, dokonce i pod Windows; + mete to potebovat, pokud chcete spustit instalaci s~volbou `from \DVD', ponvad tato + nen k~dispozici v~reimu \GUI{}. +\item[-lang {\sl LL}] Specifikuje jazyk instalanho rozhran jako jeho standarn dvoupsmenov kd \textsl{LL}. +V~souasn dob jsou podporovny jazyky: anglitina (\texttt{en}, pedvolen), nmina + (\texttt{de}), francouztina (\texttt{fr}), nizozemtina (\texttt{nl}), poltina + (\texttt{pl}), slovintina (\texttt{sl}) a vietnamtina + (\texttt{vi}). Instalan program se sm pokus urit vhodn jazyk, ale kdy sele nebo kdy nen sprvn jazyk k~dispozici, pak pouije anglitinu jako nouzov een. +\item[-profile {\sl profile}] Instalan program vdycky ulo soubor + \filename{texlive.profile} do \dirname{2008/tlpkg}- nebo do podadrese + \dirname{tlpkg} va instalace. Tato volba zpsob, e se pouije + soubor \filename{texlive.profile}. + Tady je vpis: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + Takto mete pouitm tto volby v~dvkovm reimu instalovat \TeX\ na + dal systmy, se stejnmi volbami, jak jste uinili v~pvodn instalaci. +\item [-location {\sl url/path}] Specifikuje nestandardn zdroj pro balky; viz dle. +\end{ttdescription} + +\subsubsection{Promnn \optname{location}} +\label{sec:location} + +Hondota promnn \optname{location} me bt adresa url s~\texttt{ftp:}, +\texttt{http:} na zatku, nebo \texttt{file:/} url, nebo jednoduch cesta. +Pokud se dan argument nachz na lokln mechanice (jako cesta nebo \texttt{file:/} url), +automaticky je uren typ instalace (komprimovan nebo live): +pokud bude nalezen podadres \dirname{archive} obsahujc soubory \filename{.tar.lzma}, +tak bude pouit, dokonce i kdy budou k~dispozici tak nekomprimovan soubory. + +Kdy je zadno \texttt{http:} nebo \texttt{ftp:} umstn, koncov znaky `\texttt{/}' a/nebo koncov sloka `\texttt{/tlpkg}' jsou ignorovny. Napklad, mete si zvolit urit zrcadlo \CTAN u nm jako: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}, +pochopiteln s~nahrazenm vhodnho jmna hostitele (hostname) a jeho konkrtn koenovou cestou +\CTAN u (seznam zrcadel \CTAN u je udrovn na \url{http://ctan.org/mirrors}) +namsto |ctan.example.org/tex-archive|. Implicitn je automatick vbr zrcadla, pouitm +\url{http://mirror.ctan.org}; v~kadm ppad je zvolen hostitel pouit pro veker download. + + +\subsection{Poinstalan innosti} +\label{sec:postinstall} + +Po instalaci se mohou hodit nkter dal pravy. + +\subsubsection{Windows} + +Avak pod Windows se instalan program o~ve postar. + +\subsubsection{Pokud byly vytvoeny symbolick odkazy} + +Pokud jste zvolili vytvoen symbolickch odkaz v~standardnch adresch (zmnnch v~sekci~\ref{sec:options}), pak nen poteba editovat promnn prosted. + + +\subsubsection{Promnn prosted pro Unix} +\label{sec:env} + +Adres binrek pro vai platformu mus bt pidn k~vyhledvacm cestm. +Kad podporovan platforma m svj vlastn podadres pod \dirname{TEXDIR/bin}. Seznam podadres a odpovdajcch platforem viz na obrzku~\ref{fig:bin.text}. + +Mete rovn pidat dokumentan manulov strnky (man) a adrese Info k~jejich +psluejcm vyhledvacm cestm, kdy chcete, aby je naly systmov nstroje. + +Napklad pro Bourne-kompatibiln shell, jako je \prog{bash} a pouvan Intel x86 +GNU/Linux se standardnm nastavenm adres, me bt vhodn editovat soubor + \filename{$HOME/.profile}. + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +Pro \prog{csh} nebo \prog{tcsh} je editovan soubor typicky \filename{$HOME/.cshrc} a +dky k~pidn mou vypadat jako: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + + +\subsubsection{Promnn prosted: globln konfigurace} +\label{sec:envglobal} + +Volba, zda uinit tyto zmny globln, anebo pro uivatele prv +pidanho do systmu, je na vs; existuje pli mnoho variac mezi +systmy, kde a jak se tato nastaven provdj. + +Nae dv rady jsou: 1)~mete chtt vyhledat soubor +\filename{/etc/manpath.config} a pokud existuje, pidejte dky jako + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + +A 2)~vyhledejte soubor \filename{/etc/environment}, kter me definovat vyhledvac cestu a dal standardn promnn prosted. + +\subsubsection{Pi sputn \protect\TL{} z~DVD} + +Program \TL{} obyejn nahldne do souboru \filename{texmf.cnf} pro +umstn rznch strom. Hled tento soubor v~ad mst vztahujcch se +k~jeho vlastnmu umstn. Nicmn, toto schma selhv, kdy je program +spoutn z~\DVD{}: \DVD{} je pouze ke ten. %read-only. +Nkter cesty zaznamenan v~\filename{texmf.cnf} jsou znm jen bhem +instalace, tud tento soubor neme bt na \DVD{} a mus bt umstn +nkde jinde. To si vynucuje definovat promnnou prosted +\envname{TEXMFCNF}, kter sdl programm \TL{}, v~kterm adresi je +mon najt tento soubor \filename{texmf.cnf}. +Pesto je tak nutn upravit promnnou prosted \envname{PATH}, jak bylo +popsno dve. + +Na konci instalace by instalan program ml vytisknout hlen o~hodnot, +na kterou se m nastavit promnn \envname{TEXMFCNF}. Jestlie jste ji +minuli: tato hodnota je \dirname{$TEXMFSYSVAR/web2c}. Na pedvolbu +\dirname{/usr/local/texlive/2008/texmf-var/web2c} potebujete dky +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +nebo, pro [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + +\subsubsection{\ConTeXt{} Mark IV} + +`Star' \ConTeXt{} by ml skonit. %should run out of the box. +Nov \ConTeXt{} `Mark IV' +si vyd run nastaven; viz +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Zaleovn loklnch a osobnch maker} +\label{sec:local-personal.macros} + +Toto je ji implicitn zmnno v~sekci~\ref{sec:texmftrees}: +adres \dirname{TEXMFLOCAL} (standardn \dirname{/usr/local/texlive/texmf-local} nebo +\verb|C:\Program Files\texlive\texmf-local|) +je uren pro rozshl systmov % system-wide +lokln fonty a makra; a adres +\dirname{TEXMFHOME} (standardn \dirname{$HOME/texmf} nebo +\verb|%USERPROFILE%\texmf|), je pro osobn fonty a makra. + +Pro oba stromy mus bt soubory umstn v~patinch podadresch; +viz \url{http://tug.org/tds} nebo nahldni do souboru +\filename{texmf/web2c/texmf.cnf}. Napklad, \LaTeX{}ovsk soubor tdy % class file or +nebo balk by ml bt umstn v~\dirname{TEXMFLOCAL/tex/latex} nebo +\dirname{TEXMFHOME/tex/latex}, nebo v~jejich podadresi. + +\dirname{TEXMFLOCAL} vyaduje aktuln databzi jmen soubor, jinak +nebudou soubory nalezeny. +Mete ji obnovit povelem \cmdname{mktexlsr} nebo pout tlatko +`Reinit file database' na konfiguran zloce \prog{tlmgr} v~reimu \GUI. + +\subsubsection{Zaleovn font tetch stran} + +Toto je nanetst velice komplikovan a deliktn tma. +Vyhnte se tomu, pokud nejste expert. +Prohldnte si nejdve fonty, kter jsou zadarma soust distribuce, +viz sekci~\ref{sec:tl.fonts}. + +Monou alternativou je pouit \XeTeX u (viz sekci~\ref{sec:tex.extensions}), kter vm +umon pouvat fonty operanho systmu bez jakkoliv instalace v~\TeX u. + + +\subsection{Testovn instalace} +\label{sec:test.install} + +Po nainstalovn \TL{} pirozen chcete +systm otestovat a zat vytvet ndhern dokumenty nebo fonty. + +Tento oddl popisuje zkladn postupy testovn funknosti novho +systmu pod Unixem. Pod \MacOSX{} a +Windows budete patrn spoutt testy pes uivatelsk grafick rozhran +(\acro{GUI}), ale principy jsou stejn. + +\begin{enumerate} +\item Nejprve ovte, zda se spust program \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} +Pokud obdrte hlku s~`command not found' msto ve uvedenho, nebo se +star verz, patrn nemte nastaven sprvn podadres +\dirname{bin} v~promnn prosted \envname{PATH}. Vrate se +k~informacm o~jejich nastavovn na stran~\pageref{sec:env}. + +\item Pelote ukzkov soubor \LaTeX{}u: +\begin{alltt} +> \Ucom{latex sample2e.tex} +> This is pdfeTeXk, Version 3.1415926... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Pokud sele nalezen souboru \filename{sample2e.tex} nebo jinch +soubor, nejspe mte aktivn star nastaven promnnch prosted nebo +konfiguranch soubor; pro zatek doporuujeme zruit nastaven vech promnnch prosted souvisejcch s~\TeX{}em. +Pro hlub analzu a dohledn problmu mete kdykoliv podat +\TeX{} o detaily toho, co a kde hled: viz \uv{Ladic innosti} +na stran~\pageref{sec:debugging}. + +\item Prohldnte si vsledek na obrazovce: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Pod Windows je analogick pkaz \cmdname{dviout}.) Mlo by se +otevt nov okno s~pknm dokumentem popisujcm zklady +\LaTeX{}u. (Mimochodem, stoj za peten, pokud zante.) +Muste mt sputny +X~Window, aby \cmdname{xdvi} pracovalo. Pokud tomu tak nen nebo mte +patn nastavenou promnnou prosted +\envname{DISPLAY}, dostanete chybovou hlku `Can't open display'. + +\item Vytvote \PS{}ov soubor pro tisk nebo prohlen: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Vytvote \acro{PDF} soubor msto \dvi{}; tento pkaz +ze~souboru \filename{.tex} vytvo \acro{PDF} pmo: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Prohldnte si \acro{PDF} soubor: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{nebo:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Bohuel ani \cmdname{gv} ani \cmdname{xpdf} nejsou v~souasn dob na +\TL{} a muste je instalovat separtn. Viz +\url{http://www.gnu.org/software/gv} a +\url{http://www.foolabs.com/xpdf}. (Existuje tak velk mnostv jinch prohle \acro{PDF}.) + +\item Standardn testovac soubory, kter mohou bt uiten krom \filename{sample2e.tex}: + +\begin{ttdescription} +%B% \item [docstrip.tex] Vytvoen \TeX{}ovho zdroje i dokumentace ze +%B% souboru~\samp{.dtx}. +\item [small2e.tex] Ukzkov dokument, jet krat ne +\filename{sample2e}. +\item [testpage.tex] Test, jestli vae tiskrna neposunuje tiskov zrcadlo. +\item [nfssfont.tex] Pro tisk tabulek font a test font. +\item [testfont.tex] Pro tot, ale pro plain \TeX{}. +\item [story.tex] Zkladn (plain) \TeX{}ov testovac soubor. +Muste napsat \samp{\bs bye} na vzvu \code{*} po \samp{tex +story.tex}. +\end{ttdescription} +\end{enumerate} + +Pokud jste \TeX{}ov zatenk nebo potebujete pomoc se psanm +\TeX{}ovch, respektive \LaTeX{}ovch dokument, navtivte +\url{http://tug.org/begin.html}, kde najdete vodn informace +k~instalaci. + +\section{Sov instalace} +\label{sec:netinstall} + +\TL{} byl navren pro sdlen mezi rznmi uivateli, nebo dokonce pro rzn systmy na sti. +Se standardn strukturou adres se nekonfiguruj dn % no hard paths are configured +pevn cesty: umstn soubor potebnch pro programy \TL{} +je definovno relativn k~umstnm tchto program. Mete to najt v~innosti v~konfiguranm souboru +\filename{$TEXMFMAIN/web2c/texmf.cnf}, kter obsahuje dky jako jsou +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +To znamen, e jin systmy nebo jin uivatel potebuj pouze pidat ke +sv vyhledvac cest adres binrek \TL{} pro jejich platformu. + +%By the same token, +Stejnm zpsobem mete nainstalovat \TL{} lokln a pak pesunout celou hierarchii pozdji na msto na sti. + +Pochopiteln, uivatel pod Windows maj jin oekvn. Adres +\dirname{texmf-doc/source/texlive/texlive-common/w32client} obsahuje vzorov skript \filename{install-w32client}, +kter vytv nastaven a nabdkov zkratky k~uvn stvajc instalace \TL{} na +\acro{LAN}. Pouv se to pomoc dvkovho souboru +\filename{install-w32client.bat} ve stejnm adresi. + +Vc o konfiguraci \TL{} a vyhledvn cest si mete pest v~sekci~\ref{sec:kpathsea}. + + +\section{Maximln mobiln \protect\TL{} na DVD a USB} +\label{sec:portable.unix} + +Volba `running from \DVD{}' (spoutn z~\DVD{}) popsan v~sekci~\ref{sec:fromdvd} +je skvl pro v systm, ale kdy jste hostem na systmu nkoho jinho, +pak by se vm mon lbilo nco s~nejmenmi vedlejmi inky. + +V~koenovm adresi \TL{} \DVD, nebo v~podadresi \dirname{texlive} \TKCS{} \DVD, jsou skripty \filename{tl-portable} (Unix) a dvkov soubory +\filename{tl-portable.bat} (Windows), kter spout shell s~nastavenm prosted odpovdajcm pmmu pstupu \TL{} na \DVD. + +Pi prvnm sputn budou vygenerovny nkter soubory v~adresi +\dirname{~/.tlportable2008}, co zabere jist krtk as. +Nicmn, pi nslednch spoutnch zane tm okamit. + +Zbytek systmu si \TL{} nebude uvdomovat. Pokud chcete, aby byl v editor informovan o~tomto \TL, pak ho mete spustit z~druh, paraleln, stejn \filename{tl-portable} relace. + +Skripty \filename{tl-portable} mete tak pout na sputn \TL{} z~\acro{USB} kle. V~tomto ppad zkoprujte (pinejmenm) vechny soubory na nejvy urovni a obsah adres \dirname{bin}, \dirname{texmf}, +\dirname{texmf-dist} a \dirname{tlpkg} na kl. To me njak as zabrat! +Pokud koprujete na \acro{USB} kl formtovan jako \acro{FAT}32, nezapomete zruit %dereference +symbolick odkazy (\code{cp -L}). Adres \dirname{texmf-local} na kli +bude tak nalezen a pouit. + +Pak spuste skript \filename{tl-portable} z~koenovho adrese kle, jak bylo uvedeno ve. +V~tom ppad bude skript vnmat kl jako zapisovateln a pouije ho pro vytvoen soubory. + + + +\section{\cmdname{tlmgr}: sprva va instalace} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} v~reimu \GUI. Seznam balk/kolekc/schmat se uke a po kliknut na tlatko `Load'.}\label{fig:tlmgr.gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} v~reimu GUI: konfiguran zloka}\label{fig:tlmgr.config} % Configuration tab +\end{figure} + +Instalan program nainstaluje program nazvan \prog{tlmgr} pro sprvu \TL{} +po vchoz instalaci. Programy \prog{updmap}, +\prog{fmtutil} a \prog{texconfig} jsou dosud zahrnut a zstanou i v~budoucnosti, avak preferovanm rozhranm je nyn \prog{tlmgr}. +Jeho schopnosti zahrnuj: + +\begin{itemize*} +\item vpis seznam schmat, kolekc a balk; +\item instalaci, aktualizaci, zlohovn, obnoven a odinstalovn jednotlivch balk, voliteln se zapotnm zvislost; % optionally taking dependencies into account; +\item vyhledvn balk; +\item vpis seznamu a pidn architektur; +\item zmna instalanch voleb jako napklad velikosti papru a umstn zdroj (viz sekci~\ref{sec:location}). +\end{itemize*} +\textit{Varovn:} \prog{tlmgr} nebyl uren pro nebo testovan s~instalacemi, kter jsou spoutn z~\DVD. + +\subsection{GUI reim \cmdname{tlmgr}} +\prog{tlmgr} me bt sputn v~reimu \GUI{} povelem +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +nebo ve Windows prostednictvm Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. Po kliknut na `Load' +se zobraz seznam balk, kter jsou k~dispozici, a nainstalovanch +balk\Dash posledn zmnn jsou oznaeny `(i)'. Pochopiteln se +pedpokld, e instalan zdroj je platn a dosaiteln. +Obrzek~\ref{fig:tlmgr.config} ukazuje konfiguran zloku. + + +\subsection{Vzorov realizace \cmdname{tlmgr} z~pkazovho dku} + +Tento pklad pid nkolik balk, vetn novho `motoru' (`engine'), z~nestandardn lokace: + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +Vytvo nsledujc vstup: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +Jak vidte, \prog{tlmgr} nainstaluje zvislosti a postar se o~vechny potebn poinstalan innosti, vetn aktualizace databze nzv soubor a (znovu)vygenerovn formt. (Tady jsme vytvoili nov formty pro \XeTeX.) + +Tento pklad instaluje nov jazyk. I toto spust znovuvytvoen formt: +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +K~popisu balku zadejte: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +co vytvo +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +Aktualizace cel vai instalace na nejnovj dostupn verze: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Pokud vs to znepokojuje, zkuste nejdve +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +nebo +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +Pro plnou dokumentaci: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Poznmky o Windows} +\label{sec:windows} + +\TL\ m jedin instalan program, kter b na obou systmech Windows +a Unix. Toto bylo mon jenom snenm podpory starch verz Windows, +proto je mon instalovat \TL{} pouze na Windows 2000 a novj. + + +\subsection{Vlastnosti typick pro Windows} %Windows-specific features +\label{sec:winfeatures} + +Pod Windows dl instalan program nkter dodaten vci: +\begin{description} +\item[Nabdky a zkratky.] Je nainstalovna nov poloka `\TL{}' nabdky + Start, obsahujc vstupy pro nkter programy \GUI{} + (\prog{tlmgr}, \prog{texdoctk}, prohle PostScriptu PS\_View) + a trochu dokumentace. PS\_View tak zskv ikonku na pracovn ploe jako %a drag-and-drop + cl pro PostScriptov soubory. +\item[Automatick nastaven promnnch prosted.] dn run konfiguran kroky nejsou potebn. +\item[Odinstaltor.] Instalan program vytvo poloku pro \TL{} pod nabdkou `Add/Remove + Programs'. Vztahuje se k~tomu zloka `Uninstallation' programu \prog{tlmgr}. +\end{description} + +\subsection{Dodaten obsaen software} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: k~dispozici jsou velmi vysok zvten!}\label{fig:psview} +\end{figure} + + +Pro plnost, instalace \TL{} potebuje dal balky a programy, +kter na stroji s~Windows obvykle nenajdete. + +\TL{} poskytuje chybjc sousti: +\begin{description} +\item[Perl a Ghostscript.] Kvli dleitosti Perlu a Ghostscriptu + zahrnuje \TL{} `skryt' kopie tchto program. + Programy \TL{}, kter je potebuj, vd, kde je najdou, ale + neprozrazuj jejich ptomnost nastavenm promnnch prosted nebo + registr. Nejsou to pln distribuce a nemly by peket dnm + systmovm instalacm Perlu nebo Ghostscriptu. +\item[Nstroje pkazovho dku.] ada bnch Unixovch program zench z~pkazovho dku je nainstalovanch pod Windows spolu s~bnmi binrkami \TL. Tyto zahrnuj programy \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} a pomcky pkazovho dku %command-line utilities + ze skupiny \cmdname{xpdf}. (Samotn prohle \cmdname{xpdf} nen k~dispozici pro Windows, ale je na nm zaloen prohle \acro{PDF} Sumatra: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] pomh \XeTeX{}u efektivnji zachzet s~fonty. +\item[PS\_View.] PS\_View, nov prohle PostScriptu s~volnou (free) licenc, je tak nainstalovn; viz obrzek~\ref{fig:psview}. +\end{description} +\begin{description} +\item[Podprn adres \texttt{support},] ji zmnn v~sekci~\ref{sec:tld}. +Tento adres obsahuje rozlin programy, kter mou bt uiten ve spojen s~\TeX{}em, zvlt nkolik editor zamench na \TeX{} %\TeX-aware editors +a \TeX{}ovskch pomcek (frontends). % frontends. +Software v~tomto adresi nen pokryt instaltorem. Tento adres obsahuje t prohle \dvi{} \cmdname{dviout}; viz nsledujc sekci. +\end{description} + + +\subsection{The Dviout previewer} + +Bohuel toto vydn \TL{} nenabz nainstalovan prohle \dvi{} soubor pro Windows. Nicmn, mete si nainstalovat \prog{dviout} od +Toshio Oshimy z~adrese \path{support/dviout/}, kter obsahuje rovn mal soubor \filename{README} popisujc instalaci a konfiguraci \prog{dviout} pro \TL. Pette si ho, prosm, peliv ped instalac. + +V~prvn ad, kdy si prohlte soubory pomoc \cmdname{dviout}, vytvo tento fonty, protoe obrazovkov fonty nebyly nainstalovny. Po chvli budete mt vytvoenou vtinu vmi pouvanch font a mlokdy uvidte okno s~vytvenm font. +Dal informace je mon najt ve (velmi dobr) on-line npovd. + + +\subsection{Odkazy na dodaten software s~monost staen z~internetu} + +Url adresy nkterch dalch nstroj, kter mete mt v~myslu instalovat: + +\begin{description} +\item[\GS{}] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} s~pomocnmi balky z~\acro{CPAN}u: \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com/} ke zpracovn a konverzi grafiky +\item[NetPBM] \url{http://netpbm.sourceforge.net/} tak pro grafiku +\item[\TeX{}ov editory] Mte irok vbr a je to + individuln volba. Monosti jsou napklad tyto, bez zvltnho uspodn: + \begin{itemize*} + \item \cmdname{GNU Emacs} m pro Windows nativn podporu na + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{Emacs} s~Auc\TeX{}em pro Windows je k~dispozici na \TL{} v~adresi \path{support}; jeho domovsk strnka je \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} je dostupn na \TL{} v~adresi + \path|support|, jeho domovsk strnka je \url{http://www.winshell.de/} + \item \cmdname{WinEdt} je shareware dostupn na \url{http://www.winedt.com/} + \item \cmdname{Vim} je voln editor do\-stup\-n z~\url{http://www.vim.org/} + \item TeXnicCenter je voln softvr, kter zskte na\\ \url{http://www.toolscenter.org/} a v~distribuci pro\TeX t. \item \cmdname{LEd} je dostupn z~\url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} je dostupn z~\url{http://www.scintilla.org/SciTE.html}. + \end{itemize*} +\end{description} + + +\subsection{User Profile je Home} +\label{sec:winhome} + +Windowsovsk protjek domovskho (home) adrese Unixu je adres +\verb|%USERPROFILE%|. Pod Windows XP a Windows 2000 je to obvykle +\verb|C:\Documents and Settings\<username>| a pod Windows Vista +\verb|C:\Users\<username>|. V~souboru +\filename{texmf.cnf} a obecn pro \KPS{}, se bude \verb|~| expandovat +pimen v~obou systmech Windows a Unix. + + +\subsection{Registry Windows} +\label{sec:registry} + +Windows ukld tm vechny konfiguran daje do svch registr. Registr +obsahuje soubor hierarchicky uspodanch kl, s~nkolika koenovmi kli. +Nejdleitj pro instalan programy jsou strun eeno +\path{HKEY_CURRENT_USER} a \path{HKEY_LOCAL_MACHINE}, \path{HKCU} a +\path{HKLM}. st \path{HKCU} registra je v~domovskm adresi uivatele (viz sekci~\ref{sec:winhome}). \path{HKLM} je obvykle v~podadresi adrese Windows. + +V~nkterch ppadech je mon zskat systmov informace z~promnnch +prosted, ale pro dal informace, kupkladu umstn zkratek, je nutn +nahldnout do registr. Trval nastaven promnnch prosted si rovn +vyaduje pstup k~registrm. + + +\subsection{Oprvnn Windows} +\label{sec:winpermissions} + +V~novjch verzch Windows se dl rozdl mezi bnmi uivateli a +administrtory, kdy pouze posledn zmnn maj voln pstup k~celmu +operanmu systmu. Ve skutenosti mete tyto tdy uivatel radji +oznait jako neprivilegovan uivatel a normln uivatel: bt +administrtorem je pravidlo, ne vjimka. Pesto jsme se snaili uinit +\TL{} instalovatelnm bez administrativnch vsad. + +Pokud je uivatel administrtor, odkazy (shortcuts) se vytvej pro +vechny uivatele a systmov prosted se upravuje. Jinak jsou odkazy a +poloky nabdky vytveny pro aktulnho uivatele a upravuje se prosted +uivatele. Pouijte volbu \optname{non-admin} pro \prog{install-tl}, pokud +upednostujete nastaven podle uivatele dokonce jako administrtor. + +Bez ohledu na status administrtora je standardn koenov adres \TL{} +navren instalanm programem vdycky pod \verb|%PROGRAMFILES%|. +Instaltor stle testuje, zda je root zapisovateln pro aktulnho +uivatele. + +Problm se me vyskytnout, pokud uivatel nen administrtor a \TeX{} ji +existuje ve vyhledvac cest. Protoe skuten cesta se sestv ze +systmov cesty nsledovan uivatelskou cestou, nov \TL{} nikdy nezsk +pednost. +Jako dsledek %As a workaround, +Toto instaltor obchz vytvoenm odkaz na pkazov dek +(command-prompt), ve kterm je adres binrek novho \TL{} +pedazen lokln vyhledvac cest. Nov \TL{} bude pouiteln, kdy +bude bet v~relaci pkazovho dku sputn z~takovho odkazu. + +\begin{otherlanguage}{slovak} +\frenchspacing +% don't use \Webc so the \uppercase in the headline works. +\section{Pouvatesk prruka ku systmu Web2C} +\Webc{} obsahuje mnoinu \TeX-prbuznch programov, t.j.\ samotn \TeX{}, +\MF{}, \MP, \BibTeX{}, at. Je to srdce systmu \TL{}. Domovsk strnka \Webc{}, +s~aktulnou prrukou a almi vecami, je +\url{http://tug.org/web2c}. + +Trochu histrie: originlna implementcia pochdza +od Thomasa Rokickho, ktor v~roku 1987 vyvinul prv +\TeX{}-to-C systm zaloen na zmenovch sboroch systmu pre Unix, ktor +boli v~prvom rade pvodnou prcou Howarda Trickeya a Pavla Curtisa. +Tim Morgan +sa stal spravovateom systmu a poas jeho obdobia sa meno zmenilo +na Web-to-C\@. V~roku 1990 Karl Berry prebral tto prcu, +asistoval pri tuctoch dodatonch prspevkov a v~roku 1997 podal +taktovku Olafovi Weberovi, ktor ju v~roku 2006 vrtil Karlovi. + +\Webc{} systm be pod Unixom, 32bitovmi Windows, +\acro{MacOSX} a inmi operanmi systmami. Pouva originlne +\TeX{} zdrojov sbory od Knutha a ostatn zkladn programy napsan +v~systme kultivovanho programovania \web{}, ktor s preloen do zdrojovho kdu jazyka C. +Zkladn programy \TeX{}u s spracovan tmto spsobom: +\begin{description} +\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Spravovanie bibliografi. +\item[dmp] Konverzia \cmdname{troff} do MPX (\MP{} obrzky). +\item[dvicopy] Vytvranie modifikovanej kpie \dvi{} sboru. +\item[dvitomp] Konverzia \dvi{} do MPX (\MP{} obrzky). +\item[dvitype] Konverzia \dvi{} do udsky itatenho textu. +\item[gftodvi] Generovanie fontov pre nhad. +\item[gftopk] Konverzia gf formtu fontov do pakovanch fontov. +\item[gftype] Konverzia gf formtu fontov do udsky itatenho textu. +\item[makempx] \MP{} znakov sdzanie. +\item[mf] \MF{} -- vytvranie rodn fontov. +\item[mft] Preddefinovan \MF ov zdrojov sbory. +\item[mpost] \MP{} -- tvorba technickch diagramov. +\item[mpto] \MP{} -- znakov vber. +\item[newer] Porovnanie modifikanch asov. +\item[patgen] Vytvarnie vzorov rozdeovania slov. +\item[pktogf] Konverzia pakovanch formtov fontov do +gf formtov. +\item[pktype] Konverzia pakovanch psiem do udsky itatenho textu. +\item[pltotf] Konverzia `Property list' do TFM. +\item[pooltype] Zobrazovanie \singleuv{\web{} pool} sborov. +\item[tangle] Konverzia \web{} sborov do Pascalu. +\item[tex] \TeX{} -- sadzba. +\item[tftopl] Konverzia TFM do `property list'. +\item[vftovp] Konverzia virtulneho fontu do virtulneho `property list'. +\item[vptovf] Konverzia virtulneho `property list' do virtulneho fontu. +\item[weave] Konverzia \web{} sborov do \TeX u. +\end{description} +\noindent Presn funkcie a syntax tchto programov s popsan +v~dokumentcich jednotlivch balkov alebo v~dokumentcii +\Webc{}. Napriek tomu, poznanie niekokch princpov, ktor +platia pre cel balk programov, vm pome vyai o najviac +z~vaej \Webc{} intalcie. + +Vetky programy dodriavaj tandardn \GNU{} voby: + +\begin{description} +\item[\texttt{--help}] Vypisuje prehad zkladnho pouvania. +\item[\texttt{--verbose}] Vypisuje detailn sprvu spracovania. +\item[\texttt{--version}] Vypisuje informciu o~verzii, potom skon. +\end{description} + +Na vyhadvanie sborov pouvaj \Webc{} programy prehadvaciu +kninicu \KPS{} (\url{http://tug.org/kpathsea}). +Tto kninica pouva kombinciu premennch +prostredia a niekokch konfiguranch sborov na optimalizciu +prehadvania adresrovho stromu \TeX u{}. \Webc{} zvldne +prcu s~viacermi adresrovmi stromami sasne, o je +uiton, ak niekto chce udriava tandardn distribciu \TeX u a jeho +loklne a osobn rozrenia v~rozlinch stromoch. Na urchlenie +vyhadvania sborov, kore kadho stromu obsahuje sbor +\file{ls-R} so zznamom obsahujcim meno a relatvnu cestu ku +vetkm sborom umiestnenm pod tmto koreom. + +\subsection{Vyhadvanie ciest kninicou Kpathsea} +\label{sec:kpathsea} + +Najprv popeme veobecn mechanizmus vyhadvania ciest +kninicou \KPS{}. + +\emph{Vyhadvacou cestou} nazveme zoznam \emph{elementov cesty}, +ktormi s v~prvom rade men adresrov +oddelen dvojbodkou alebo bodkoiarkou. +Vyhadvacia cesta me pochdza z~viacerch zdrojov. +Pri vyhadvan sboru \samp{my-file} poda cesty \samp{.:/dir}, +\KPS{} skontroluje kad element cesty: najprv \file{./my-file}, +potom \file{/dir/my-file}, vracajc prv zodpovedajci njden +prvok (alebo prpadne vetky zodpovedajce prvky). + +Aby bolo dosiahnut prispsobenie sa konvencim o mono najviac +operanch systmov, na neunixovch systmoch \KPS{} me pouva +oddeovae nzvov sborov rzne od dvojbodky (\samp{:}) a +lomtka (\samp{/}). + +Pri kontrolovan uritho elementu cesty \var{p} \KPS{} najprv +over, i sa na na nevzahuje vopred vybudovan databza (pozri +\singleuv{Data\-bza nzvov sborov} na +strane~\pageref{sec:filename.database}), t.\,j., i sa databza nachdza +v~adresri, ktor je prefixom \var{p}. Ak to tak je, pecifikcia +cesty sa porovnva s~obsahom databzy. + +Ak databza neexistuje, alebo sa nevzahuje na tento element cesty, alebo +sa v~nej hadan sbor nevyskytuje, cel systm sborov je prehadan +(pokia to nebolo zakzan pecifikciou zanajcou \samp{!!} a +hadan sbor mus existova). \KPS{} zostroj zoznam adresrov +zodpovedajcich tomuto elementu cesty a potom skontroluje kad +z~nich, i sa v~om nenachdza hadan sbor. + +Podmienka \singleuv{sbor mus existova\kern1pt} sa tka napr.\ sborov typu +\samp{.vf} a vstupnch sborov tanch prkazom \TeX u \cs{openin}. +Takto sbory nemusia existova (napr.\ \file{cmr10.vf}) a nebolo +by dobr prehadva kvli nim cel disk. Preto, ak zabudnete +aktualizova \file{ls-R} pri intalcii novho \samp{.vf} sboru, +sbor nebude nikdy njden. Kad element cesty sa prekontroluje: najprv +databza, potom disk. Ke je sbor njden, vyhadvanie sa zastav +a vsledok je vrten. + +Hoci najjednoduch a najbenej element cesty je meno adresru, +\KPS{} podporuje aj in zdroje vo vyhadvacch cestch: dedin +(layered) tandardn hodnoty, men premennch prostredia, hodnoty +sboru \file{config}, domce adresre pouvateov a rekurzvne +prehadvanie podadresrov. Preto, ak hovorme, e \KPS{} +\emph{rozbal} element cesty, znamen to, e pretransformuje vetky +pecifikcie do zkladnho mena alebo mien adresrov. Toto je +popsan v~nasledujcich odsekoch. + +Vimnite si, e ke je meno hadanho sboru vyjadren absoltne +alebo explicitne relatvne, t.\,j.\ zana \samp{/} alebo \samp{./} +alebo \samp{../}, \KPS{} jednoducho skontroluje, i tak sbor +existuje. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Ilustran prklad konfiguranho sboru} + \label{fig:config.sample} +\end{figure*} +\fi + +\subsubsection{Zdroje cesty} +\label{sec:pathsources} + +Vyhadvacia cesta me by vytvoren z~rznych zdrojov. +\KPS{} ich pouva v~tomto porad: +\begin{enumerate} +\item + Pouvateom nastaven premenn prostredia, naprklad \envname{TEXINPUTS}\@. + Premenn prostredia s~pridanou bodkou a menom programu maj prednos pred + premennmi rovnakho mena, ale bez prpony. + Naprklad, ke \samp{latex} je meno prve beiaceho programu, potom + premenn \envname{TEXINPUTS.latex} prepe \envname{TEXINPUTS}. +\item + Programovo-pecifick konfiguran sbor, naprklad riadok + \singleuv{\texttt{S /a:/b}} v~sbore \file{config.ps} \cmdname{dvips}. +\item Konfiguran sbor \KPS{} \Dash{} \file{texmf.cnf}, obsahujci riadok + ako \samp{TEXINPUTS=/c:/d} (pozri alej). +\item Predvolen hodnoty poas kompilcie. +\end{enumerate} +\noindent Vetky tieto hodnoty vyhadvacej cesty mete prezera +pouitm ladiacch monost (pozri \singleuv{Ladenie} na +strane~\pageref{sec:debugging}). + +\subsubsection{Konfiguran sbory} +\tolerance=3500 +\KPS{} ta poas behu z~\emph {konfiguranch sborov} +s~menom \file{texmf.cnf} vyhadvaciu cestu a alie defincie. +Vyhadvacia cesta pouvan na hadanie tchto sborov sa +vol \envname{TEXMFCNF} (v~predvolenom nastaven sa tento sbor +nachdza v~podadresri \file{texmf/web2c}). \emph{Vetky} sbory +\file{texmf.cnf} vo vyhadvacej ceste bud pretan a defincie +v~poslednch natanch sborov maj prednos pred definciami +tanmi predtm. Preto pri vyhadvacej ceste \verb|.:$TEXMF|, hodnoty +z~\file{./texmf.cnf} prepu hodnoty z~\verb|$TEXMF/texmf.cnf|. +\tolerance=1500 + +\begin{itemize} +\item + Komentre zanaj znakom \singleuv{\texttt{\%}} a pokrauj do konca + riadku. +\item + Przdne riadky s ignorovan. +\item + Znak \bs{} na konci riadku sli ako pokraovac znak, t.j.\ + nasledujci riadok je k~nemu pripojen. Przdne znaky na zaiatku + pripjanch riadkov nie s ignorovan. +\item + Vetky ostatn riadky maj tvar: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + kde \samp{=} a przdne znaky naokolo s nepovinn. +\item + Meno premennej \singleuv{\texttt{\var{variable}}} me obsahova + akkovek znaky okrem przdnych znakov, \samp{=}, alebo \samp{.}, + ale obmedzi sa na znaky \samp{A-Za-z\_} je najbezpenejie. +\item + Ak je \singleuv{\texttt{.\var{progname}}} neprzdne, defincia sa + pouije iba vtedy, ke prve beiaci program m meno + \texttt{\var{progname}} alebo \texttt{\var{progname}.exe}. + Toto umouje naprklad ma pre rzne nadstavby \TeX u rzne + vyhadvacie cesty. +\item Hodnota \singleuv{\texttt{\var{value}}} me obsahova akkovek + znaky okrem \singleuv{\texttt{\%}} a \samp{@}. Na pravej strane nie je + mon poui \singleuv{\texttt{\$\var{var}.\var{prog}}}; namiesto toho + muste poui aliu premenn. Znak \samp{;} vo + \singleuv{\texttt{\var{value}}} je preloen do \samp{:} ak sme pod + operanm systmom Unix. Toto je uiton, ke chceme ma jedin + \file{texmf.cnf} sbor pre systmy Unix, MSDOS a Windows. +\item + Vetky defincie s pretan skr, ako sa expanduj. Preto mu + existova referencie na premenn skr, ako s tieto definovan. +\end{itemize} +Ukkov sek konfiguranho sboru, ilustrujci vinu +tchto bodov\ifSingleColumn +\ignorespaces: +\verbatiminput{examples/ex5.tex} +\else +\space je na obrzku~\ref{fig:config.sample}. +\fi + +\subsubsection{Expanzia cesty} +\label{sec:pathexpansion} + +\KPS{} rozpoznva urit zvltne znaky a kontrukcie vo +vyhadvacch cestch podobn tm, o existuj v~prostrediach +unixovskch interprtov prkazovho riadku (shells). Ako veobecn +prklad uvedieme komplexn cestu \verb+~$USER/{foo,bar}//baz+, %$ +ktor sa expanduje do vetkch podadresrov pod adresrmi \file{foo} a \file{bar} +v~domovskom adresri pouvatea \texttt{\$USER}, ktor obsahuje +adresr alebo sbor \file{baz}. Tieto kontrukcie s popsan +v~alch odsekoch. + +\subsubsection{Predvolen expanzia} +\label{sec:defaultexpansion} +\tolerance=2500 +Ak vyhadvacia cesta s~najvou prioritou (pozri \singleuv{Zdroje cesty} +na strane~\pageref{sec:pathsources}) obsahuje \emph{dvojbodku +navye} (t.j.\ zaiaton, koncov, alebo zdvojen), \KPS{} vlo na +toto miesto vyhadvaciu cestu s~druhou najvyou prioritou, ktor +je definovan. Ak tto vloen cesta obsahuje dvojbodku navye, to +ist sa stane s~alou najvznamnejou cestou. Keby sme mali +naprklad dan takto nastavenie premennej prostredia +\tolerance=1500 +\begin{alltt} +>> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +a hodnotu \code{TEXINPUTS} v~sbore \file{texmf.cnf} +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +potom konen hodnota pouit na vyhadvanie by bola: +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} +Kee by bolo zbyton vklada predvolen hodnotu na viac ako jedno +miesto, \KPS{} men iba nadbyton \samp{:}\ a vetko ostatn +ponechva na mieste. Najprv kontroluje zaiaton \samp{:}, potom +koncov \samp{:} a potom zdvojen \samp{:}. + +\subsubsection{Expanzia ztvoriek} +Uiton rta je expanzia ztvoriek, ktor funguje tak, e +naprklad \verb+v{a,b}w+ sa expanduje na \verb+vaw:vbw+. Vnranie je +povolen. Toto sa pouva na implementciu viacnsobnch +\TeX{}ovskch hierarchi, priradenm hodnoty \code{\$TEXMF} +s~pouitm ztvoriek. Naprklad v~sbore \file{texmf.cnf} njdete +nasledujcu definciu (pribline, +v~skutonosti je tam ete viac stromov): +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Ke potom napete nieo podobn ako +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +bude to znamena, e po hadan v~aktulnom adresri sa najprv +prehad cel +strom \code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, +\code{\$TEXMFVAR/tex} a \code{\$TEXMFMAIN/tex} (posledn dva +s~pouitm databzovch sborov \file{ls-R}). Je to vhodn spsob ako +spa dve paraleln \TeX{} truktry, jednu nemenn +(naprklad na \CD) a druh neustle aktualizovan novmi +verziami, akonhle s dostupn. Pouitm premennej +\code{\$TEXMF} vo vetkch defincich mme istotu, e sa vdy ako +prv prehad aktulny strom. + +\subsubsection{Expanzia podadresrov} +\label{sec:subdirectory.expansion} + +Dva alebo viac za sebou nasledujcich znakov \samp{/} +v~elemente cesty nasledujcom za adresrom \var{d} je nahradench vetkmi +podadresrmi \var{d}: najprv podadresrmi priamo pod \var{d}, potom +podadresrmi pod nimi, at. Poradie, v~akom s prehadvan +podadresre na kadej rovni, \emph{nie je pecifikovan}. + +Ak po \samp{//} pecifikujete akkovek komponenty mena sboru, +pridaj sa iba pod\-adre\-sre so zodpovedajcimi komponentami. +Naprklad, \samp{/a//b} sa expanduje do +adresrov \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, at, ale nie do \file{/a/b/c} alebo \file{/a/1}. + +Viacnsobn kontrukcie \samp{//} v~ceste s mon, ale +pouitie \samp{//} na zaiatku cesty je ignorovan. + +\subsubsection{Typy pecilnych znakov a ich vznam: zhrnutie} +Nasledujci zoznam zaha %B% vznam +zvltne znaky v~konfiguranch +sboroch \KPS{}. + +% need a wider space for the item labels here. 3em instead of 2em +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}]Oddeova v~pecifikcii cesty; na zaiatku alebo + na konci cesty nahrdza predvolen expanziu cesty.\par +\item[\CODE{;}]Oddeova v~neunixovch systmoch (sprva sa ako + \samp{:}). +\item[\CODE{\$}]Expanzia premennej. +\item[\CODE{\string~}] Reprezentuje domovsk adresr pouvatea. +\item[\CODE{\char`\{...\char`\}}] Expanzia ztvoriek, napr.\ + z~\verb+a{1,2}b+ sa stane \verb+a1b:a2b+. +\item[\CODE{//}] Expanzia podadresrov. (Me sa + vyskytn kdekovek v~ceste, okrem jej zaiatku). +\item[\CODE{\%}] Zaiatok komentru. +\item[\CODE{\bs}] Znak pokraovania riadku (umouje viacriadkov vstupy). +\item[\CODE{!!}] Povel na hadanie sboru \emph{iba} v~databze, + neprehadva disk. +\end{description} + +\subsection{Databzy nzvov sborov} +\label{sec:filename.database} + +\KPS{} minimalizuje prstupy na disk pri vyhadvan. Predsa vak +pri intalcich s~dostatonm mnostvom adresrov hadanie sboru +v~kadom monom adresri me zabra prehnane vea asu (toto plat +zvlṻ vtedy, ke musia by prejden stovky adresrov s~fontami). +\KPS{} preto pouva externe vytvoren \singleuv{databzov} sbor +nazvan \file{ls-R}, ktor mapuje sbory v~adresroch a pomha tak +vyhn sa vyerpvajcemu prehadvaniu disku. + +Skratky mien (\file{aliases}) v~druhom databzovom sbore vm +umouj da dodaton men sborom nachdzajcim sa +v~zozname \file{ls-R}. Toto me by uiton pri prispsobovan sa +sborovm konvencim 8.3 DOSu v~zdrojovch sboroch. + +\subsubsection{Sborov databza} +\label{sec:ls.R} + +Ako bolo vysvetlen hore, meno hlavnej databzy sborov mus +by \file{ls-R}. Mete umiestni jednu do korea kadej hierarchie +\TeX u{} vo svojej intalcii, ktor chcete, aby bola prehadvan +(predvolen je \code{\$TEXMF}); vinou sa jedn iba o~jednu +hierarchiu. \KPS{} had \file{ls-R} sbory poda cesty +v~\code{TEXMFDBS}. + +Odporan spsob ako vytvori a udriava \samp{ls-R} je spusti +skript \code{mktexlsr} zahrnut v~distribcii. Je vyvolvan +rznymi \samp{mktex...} skriptami. Tento skript v~princpe iba +spa prkaz +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +predpokladajc, e \code{ls} vho systmu vytvra sprvny vstup +(vstup \GNU \code{ls} je v~poriadku). Aby ste sa ubezpeili, +e databza bude vdy aktulna, najjednoduchie je pravidelne ju +prebudovva cez \code{cron}, +take po zmench v~intalovanch +sboroch \Dash\ naprklad pri intalcii alebo aktualizcii balka +\LaTeX u{} \Dash\ bude sbor \file{ls-R} automaticky aktualizovan. + +Ak sbor nie je v~databze njden, poda predvolenho nastavenia +\KPS{} zane vyhadva na disku. Ak vak urit element cesty +zana \samp{!!}, bude prehadvan \emph{iba} databza, nikdy nie +disk. + +\subsubsection{kpsewhich: samostatn prehadvanie cesty} +\label{sec:invoking.kpsewhich} + +Program \texttt{kpsewhich} vykonva prehadvanie cesty nezvisl +od kadej aplikcie. Me by uiton ako vyhadvac \code{find} +program na njdenie sborov v~hierarchich \TeX u{} (vemi sa +vyuva v~distribuovanch \samp{mktex}\dots\ skriptoch). + +\begin{alltt} +>> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Voby pecifikovan v~\singleuv{\texttt{\var{option}}} mu zana bu +\samp{-} alebo \samp{-{}-} a kad skratka, ktor nie je viacznan, je +akceptovan. + +\KPS{} povauje kad element vstupnho riadku, ktor nie je +argumentom nejakej voby, za meno sboru, ktor had, a +vracia prv sbor, ktor njde. Neexistuje voba umoujca +vrti vetky sbory s~uritm menom (na to mete poui +nstroj Unixu \samp{find}). + +Najbenejie voby s popsan niie. +\begin{description} +\item[\CODE{--dpi=num}]\hfill\break + Nastav rozlenie na \singleuv{\texttt{\var{num}}}; toto m vplyv iba na + \samp{gf} a \samp{pk} vyhadvanie. \samp{-D} je synonymom, kvli + kompatibilite s~\cmdname{dvips}. Predvolen hodnota je~600. +\item[\CODE{--format=name}]\hfill\break + Nastav formt na vyhadvanie na \singleuv{\texttt{\var{name}}}. Poda + predvolenho nastavenia je formt uhdnut z~mena sboru. Pre formty, + ktor nemaj asociovan jednoznan prponu, ako naprklad podporn + sbory \MP u a konfiguran sbory \cmdname{dvips}, muste + pecifikova meno ako znme pre \KPS{}, tak ako + \texttt{tex} alebo \texttt{enc files}. Zoznam zskate spustenm + \texttt{kpsewhich -{}-help}. + +\item[\texttt{--mode=\var{string}}]\mbox{}\\ + Nastav meno mdu na \singleuv{\texttt{\var{string}}}; toto m vplyv iba na + \samp{gf} a \samp{pk} vyhadvanie. iadna predvolen hodnota: + kad md bude njden. +\item[\texttt{--must-exist}]\mbox{}\\ + Urob vetko preto, aby si naiel sbory. Ak je to potrebn, + vrtane hadania na disku. Normlne je v~zujme efektvnosti + prehadvan iba databza \file{ls-R}. +\item[\texttt{--path=\var{string}}]\mbox{}\\ + Vyhadvaj poda cesty \singleuv{\texttt{\var{string}}} (oddeovan dvojbodkou + ako zvyajne) namiesto hdania vyhadvacej cesty z~mena sboru. + Podporovan s \samp{//} a vetky ben expanzie. Voby \samp{--path} + a \samp{--format} sa vzjomne vyluuj. +\item[\texttt{--progname=\var{name}}]\mbox{}\\ + Nastav meno programu na \singleuv{\texttt{\var{name}}}. Toto nastavenie ovplyvuje + pouitie vyhadvacej cesty cez nastavenie \singleuv{\texttt{.\var{progname}}} + v~konfiguranch sboroch. Predvolen hodnota je \samp{kpsewhich}. +\item[\texttt{--show-path=\var{name}}]\mbox{}\\ + Zobraz cestu pouit na vyhadvanie sboru s~typom +\singleuv{\texttt{\var{name}}}. + Me by pouit bu sborov prpona (\samp{.pk}, \samp{.vf} a pod.) + alebo meno, podobne ako vo vobe \samp{--format}. +\item[\texttt{--debug=\var{num}}]\mbox{}\\ + Nastav masku vberu ladiacch monost na \singleuv{\texttt{\var{num}}}. +\end{description} + +\subsubsection{Prklady pouitia} +\label{sec:examples-of.use} + +Pozrime sa na \KPS{} v~akcii. Za podiarknutm prkazom nasleduje +vsledok vyhadvania v~nasledujcich riadkoch. +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Hadme sbor \file{article.cls}. Kee prpona \samp{.cls} je +jednoznan, nemusme pecifikova, e hadme sbor typu \singleuv{tex} +(zdrojov sbor \TeX{}). Njdeme ho v~podadresri +\file{tex/latex/base} pod koreovm adresrom +\samp{TEXMF-dist}. Podobne, vetky nasledujce sbory bud njden bez +problmov vaka ich jednoznanej prpone. +\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} + +Mimochodom, poslednm sborom je bibliografick databza \BibTeX u pre +lnky \textsl{TUGBoatu}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Bitmapov sbory fontov typu \file{.pk} sa pouvaj zobrazovacmi +programami ako \cmdname{dvips} a \cmdname{xdvi}. V~tomto prpade +je vrten przdny vsledok, kee neexistuj iadne vopred +generovan Computer Modern \samp{.pk} sbory v~naom systme +(vzhadom na to, e v~\TL{} implicitne pouvame verzie 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} + +Pre tieto fonty (fonetick abecedu z~University of Washington) sme museli vygenerova\ +\samp{.pk} sbory. Kee predvolen md \MF u v~naej intalcii +je \texttt{ljfour} so zkladnm rozlenm 600~dpi (dots per inch), +je vrten tto intancia. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +V~tomto prpade po pecifikovan, e ns zaujma rozlenie 300~dpi +(\texttt{-dpi=300}), vidme, e tak font nie je v~systme +k~dispozcii. Programy ako \cmdname{dvips} alebo \cmdname{xdvi} +by v~tomto prpade vytvorili poadovan \texttt{.pk} sbory, pouijc skript \cmdname{mktexpk}. + +Teraz obrme nau pozornos na hlavikov a konfiguran sbory +\cmdname{dvips}. Najprv sa pozrieme na jeden z~bene pouvanch +sborov, veobecn prolgov \file{tex.pro} na pod\-poru \TeX u{}, +potom pohadme konfiguran sbor (\file{config.ps}) a +PostScriptov mapu fontov \file{psfonts.map} \Dash %B% as of 2004, +mapov a kdov sbory maj svoje vlastn cesty na vyhadvanie a nov umiestnenie v~stromoch \dirname{texmf}. + +Kee prpona +\samp{.ps} je ne\-jed\-no\-znan, musme pre sbor \texttt{config.ps} +pecifikova explicitne, o ktor typ sa zaujmame (\optname{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/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Teraz sa pozrieme na podporn sbory URW Times PostScript. + V~Berryho schme meno pre +tieto pomenovania fontov je \uv{\texttt{utm}}. Prv +sbor, ktor hadme, je konfiguran sbor, ktor obsahuje meno +mapovho sboru: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Obsah tohoto sboru je +\begin{alltt} + p +utm.map +\end{alltt} +o odkazuje na sbor \file{utm.map}, ktor ideme alej hada. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Tento mapov sbor definuje men sborov fontov typu Type1 +PostScript v~kolekcii URW. Jeho obsah vyzer takto (zobrazili sme +iba jeho as): +\begin{alltt} + utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb + utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb + utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb + utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Zoberme naprklad intanciu Times Regular \file{utmr8a.pfb} a +njdime jej pozciu v~adresrovom strome \file{texmf} pouitm +vyhadvania fontovch sborov Type1: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Z~tchto prkladov by malo by zrejm, ako ahko mete njs +umiestnenie danho sboru. Toto je zvlṻ dleit, ke mte +podozrenie, e ste narazili na zl verziu sboru, +pretoe \cmdname{kpsewhich} emuluje vyhadvanie +plne rovnakm spsobom ako skuton program (\TeX{}, dvips a pod). + + +\subsubsection{Ladiace innosti} +\label{sec:debugging} + +Niekedy je potrebn vyetri, ako program rozpoznva referencie na +sbory. Aby toto bolo mon vhodne uskutoni, \KPS{} ponka rzne +stupne ladenia: +\begin{itemize} +\item[\texttt{\ 1}] Volania \texttt{stat} (testy sborov). Pri behu + s~aktulnou \file{ls-R} databzou by nemal da takmer iaden vstup. +\item[\texttt{\ 2}] Referencie do haovacch tabuliek (ako \file{ls-R} + databzy, mapov sbory, konfiguran sbory). +\item[\texttt{\ 4}] Opercie otvrania a zatvrania sboru. +\item[\texttt{\ 8}] Veobecn informcia o ceste pre typy sborov + hadanch \KPS. Toto je uiton pri zisovan, kde bola definovan + urit cesta pre dan sbor. +\item[\texttt{16}] Adresrov zoznam pre kad element cesty (vzahuje + sa iba na vyhadvanie na disku). +\item[\texttt{32}] Vyhadvanie sborov. +\item[\texttt{64}] Premenliv hodnoty. +\end{itemize} +Hodnota \texttt{-1} nastav vetky horeuveden voby, v~praxi +pravdepodobne vdy pouijete tieto rovne, ak budete potrebova +akkovek ladenie. + +Podobne s~programom \cmdname{dvips} nastavenm kombincie +ladiacch prepnaov mete detailne sledova, odkia sa ber +pouvan sbory. Aktulny popis parametrov je mon njs +v~\path{../texmf/doc/html/dvips/dvips_2.html}. Alternatvne, +ke sbor nie je njden, +ladiaca cesta ukazuje, v~ktorch adresroch program dan sbor +hadal, o me naznaova, v~om sa asi vyskytol problm. + +Veobecne povedan, kee vina programov vol kninicu \KPS{} +vntorne, ladiace voby je mon nastavi pomocou premennej +prostredia \envname{KPATHSEA\_DEBUG} na potrebn kombinciu, ako je +to popsan v~horeuvedenom zozname. + +(Poznmka pre pouvateov Windows: nie je jednoduch +presmerova vetky hlky v~tomto systme do sboru. +Na diagnostick\'e ely mete doasne priradi\hfill\\ +\texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + + +Uvaujme ako prklad mal zdrojov sbor +\LaTeX u{}, \file{hello-world.tex}, ktor obsahuje nasledujci vstup. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Tento mal sbor pouva iba font \file{cmr10}, take pozrime sa, +ako \cmdname{dvips} pripravuje PostScriptov sbor (chceme poui +Type1 verziu psiem Computer Modern, preto je nastaven +voba \texttt{-Pcms}\footnote{Od verzie \TL{}~7 nie +je nutn tto vobu nastavova, pretoe Type~1 fonty s +natan implicitne.}. +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +V~tomto prpade sme skombinovali \cmdname{dvips} ladiacu +triedu~4 (cesty k~fontom) s~expanziou elementu cesty \KPS\ +(pozri Referenn Manul +\cmdname{dvips}, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +%\ifSingleColumn +%We get something +%like the following (we have rearranged the output for easier display): +%\begin{alltt}\small +%\input{examples/ex6.tex} +%\end{alltt} +%\else +Vstup, trochu preusporiadan, je zobrazen na +obrzku~\ref{fig:dvipsdbga}. + +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Hadanie konfiguranch sborov}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Hadanie \singleuv{prolog} sboru}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Hadanie sboru fontu}\label{fig:dvipsdbgc} +\end{figure*} + + +%\input{examples/ex6skfromtl6.tex} % TODO: Janka -- treba aktualizovat +% z ../examples/ex6*.tex + +\cmdname{dvips} zane lokciou svojich pracovnch sborov. Najprv je +njden \file{texmf.cnf}, ktor obsahuje defincie vyhadvacch +ciest ostatnch sborov, potom databza sborov \file{ls-R} (na +optimalizciu vyhadvania sborov) a skratky mien sborov +(\file{aliases}), o rob monm deklarova viacero mien (napr.\ +krtke meno typu \singleuv{8.3} ako v~\acro{DOS}e a dlhiu prirodzenejiu +verziu) pre ten ist sbor. Potom \cmdname{dvips} pokrauje +v~hadan veobecnho konfiguranho sboru \file{config.ps} skr, +ako zane hada sbor nastaven \file{.dvipsrc} (ktor, v~tomto +prpade, \emph{nie je njden}). Nakoniec, \cmdname{dvips} njde +konfiguran sbor pre font Computer Modern PostScript, +\file{config.cms} (toto bolo iniciovan vobou\texttt{-Pcms} +v~prkaze \cmdname{dvips}). Tento sbor obsahuje zoznam \uv{mapovch} +sborov, ktor definuj vzah medzi menami fontov v~\TeX u, +PostScripte a systme sborov. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} preto pokrauje v~hadan vetkch tchto sborov plus +veobecnho mapovho sboru \file{psfonts.map}, ktor sa nata +vdy (obsahuje deklarcie bene pouvanch PostScriptovch fontov; +pozri posledn as sekcie~\ref{sec:examples-of.use}, kde sa nachdza +viac detailov o narban s~mapovmi sbormi PostScriptu). + +V~tomto bode sa \cmdname{dvips} identifikuje +pouvateovi\,\ldots +\begin{alltt}\ifSingleColumn +This is dvips 5.78 Copyright 1998 Radical Eye Software + (www.radicaleye.com) +\else\small{}This is dvips 5.78 Copyright 1998 Radical Eye ... +\fi\end{alltt}% decided to accept slight overrun in tub case + +\ifSingleColumn +\noindent\ldots potom pokrauje v~hadan prolgovho sboru +\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 +potom pokrauje v~hadan prolgovho sboru +\file{texc.pro} (pozri obrzok~\ref{fig:dvipsdbgb}). +\fi +Po njden tohoto sboru, \cmdname{dvips} vype na vstup dtum a +as a informuje ns, e vygeneruje sbor \file{hello-world.ps}, e +potrebuje sbor s~fontom \file{cmr10}, ktor bude deklarovan ako +\uv{rezidentn}: +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Teraz sa rozbehne hadanie sboru \file{cmr10.tfm}, ktor je +njden, potom je referencovanch ete niekoko prolgovch sborov +(nezobrazen) a nakoniec je njden intancia fontu +Type1, \file{cmr10.pfb}, ktor je pridan do vstupnho sboru +(pozri posledn riadok). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Monosti nastavenia za behu programu} +alou z~peknch t distribcie \Webc{} je monos kontroly +mnostva pamovch parametrov (najm vekosti pol) za behu +prostrednctvom sboru \file{texmf.cnf}, +ktor ta kninica \KPS{}. Nastavenia vetkch parametrov mete +njs v~asti~3 tohto sboru. Najdleitejie riadiace +premenn (sla riadkov sa vzahuj na sbor \file{texmf.cnf}): + +\begin{description} +\item[\texttt{main\_memory}] + Celkov poet dostupnch slov v~pamti pre \TeX{}, \MF{} a \MP. + Muste vytvori nov formtov sbor pre kad odlin nastavenie. + Naprklad mete vygenerova \uv{obrovsk} verziu \TeX u{} + a zavola sbor s~formtom \texttt{hugetex.fmt}. S~po\-uitm + tandardnej pecifikcie mena programu pouvanho kninicou + \KPS{}, konkrtna hodnota premennej \texttt{main\_memory} sa nata zo + sboru \file{texmf.cnf}. + %B% (porovnaj veobecn hodnotu a \uv{obrovsk} hodnotu, ktor sa intancuje cez \texttt{hugetex}, at.). +\item[\texttt{extra\_mem\_bot}] + Dodaton priestor pre \uv{vek} dtov truktry \TeX u{}: + \uv{boxy}, \uv{glue}, \uv{break\-point(y)} a podobne. + Je to uiton hlavne ak pouvate \PiCTeX{}. +%%PS (riadok 300). +\item[\texttt{font\_mem\_size}] + Poet dostupnch slov pre informciu o fontoch v~\TeX u. Toto je + viac-menej celkov vekos vetkch pretanch \acro{TFM} sborov. +\item[\texttt{hash\_extra}] + Dodaton priestor pre haovaciu tabuku mien riadiacej sekvencie. + Len $\approx$10\,000 riadiacich sekvenci me by uloench v~hlavnej + haovacej tabuke; ak mte vek knihu s~mnohmi krovmi odkazmi, + toto nemus stai. Implicitn hodnota \texttt{hash\_extra} je \texttt{50000}. + %B% Vidte, e obidve volania programov \cmdname{hugetex} a \cmdname{pdftex} poaduj + %B% dodatonch 15\,000 riadiacich sekvenci (preddefinovan hodnota + %B% hash\_extra je nula). +\end{description} + +Samozrejme, tento prvok neme nahradi naozajstn dynamick polia +a alokcie pamte, ale kee tieto sa vemi ako implementuj +v~sasnej verzii \TeX u, tieto parametre poas behu programu +poskytuj praktick kompromis, ktor dovouje aspo nejak +flexi\-bilitu. +\end{otherlanguage} + +\begin{comment} +\section{Peklad pro novou unixovou platformu} + +Pokud pouvte platformu, pro kterou neposkytujeme binrky, nezbude vm +nic jinho, ne si je vytvoit ze zdrojk sami. +Nen to tak tk, jak se traduje i zd. Ve, co je teba, najdete +v~adresi \texttt{source} distribuce. + +\subsection{Pedpoklady spchu} + +Budete potebovat alespo 100~Mebibyt diskovho prostoru na kompilaci +celho \TeX{}u a podprnch program. Budete tak potebovat kompiltor +\acro{ANSI}~C, program \cmdname{make}, lexikln analyztor a genertor +pekladae. Doporuujeme \GNU{} verze tchto program +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). Mon uspjete i s~jinmi verzemi kompiltoru~C, +programu \cmdname{make} a dalch program, ale budete potebovat +dobrou znalost kompilace unixovch program pro een koliz. + +Tak pkaz \texttt{uname} mus vracet rozumn hodnoty. + + +\subsection{Konfigurace} + +Pro zatek provete normln instalaci \TL{} na v disk (viz +oddl~\ref{sec:install.disk} na +stran~\pageref{sec:install.disk}). Mete peskoit instalaci +vech pedkompilovanch binrek. + +Potom rozbalte zdroje z~komprimovanho \texttt{tar} archvu z~adrese +\dirname{source} na svj disk a pejdte do adrese, kam jste zdroje +rozbalili. + +Potom spuste program \cmdname{configure} napklad takto: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +Adres udan pepnaem \optname{-prefix} je ten, kam jste instalovali +pomocn texmf strom; struktura adres bude jak je popsno ne (piem +\$TEXDIR je adres, kter jste zvolili): + +\noindent +\begin{tabularx}{\textwidth}{@{}>{\ttfamily}lX@{}} + \dirname{$TEXDIR/share/texmf} & hlavn strom s~fonty, makry, atp.\\ + \dirname{$TEXDIR/man} & unixov manulov strnky\\ + \dirname{$TEXDIR/info} & \GNU style Info manuly\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binrky +\end{tabularx} +%$ + +Pokud chcete zruit extra rove adres \dirname{$PLATFORM} pro kadou +platformu, t.j.\ uloit binrky do adrese \dirname{$TEXDIR/bin}, +specifikujte volbu \verb|--disable-multiplatform| pro \cmdname{configure}. + +Podvejte se na vstup pkazu \verb|./configure --help| pro popis +dalch pepna, kter mete chtt pout. Napklad mete chtt +vynechat peklad \OMEGA{}y i \eTeX{}u. + + +\subsection{Sputn \cmdname{make}} + +Ovte, zda promnn prosted nebo volba \texttt{noclobber} nen nastavena. +Potom spuste hlavn \cmdname{make} takto: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +a dejte si chvli oddechu\ldots + +Ppadn si mete zaznamenat vechen vstup takto: +\begin{alltt} +> \Ucom{sh -c \string"make world >world.log 2>\&1\string" \&} +\end{alltt} + +Pedtm ne uvte, e vechno je v~podku, zkontrolujte +logovac soubor na chyby: \GNU \cmdname{make} vdy pouv etzec +\samp{***}, kdykoliv pkaz sele. Tak zkontrolujte, zda vechny programy +byly opravdu peloeny: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +Vsledkem by mlo bt pes 200 program (mete zkontrolovat pesn +poet s~adresi \dirname{bin} na~distribunm mdiu). + +Pro zvren \texttt{make install} budete potebovat rootovsk +oprvnn, take mete rozdlit \samp{make world} na dv sti: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +Pot, co instalujete vechny binrky, mli byste provst +normln postinstalan proceduru, jak je popsna +v~oddle~\ref{sec:postinstall} +na stran~\pageref{sec:postinstall}. + +Kdy budete chtt zpstupnit svoje binrky ostatnm, +prosme kontaktujte ns. +R\'adi je umstme na webov\'e strnky \TL. +\end{comment} + +\section{Podkovn} + +\TL{} je vsledkem spolenho sil tm vech skupin uivatel \TeX u. +Toto vydn editoval \TL{} Karl Berry. +Seznam ostatnch hlavnch pisp\v{e}vatel, minulch i souasnch, nsleduje. Dkujeme: + +%B% Toto vydn \TL{} je editovno Sebastianem Rahtzem, piem hlavn +%B% pispvatel byl Fabrice Popineau, kter tvrd pracoval na podpoe +%B% Windows (zvlt na setupu!) a pispl mnoha rznmi zpsoby a npady, +%B% radami a kdem. Staszek Wawrykiewicz byl hlavn testr distribuce +%B% a koordinoval pspvky z~Polska. + +%B% Kaja Christiansen provdla nenavn opakovan +%B% rekompilace na rznch unixovch platformch. Vladimir Volovich odvedl +%B% vynikajc prci na vyitn zdrojovch text a provedl mnoh +%B% vylepen, zatmco Gerben Wierda dlal vekerou prci pro \MacOSX. + +\begin{itemize*} +\item Anglickmu, nmeckmu, holandskmu a polskmu sdruen +uivatel \TeX{}u (\acro{TUG}, \acro{DANTE} e.V., +\acro{NTG} resp. \acro{GUST}), kte\v r\'i spolen zajistily +nezbytnou technickou a administrativn infrastrukturu. +Pipojte se, prosm, k~\TeX ovskmu sdruen ve va blizkosti! +(Viz \url{http://tug.org/usergroups.html}.) + +\item Tmu \acro{CTAN}u, nejpozoruhodnjm Robinu Fairbairnsovi, Jimu Hef{}feronovi +a Raineru Sch\"opfovi, kter distribuuje obrazy \TL{} a +poskytuje spolenou infrastrukturu pro aktualizaci balk, +na kterch je \TL{} zvisl. + +\item Peteru Breitenlohnerovi a \eTeX\ tmu, kte poskytuj +stabiln zklad budoucnosti \TeX u, a vslovn Peteru za hvzdnou pomoc s~pouvnm osobnch nstroj GNU v~celm \TL.. + +%B% \item Karlu Berrymu, kter poskytl pvodn distribuci \Webc{}, a +%B% pokraoval v~poskytovn cennch rad, povzbuzen a pomoc. + +%B% \item Mimi Burbankov, kter zajistila na Florida State University +%B% School of Computational Science and Information Technology pstup +%B% k~ad rznch pota rznch platforem pro peklad +%B% \TeX{}ovch binrek a distribuce testovala, kdykoliv to bylo poteba. + +\item Thomasi Esserovi, za pekrsn balk \teTeX{}, bez nho by \TL{} +nikdy neexistovala. + +\item Michelu Goossensovi, kter je spoluautorem pvodn dokumentace. + +\item Eitanu Gurarimu, jeho \TeX{}4ht bylo pouito pro +\HTML{} verzi tto dokumentace a kter obratem +pracoval nenavn na jeho rozench. + +\item \Thanh ovi, Martinu Schr\"oderovi a pdf\TeX\ tmu (\url{http://pdftex.org}) +za pokraujc roziovn monost \TeX u. + +\item Hansi Hagenovi, za mnoh testovn a ppravu jeho formtu \ConTeXt\ +(\url{http://pragma-ade.com}) pracujcho uvnit systmu \TL. + +\item Hartmutu Henkelovi, za vznamn pspvek k~vvoji +pdf\TeX u, Lua\TeX u a vce. + +\item Taco Hoekwaterovi, za sil pi obnoven vvoje \MP u i +samotnho (Lua)\TeX{}u (\url{http://luatex.org}) a za zalenn \ConTeXt{}u do systmu \TL. + +\item Paw{\l}u Jackowsk\'emu, za windowsov instaltor \cmdname{tlpm}, +a Tomaszi {\L}uczakovi, za \cmdname{tlpmgui}, pouvan v~pedchozch vydnch. + +\item Akirovi Kakuto, za poskytnut windowsovskch binrek +z~jeho distribuce \acro{W32TEX} pro japonsk \TeX{} +(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}) a za mnostv dalch pspvk. + +\item Jonathanu Kew a \acro{SIL}, za vznamn +nov vvoj \XeTeX{}u a za as a trpen pi jeho integraci do \TL{}, prv tak jako za vchoz verzi instalanho programu Mac\TeX. + +\item Dicku Kochovi, za drbu Mac\TeX{}u (\url{http://tug.org/mactex}) +ve velmi blzkm tandemu s~\TL{}, a za jeho skvl vesel pitom. % for his great good cheer in doing so. + +\item Reinhardovi Kotuchovi za dleit pspvek k~infrastruktue a instalanmu programu \TL{} 2008, rovn za sil pi vzkumu Windows, za skript \texttt{getnonfreefonts} a dal. + +\item Siepu Kroonenbergovi, rovn also za dleit pspvek k~infrastruktue a instalanmu programu \TL{} 2008, zvlt pod Windows a za mnostv prce pi aktualizaci tto pruky, popisujc nov vlastnosti. + +\item Petru Olkovi, kter koordinoval a kontroloval velmi peliv +eskou a slovenskou podporu na \TeXLive. + +\item Toshio Oshima za jeho windowsov prohle \cmdname{dviout}. + +\item Manueli P\'egouri\'e-Gonnardovi, za pomoc pi aktualizaci balk, +vylepen dokumentace a rozvoj dokumentu \cmdname{tldoc}. + +\item Fabrice Popineau, za pvodn podporu Windows na \TL{} a za francouzskou dokumentaci. + +\item Norbertovi Preiningovi, pednmu architektovi infrastruktury a instalanho programu \TL{} 2008 a tak za koordinaci Debian verze \TL{} (spolen s~Frankem K\"usterem), +za mnoh prbn nvrhy na zlepen. + +\item Sebastian Rahtz, za pvodn vytvoen systmu \TL{} a za jeho drbu po mnoho let. + +\item Vladimir Volovich, za vznamnou pomoc s~portovnm % with porting +a jinmi problmy drby, obzvlt za to, e udlal realizovatelnm zahrnut \cmdname{xindy}. + +\item Staszku Wawrykiewiczovi, hlavnmu testrovi veho na \TL{} a +koordintorovi mnoha dleitch polskch pspvk: font, windowsov instalace a dalch. + +\item Olafu Weberovi, pro jeho pelivou drbu \Webc. + +\item Gerbenu Wierdovi, za vytvoen a drbu podpory \MacOSX\ a +za mnohou integraci a testovn. + +\item Grahamu Williamsovi, na jeho prci na katalogu \TeX{}ovskch balk zvisme. + +\end{itemize*} + +Tvrci binrek: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +Pro informaci o procesu budovn \TL{}, viz +\url{http://tug.org/texlive/build.html}. + +Obnova dokumentace a peklad: +Karl Berry (anglick), +Daniel Flipo (francouzsk), +Klaus H\"oppner (nmeck), +Petr Sojka \& Jn Bua (esko\slash slovensk),% +\footnote{Ke korektue eskho a slovenskho pekladu pispli +v~letech 2003--2007 krom autor Jaromr Kuben, Milan Matlk, Tom Obva, +Tom Poleovsk, Libor karvada, Zdenk Wagner a dal. +Libor \v Skarvada korigoval i leto\v sn\'i verzi.} +Boris Veytsman (rusk), +Staszek Wawrykiewicz (polsk). +Webovsk strnka dokumentace \TL{} je \url{http://tug.org/texlive/doc.html}. +%B% Dle Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +%B% Chlebkov, Petra Sojkov, Staszek Wawrykiewicz, +%B% Erik Frambach a Ulrik Vieth laskav peloili v~rznch +%B% obdobch dokumentaci do svch mateskch jazyk a poskytli +%B% vtanou zptnou reakci. + +Samozejm, nejdleitej podkovn pat Donaldu Knuthovi, +pedevm za vymylen \TeX u a tak za to, e ho vnoval svtu. + +\section{Historie vydn} +\label{sec:history} + +\subsection{Minulost} + +Diskuse zaala koncem roku 1993, kdy holandsk skupina uivatel \TeX{}u +NTG zaala prci na \CD{} 4All\TeX{} pro uivatele \acro{MS-DOS}u, doufajc, +e doba nazrla pro vydn jednoho \CD{} pro vechny +systmy. Byl to na svou dobu pli ambicizn cl, ale +nenastartoval jen velmi spn 4All\TeX{} \CD{}, ale tak +pracovn skupinu \acro{TUG}u o \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), kter specifikovala, +jak vytvoit konzistentn a spravovatelnou +kolekci \TeX{}ovch soubor. Kompletn draft \TDS{} byl publikovn +v~prosincovm sle asopisu \textsl{TUGboat} v~roce 1995 a +hned ze zatku bylo jasn, e jednm z~danch produkt bude +vzorov struktura \CD{}. Distribuce, kterou nyn mte, je pmm +vstupem prce tto pracovn skupiny. Evidentn spch \CD{} 4All\TeX{} +ukzal, e i unixov uivatel by touili po podobn jednoduchm +systmu, a to je tak jedno z~hlavnch aktiv~\TeXLive. + +Nejprve jsme vytvoili unixov \TDS{} \CD{} na podzim +1995 a rychle identifikovali \teTeX{} Thomase Essera +jako ideln systm, jeliko ji ml multi\-platformn +podporu a byl koncipovn s~perspektivou +p\v renositelnosti. Thomas souhlasil s~pomoc a serizn prce zapoala +zatkem roku 1996. Prvn vydn se uskutenilo +v~kvtnu 1996. Zatkem 1997 Karl Berry dokonil nov hlavn +vydn \Webc, kter obsahovalo tm vechny vlastnosti, +kter Thomas Esser pidal do \teTeX{}u, a tak jsme se rozhodli +druh vydn \CD{} postavit na standardnm +\Webc, s~pidnm skriptu \texttt{texconfig} z~\teTeX{}u. +Tet vydn \CD{} bylo zaloeno na dal revizi +\Webc, 7.2, proveden Olafem Weberem; a jeliko zrove +byla hotova nov verze \teTeX{}u, \TL{} obsahoval +tm vechna jej vylepen. +Podobn tvrt vydn pouvalo novou +verzi \teTeX{}u a nov vydn \Webc{} (7.3). +\TL{} nyn obsahuje i kompletn systm pro Windows. + +Pro pt vydn (bezen 2000) bylo mnoho st \CD{} revidovno +a zkontrolovno a byly aktualizovny stovky +balk. Detaily o balcch byly uloeny v~souborech \acro{XML}. +Ale hlavn zmnou pro \TeX\ Live~5 bylo vynt +softwaru, na kterm byla jakkoliv omezen na en +(non-free software). Ve uloen na \TL{} je nyn +sluiteln s~tzv.\ `Debian Free Software Guide\-lines' +(\url{http://www.debian.org/intro/free}); udlali jsme ve mon, +abychom zkontrolovali licenn podmnky vech balk, +ale budeme vdni za upozornn na jakkoli chyby. + +est vydn (ervenec 2001) mlo aktualizovanho materilu +jet vce. Hlavn zmnou byl nov instalan pstup: +uivatel me volit instalan kolekce. +Byly kompletn reorganizovny jazykov kolekce, +take jejich vbrem se instaluj +nejen makra, fonty, ale je tak pipraven odpovdajc +soubor \texttt{language.dat}. + +Sedm vydn v~roce 2002 mlo podstatn rozen v~pidn +podpory \MacOSX{}, krom mnostv aktualizac balk a program. +Dleitm clem byla optn integrace s~\teTeX{}em +a korekce odchylek z~ptho a estho vydn. + +\subsubsection{2003} + +V~roce 2003 se neustlou smrt oprav a rozen stalo to, e +velikost \TL{} ji neumonila jeho smstnn +na jedno \CD{}, a tak dolo k~rozdlen na ti rzn distribuce +(viz oddl~\ref{sec:tl-coll.dists} na +stran~\pageref{sec:tl-coll.dists}). Navc: + +\begin{itemize*} +\item Na dost \LaTeX{} tmu jsme zmnili standardn pkazy + \cmdname{latex} a \cmdname{pdflatex} tak, e nyn pouvaj + \eTeX{} (viz strana~\pageref{text:etex}). +\item Byly pidny a jsou nyn doporuovny k~pouvn + nov fonty Latin Modern. +\item Byla zruena podpora OS Alpha \acro{OSF} + (podpora \acro{HPUX} byla zruena ji dve), jeliko se + nenael nikdo, kdo by na tchto platformch zkompiloval nov binrky. +\item Instalan program Windows byl zmnn podstatnm zpsobem; poprv + bylo integrovno uivatelsk prosted zaloen na XEmacsu. +\item Dleit pomocn programy pro Windows + (Perl, \GS{}, Image\-Magick, Ispell) jsou nyn instalovny + do instalanho adrese \TL{}. +\item Mapovac soubory jmen font pro \cmdname{dvips}, \cmdname{dvipdfm} + a \cmdname{pdftex} jsou nyn generovny novm programem + \cmdname{updmap} a instalovny do \dirname{texmf/fonts/map}. +%+\item \TeX{}, \MF{}, and \MP{} now output 8-bit input +%+ characters as themselves in output (e.g., \verb|\write|) files, +%+ log files, and the terminal, i.e., \emph{not} translated using the +%+ \verb|^^| notation. In \TL{}~7, this translation was +%+ dependent on the system locale settings; now, locale settings do +%+ not influence the \TeX{} programs' behavior. If for some reason +%+ you need the \verb|^^| output, rename the file +%+ \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner +%+ ways to control this.) +\item \TeX{}, \MF{} a \MP{} nyn dvaj na vstup %B% 8-bitov + vtinu vstupnch + znak (32 a v) bez konverze (napklad do soubor + zapisovanch pomoc \verb|\write|, + soubor log, na terminl), a tedy \emph{nejsou pekldny} do + sedmibitov \verb|^^| notace. V~\TL{}~7 bylo toto mapovn + zvisl na nastaven systmovch locale; nyn ji nastaven locale + \emph{neovlivn} chovn \TeX{}u. Pokud z~njakch dvod + potebujete vstup s~\verb|^^|, pejmenujte soubor + \verb|texmf/web2c/cp8bit.tcx|. Pt verze bude mt ist een. +\item Tato dokumentace byla podstatnm zpsobem pepracovna. +\item Konen, jeliko sla verz \TL{} ji pli narostla, + verze je nyn identifikovna rokem vydn: \TL{} 2004. +\end{itemize*} + +\subsubsection{2004} + +Rok 2004 pinesl mnoho zmn: + +\begin{itemize} + +\item Pokud mte lokln instalovny fonty, kter +vyuvaj sv vlastn podp\r urn\'e soubory +\filename{.map} nebo (mnohem mn pravdpodobn) \filename{.enc}, +mon budete nuceni tyto soubory pesunout. + +Soubory \filename{.map} jsou nyn vyhledvny jen v~podaresch +\dirname{fonts/map} (v~kadm strom \filename{texmf}), podl cesty +\envname{TEXFONTMAPS}. Podobn, soubory \filename{.enc} jsou hledny jen v~podadresch \dirname{fonts/enc}, podl cesty \envname{ENCFONTS}. \cmdname{updmap} se pokus vypsat varovn o~problematickch souborech. +% +O~metodch zpracovn t kter informace, prosme viz +\url{http://tug.org/texlive/mapenc.html}. + +\item \TKCS\ byla rozena pidnm instalovatelnho \CD, +zaloenho na \MIKTEX u, pro ty, kte dvaj pednost +tto implementaci ped Web2C. +%Tak lo\v{n}sk\'e demo \CD{} bylo nahrazeno instalovatelnm \CD{} pro Windows. +Viz oddl~\ref{sec:overview.tl} (strnka~\pageref{sec:overview.tl}). + +\item Uvnit \TL byl velk strom \dirname{texmf} pedelch vydn nahrazen temi: \dirname{texmf}, +\dirname{texmf-dist} a \dirname{texmf-doc}. Viz oddl~\ref{sec:tld} (strnka~\pageref{sec:tld}) a soubory \filename{README} pro kad z~nich. + +\item Vechny vstupn soubory tkajci se \TeX u jsou te soustedny v~podadresi \dirname{tex} strom \dirname{texmf*} a nemaj oddlen sourozeneck adrese \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex} atd. Viz +\CDref{texmf.doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Pomocn\'e dvky (nemly by bt volny uivateli) jsou te +umstny v~novm adresi \dirname{scripts} strom \dirname{texmf*} a jsou vyhledvny prostednictvm \verb|kpsewhich -format=texmfscripts|. Kdy tedy mte programy volajc tyto dvky, budou muset bt nastaveny. Viz +\CDref{texmf.doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Tm vechny formty umouj vtinu znak tisknout +bez konverze pomoc p\v{r}ekladov\'eho souboru +\filename{cp227.tcx}, msto jejich konverze pomoc +\verb|^^| notace. Konkrtn, znaky na pozicch 32--256, +plus \uv{tab}, \uv{vertikln tab} a \uv{form feed} jsou povaovny +za tisknuteln a nejsou konvertovny. Vjimky tvo plain \TeX\ +(jen 32--127 jsou tisknuteln), \ConTeXt\ (0--255 tisknuteln) a formty +systmu \OMEGA. Toto implicitn chovn je tm stejn\'e, jak na +\TL\,2003, ale je implementovno istji, s~vce monostmi pizpsoben. +Viz \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(Mimochodem, se vstupem Unicode, me \TeX\ na vstupu vypsat posloupnosti +stench znak pi vpisu chybovch kontext, protoe je bytov +orientovn.) + +\item \textsf{pdfetex} je te implicitn stroj pro vechny formty +krom samotnho (plain) \textsf{tex}u. (Ten jiste generuje \acro{DVI}, + kdy je sputn jako \textsf{latex} atd.) To znamen, krom jinch + vc, e mikrotypografick roz\v{s}\'\i\v{r}en\'\i\ +\textsf{pdftex}u jsou dostupn + v~\LaTeX u, \ConTeXt u atd., stejn\v{e} jako roz\v{s}\'\i\v{r}en\'\i\ +\eTeX u (\OnCD{texmf-dist/doc/etex/base/}). + +To tak znamen, e uit balku \pkgname{ifpdf} (pracuje s~plainem +i \LaTeX em) nebo ekvivalentnho kdu je \emph{dleitej +ne kdykoliv pedtm}, protoe jednoduch testovn, zda +je \cs{pdfoutput} nebo njak jin primitiv definovn, +nen spolehliv zpsob uren, zda je generovn \acro{PDF} +vstup. Tento zptn krok jsme udlali co nejvc kompatibiln +letos, ale v~p\v{r}\'\i\v{s}t\'\i m roce \cs{pdfoutput} me +bt definovn, dokonce i kdy se zapisuje do \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org/}) m mnostv novch vlastnost: + + \begin{itemize*} + + \item \cs{pdfmapfile} a \cs{pdfmapline} poskytuj podporu mapovn font uvnit dokumentu. + + \item Mikrotypografick rozen fontu me bt pouito jednodueji.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item Vechny parametry, kter byly pedtm nastavovny ve + zvltnm konfiguranm souboru \filename{pdftex.cfg}, mus + te bt nastaveny pomoc primitiv, obyejn + v~\filename{pdftexconfig.tex}; \filename{pdftex.cfg} nen + dle podporovn. Vechny existujc \filename{.fmt} soubory + mus bt znovu vytvoeny pi zmn souboru \filename{pdftexconfig.tex}. + + \item Dal informace viz manul pdf\TeX u: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item Primitiv \cs{input} v~\cmdname{tex}u (a \cmdname{mf} a +\cmdname{mpost}) te akceptuje dvojit uvozovky se jm\'eny obsahujcmi +mezery a s~jin\'ymi zvltnmi znaky. Typick pklady: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +Pro dal informace viz manul Web2C: \OnCD{texmf/doc/web2c}. + +\item Podpora enc\TeX u je nyn zahrnuta uvnit Web2C, +v~dsledku toho ve vech \TeX ovch programech, pouitm +volby \optname{-enc} \Dash \emph{jen v~ppad, e formty +jsou vytvoeny}. enc\TeX\ podporuje obecn pekdovn +vstupu a vstupu, m\v{z} umouje plnou podporu kdovn +Unicode (v~\acro{UTF}-8). Viz \OnCD{texmf-dist/doc/generic/enctex/} a +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, nov stroj kombinujc \eTeX\ a \OMEGA, je nyn k~dispozici. +Trochu informace najdete na \OnCD{texmf-dist/doc/aleph/base} +a \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Formt pro +Aleph, zaloen na \LaTeX u se jmenuje \textsf{lamed}. + +\item Nejnovj vydn \LaTeX u m novou verzi \acro{LPPL} \Dash te +oficiln schvlen Debian licence. Rozmanit dal aktualizace najdete +v~souborech \filename{ltnews} v~\OnCD{texmf-dist/doc/latex/base}. + +\item Je dodn \cmdname{dvipng}, nov program pro konvertovn \acro{DVI} na +obrazov soubory \acro{PNG}. Viz \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Zredukovali jsme balk \pkgname{cbgreek} na \uv{stedn} velkou +sadu font, se souhlasem a na radu autora (Claudio Beccari). +Odstrann fonty jsou neviditeln, obrysov, a prhledn, +relativn zdka se pouvaj a my jsme potebovali msto. +pln sada je dostupn z~\acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} byl odebrn; pouijte jednodue \cmdname{xdvi}. + +\item Pkazy \cmdname{ini} a \cmdname{vir} (linky) pro +\cmdname{tex}, \cmdname{mf} a \cmdname{mpost} se ji nevytvej, +napklad \cmdname{initex}. Funknost instrukce \cmdname{ini} byla po +cel lta pstupna prostednictvm volby \optname{-ini} na~pkazovm dku. + +\item Podpora platformy \textsf{i386-openbsd} byla zruena. +Jeliko balek \pkgname{tetex} v~\acro{BSD} Ports systmu +je dostupn a \acro{GNU/}Linux a Free\acro{BSD} binrky byly +dostupn, zdlo se nm, e as dobrovolnk me bt vyuit +lpe nkde jinde. + +\item Na \textsf{sparc-solaris} (pinejmenm) jste mon +museli nastavovat promnn prosted +\envname{LD\_LIBRARY\_PATH}, aby bely programy \pkgname{t1utils}. +Je to tm, e jsou kompilovny v~C++, +a neexistuje standardn umstn \singleuv{runtime} knihoven. +(To nen novinka roku 2004, ale nebylo to dv zdokumentovno.) +Podobn, na \textsf{mips-irix}, `runtime' knihovny pro \acro{MIPS} +7.4 jsou nezbytn. +\end{itemize} + +\subsubsection{2005} + +Rok 2005 pinesl jako obvykle mnostv modernizac balk a program. +Infrastruktura zstala relativn stabiln z~roku 2004, ale nutn tak +nastaly njak zmny: + +\begin{itemize} + +\item Byly zavedeny nov skripty \cmdname{texconfig-sys}, \cmdname{updmap-sys} a + \cmdname{fmtutil-sys}, kter mn konfiguraci v~systmovch stromech. + Skripty \cmdname{texconfig}, + \cmdname{updmap} a \cmdname{fmtutil} te mn uivatelsk (user-specific) soubory + v~\dirname{$HOME/.texlive2005}. %$ + +\item Na specifikaci strom obsahujcch konfiguran soubory (uivatelsk resp. systmov) + byly zavedeny odpovdajc nov promnn \envname{TEXMFCONFIG} resp. + \envname{TEXMFSYSCONFIG}. Tedy, mon budete potebovat pesunout osobn verze + soubor \filename{fmtutil.cnf} a \filename{updmap.cfg} na tato msta; jin volba je + pedefinovn \envname{TEXMFCONFIG} nebo \envname{TEXMFSYSCONFIG} v~souboru + \filename{texmf.cnf}. V~kadm ppad skuten pozice tchto soubor a + hodnoty \envname{TEXMFCONFIG} a \envname{TEXMFSYSCONFIG} + se musej shodovat. Viz oddl~\ref{sec:texmftrees}, + strana~\pageref{sec:texmftrees}. + +\item Loni jsme ponechali \verb|\pdfoutput| a jin primitivy nedefinovny + pro vstup \dvi, pestoe byl pouvn program \cmdname{pdfetex}. + Letos, jak jsme slbili, jsme odstranili toto kompatibilitn + opaten. Tedy kdy v dokument pouv + \verb|\ifx\pdfoutput\undefined| + na testovn\'i vstupu do formtu \acro{PDF}, je nutn ho zmnit. Mete + k~tomu pout balk \pkgname{ifpdf.sty} (kter funguje + v~plain \TeX u i \LaTeX u), nebo pout jeho logiku. + +\item Loni jsme zmnili vtinu formt tak, aby vypisovaly (8bitov) znaky + tak jak jsou (viz pedchzejc sekci). Nov TCX soubor + \filename{empty.tcx} te poskytuje jednodu cestu k~dosaen + pvodnho zpisu \verb|^^| kdy si tak budete pt, jako v~ppad: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item Nov program \cmdname{dvipdfmx} je zaazen pro peveden z~\acro{DVI} do \acro{PDF}; +ten je platnou aktualizac programu +\cmdname{dvipdfm} (kter je t jet k~dispozici, i kdy ho nedoporuujeme). + +\item Nov programy \cmdname{pdfopen} a \cmdname{pdfclose} byly pidny, aby +poskytly monost znovu otevt \acro{PDF} +soubory v~programe Adobe Acrobat Reader bez jeho restartu. +(Jin prohlee \acro{PDF}, pedevm \cmdname{xpdf}, +\cmdname{gv} a \cmdname{gsview}, nikdy netrply tmto problmem.) + +\item Kvli dslednosti promnn \envname{HOMETEXMF} a + \envname{VARTEXMF} byly pejmenovny na \envname{TEXMFHOME} resp. na + \envname{TEXMFSYSVAR}. Je tu tak \envname{TEXMFVAR}, kter je + implicitn uivatelsky zvisl (user-specific). Viz prvn bod ve. +\end{itemize} + +\subsubsection{2006--2007} + +V~letech 2006--2007 byl rozshlm prustkem na \TL{} program \XeTeX{}, +pstupn jako programy \texttt{xetex} a \texttt{xelatex}; viz +\url{http://scripts.sil.org/xetex}. + +\MP\ byl tak podstatn aktualizovn, s~mnoha plny do budoucnosti +(\url{http://tug.org/metapost/articles}), podobn pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +Formt \TeX\ \filename{.fmt} (vysokorychlostn formt) a podobn soubory +\MP\ a \MF\ jsou te uloeny v~podadresch \dirname{texmf/web2c}, +namsto pmho uloen v~nm (akoliv je adres stle prohledvn, +v~zjmu stvajcch formt \filename{.fmt}). Podadrese nesou jmna +pouvanch program, napklad \filename{tex} +nebo \filename{pdftex} nebo \filename{xetex}. Tato zmna by mla pi +bnm pouvn zstat nepostehnuta. + +Program (plain) \texttt{tex} ji nete prvn dky \texttt{\%\&} aby +uril, jak formt m spustit; je to ist knuthovsk \TeX. +(\LaTeX\ a vechny ostatn programy stle tou dky \texttt{\%\&}). + +Pochopiteln se bhem roku (jako obvykle) vyskytly stovky jinch +aktualizac balk a program. Jako obyejn, zkontrolujte, prosm, +aktualizace na \acro{CTAN}u (\url{http://www.ctan.org}). + +Vnitn, strom zdrojovch text je nyn uloen v~Subversion, se +standardnm webovskm rozhran\'\i m pro jeho prohlen, kam smruje +odkaz z~na domovsk strnky. Tebae nen v~konen verzi +viditeln, oekvme, e to poskytne zklad pro stabiln rozvoj +v~letech nsledujcch. + +Nakonec, v~kvtnu 2006 Thomas Esser oznmil, e u nebude aktualizovat +te\TeX{} (\url{http://tug.org/tetex}). Vsledkem je nrst zjmu o~\TL{}, +pedevm mezi distributory \GNU/Linuxu. +(Na \TL{} se nachz nov instalan schma \texttt{tetex}u, +poskytujc piblin ekvivalent.) Doufme, e to mon povede +ke zlepen prosted \TeX{}u pro vechny. + +\subsection{Sou\v{c}asnost (2008)} +\label{sec:tlcurrent} + +V~roce 2008 byla cel infrastruktura \TL{} pebudovna a znovu +implementovna. pln informace o~instalaci je nyn +uloena v~textovm souboru \filename{tlpkg/texlive.tlpdb}. + +Mezi dalmi vcmi je konen mon aktualizace instalace \TL{} +z~internetu po pedchoz instalaci. Tuto vlastnost poskytoval +MiK\TeX\ ji adu let. Pedpokldme pravidelnou aktualizaci novch +balk po jejich vydn na \CTAN{}u. + +Obsaen je vznamnj nov stroj (engine) Lua\TeX\ (\url{http://luatex.org}); +krom lep pizpsobivosti v~szen je mono tento vynikajc skriptovac jazyk +pout jak uvnit, tak i~mimo \TeX{}ovsk dokumenty. + +Podpora Windows a unixovch platforem je nyn jednotnj. +Zejmna, vtina skript Perlu a Lua je te k~dispozici pod Windows, +s~pouitm Perlu distribuovanho na~\TL. + +Nov skript \cmdname{tlmgr} (sekce~\ref{sec:tlmgr}) je veobecn rozhran +pro sprvu \TL{} po pedchoz instalaci. Ovld aktualizaci balk +a nsledujc znovuvytvoen formt, mapovacch soubor a jazykovch soubor, +voliteln zahrnujc lokln doplky. + +S~pchodem programu \cmdname{tlmgr}, innosti programu +\cmdname{texconfig} na editaci formt a konfiguranch soubor dlen +slov jsou nyn blokovan. + +Program \cmdname{xindy} pro tvorbu rejstk +(\url{http://xindy.sourceforge.net/}) je nyn zahrnut na vtin +platforem. + +Nstroj \cmdname{kpsewhich} me nyn ohlsit vechny vskyty +pro dan soubor +(option \optname{--all}) a omezen vskyty pro dan podadres +(option \optname{--subdir}). + +Program \cmdname{dvipdfmx} zahrnuje nyn funknost extrakce informace +o `bounding boxu', pomoc povelu \cmdname{extractbb}; toto +byl jeden z~poslednch rys, kter poskytoval \cmdname{dvipdfm}, avak ne +\cmdname{dvipdfmx}. + +Fontov pezdvky \filename{Times-Roman}, \filename{Helvetica}, atd. +byly odstrann. Rzn balky oekvaly jejich rzn chovn (pedevm, +e budou mt rzn kdovn) a nenalezlo se vhodn een tohoto problmu. + +Formt \pkgname{platex} byl odstrann pro konflikt jmen s~japontinou +\pkgname{platex}; +podporu poltiny nyn zajiuje balk \pkgname{polski}. + +Soubory \web{}ovskch etzc (pool) jsou nyn zkompilovan do binrek pro +usnadnn aktualizac. + +A nakonec, v~tomto vydn jsou zahrnuty zmny proveden Donaldem Knuthem +v~jeho \'Uprav\'ach \TeX u roku 2008 (`\TeX\ tuneup of 2008'). +Viz \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsection{Budoucnost} + +\emph{\TL{} nen dokonal!} A~nikdy nebude. Mme v~myslu +pokraovat v~pravidelnch vydnch a rdi bychom poskytovali +vce podprnch materil, program, vetn instalanch a jiste +aktualizovan a lpe zkontrolovan strom maker a font. Tato prce je +provdna dobrovolnky v~jejich limitovanm volnm ase a mnoho +potebnho jet zbv udlat. Viz, prosm, +\url{http://tug.org/texlive/contribute.html}. + +Prosme, polete opravy, nvrhy, nmty a nabdky pomoci na: +\begin{quote} +\email{tex-live@tug.org}\\ +\url{http://tug.org/texlive} +\end{quote} +\smallskip\nobreak +\noindent \textsl{\kern-.4ptastn \TeX ovn!} + +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-de/Makefile b/Master/texmf/doc/texlive/source/texlive-de/Makefile new file mode 100644 index 00000000000..cecbe52710c --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-de/Makefile @@ -0,0 +1,3 @@ +include ../texlive-en/Makefile +doc = texlive-de +lang = german diff --git a/Master/texmf/doc/texlive/source/texlive-de/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-de/live4ht.cfg new file mode 100644 index 00000000000..4d2aa6b940a --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-de/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% also the newest TeX4ht could produce UTF-8 output (-utf8 option) +\Preamble{charset=iso-8859-1,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/source/texlive-de/lmsy10-40.png b/Master/texmf/doc/texlive/source/texlive-de/lmsy10-40.png Binary files differnew file mode 100644 index 00000000000..55c7772320b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-de/lmsy10-40.png diff --git a/Master/texmf/doc/texlive/source/texlive-de/texlive-de.tex b/Master/texmf/doc/texlive/source/texlive-de/texlive-de.tex new file mode 100644 index 00000000000..4291b40950e --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-de/texlive-de.tex @@ -0,0 +1,3091 @@ +% $Id: texlive-de.tex,v 1.81 2008/08/13 20:34:57 hahe Exp hahe $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\ifnum\Status=1 + % Create A4 pdf + \pdfpageheight297mm + \pdfpagewidth210mm +\fi +\let\tldocgerman=1 % for live4ht.cfg +\usepackage{ngerman} +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\def\dante{DANTE~e.\,V\kern-0.15em.} +\begin{document} + +\title{% + {\huge \textit{Anleitung zu \TeX\ Live}\\\smallskip}% + {\LARGE \textsf{\TL{} 2008}}% +} + + +\author{Karl Berry (Herausgeber) \\[3mm] + \url{http://tug.org/texlive/}\\[12mm] + \small{\textit{Verantwortlich fr die deutsche Ausgabe}}\\[3mm] + \small{Klaus Hppner, \email{klaus@dante.de}} \\ + \small{(\dante)} \\[3mm] + } +\date{August 2008} + + +\maketitle +\thispagestyle{empty} + +\newpage + +\begin{multicols}{2} + \tableofcontents + \listoffigures +\end{multicols} + +%\renewcommand{\Status}{0} +%\typeout{Status is \Status} + +\clearpage + +% ============================================================== +\section{Einleitung}\label{sec:intro} + +Diese Anleitung beschreibt das \TL-System. Die {\TL} Distribution enthlt +\TeX/\LaTeX-Systeme fr Linux, verschiedene \acro{UNIX}-Plattformen, {\MacOSX} +und (32-Bit)-Windows. + +Wahrscheinlich haben Sie \TL{} auf einem von zwei Wegen bezogen, entweder +per direktem Download von \TL{} oder als Teil der \DVD{} \TK, die von +vielen \TeX-Vereinen (u.\,a. \dante) an ihre Mitglieder verschickt werden +und in Deutschland ber die Fachbuchhandlung Lehmanns (\url{http://www.lob.de}) +vertrieben wird. Abschnitt~\ref{sec:tl-coll-dists} beschreibt kurz den +Inhalt der \TK-\DVD. Sowohl \TL{} und die \TK{} sind durch das Engagement +vieler Freiwilliger aus vielen \TeX-Vereinen entstanden. Im brigen +beschrnkt sich diese Anleitung auf \TL{} an sich. + +{\TL} enthlt lauf"|fhige Versionen von \TeX, \LaTeXe, \ConTeXt, \MF, \MP, +{\BibTeX} und vielen anderen Programmen, +sowie eine umfassende Auswahl an Makros, Zeichenstzen und +Beschreibungen, die gem der Standard"=\TeX"=Verzeichnisstruktur (\TDS) +abgelegt sind. + +Wenn Sie neuere Versionen der dort aufgefhrten Pakete zu suchen wollen, gehen Sie am besten zu \acro{CTAN}: +\url{http://www.ctan.org/}. + +Eine kurze Zusammenfassung der wesentlichen nderungen der aktuellen \TL-Version +gegenber der Vorgngerversion finden Sie im Abschnitt~\ref{sec:history} auf +Seite~\pageref{sec:history}. + +\subsection{Untersttzung verschiedener Betriebssysteme} +\label{sec:os-support} +\TL{} enthlt direkt ausfhrbare Programme fr viele Unix-basierte +Betriebssysteme, inklusive \MacOSX. Selbst wenn Ihr Unix-System wider +Erwarten nicht untersttzt wird, sollten Sie in der Lage sein, aus +den mitgelieferten Programm-Quellen ein funktionierendes \TeX-System zu +kompilieren. + +Bezglich Microsoft Windows werden Versionen ab Windows~2000 untersttzt, +whrend die aktuelle \TL{} unter Windows 95/98, ME und NT nicht +mehr lauffhig ist. Es existieren zwar keine 64-Bit-Versionen der +Programme, allerdings sollten die 32-Bit-Programme problemlos auf +64-Bit-Systemen funktionieren. + +% ------------------------------------------------------------- +\subsection{Einsatzmglichkeiten des \TL-Systems der \TK}\label{sec:basic} + +Sie knnen das \TL-System wahlweise von der \DVD{} oder ber das +Internet installieren. Der \emph{Net Installer} ist ein kleines Programm, +das die bentigten Teile aus dem Internet nachldt. Dieser Weg bietet +sich an (eine schnelle und stabile Internetverbindung voraus gesetzt), +wenn Sie kein komplettes \TL{} installieren wollen, sondern Ihr System nur +mit bestimmten Paketen bestehen soll. + +Wenn Sie die \DVD{} besitzen (oder das ISO-Image der \DVD{} herunter +geladen haben -- dieses kann auf einigen Systemen sogar direkt als +virtuelles Medium ">gemountet"< werden), knnen Sie \TL{} nach +Wunsch auf Ihrer Festplatte installieren oder direkt von der \DVD +benutzen. + +Beide Methoden werden in den Abschnitten zur Installation beschrieben. +Hier daher nur die kurze Zusammenfassung: + +\begin{itemize*} +\item Das Hauptinstallationsskript ist \cmdname{install-tl}. Es existiert +sowohl im Textmodus als auch in Form einer grafischen Benutzeroberflche (GUI). +Unter Windows ist der grafische Modus der Standard, auf allen anderen +Systemen der Textmodus. Durch die Optionen \code{-gui} bzw.\ \code{-no-gui} +knnen Sie gezielt einen der beiden Modi auswhlen. +\item \TL installiert u.\,a. den neuen ">\TL Manager"< mit dem Namen +\prog{tlmgr}. Auch dieser untersttzt Text- und GUI-Mode. Mit diesem +Programm knnen Sie einerseits Pakete von \TL installieren oder deinstallieren, +andererseits \TL konfigurieren. +\end{itemize*} + + +% ------------------------------------------------------------- +\subsection{">Wo bekomme ich Hilfe?"< oder ">Hier werden Sie geholfen!"<}\label{sec:help} + +Die \TeX-Gemeinschaft ist ebenso aktiv wie hilfsbereit, und es wird +praktisch jede ernst gemeinte Frage beantwortet. Diese Hilfe ist allerdings +nicht formal organisiert, sondern wird von Freiwilligen in ihrer +Freizeit geleistet. Es ist daher ernst gemeint, dass Sie vor einer +Fragestellung Ihre ">Hausaufgaben"< gemacht haben. Falls Sie auf +eine garantierte kommerzielle Untersttzung angewiesen sind oder eine solche +bevorzugen, sollten Sie die Finger vollstndig vom \TL-System lassen und +in der Aufstellung unter \url{http://tug.org/interest.html#vendors} nach +einem geeigneten Hndler suchen. + +Die folgende Liste stellt die leicht zugnglichen Quellen in der +empfohlenen Reihenfolge vor: + +\begin{description} +\item [Einfhrung:]\mbox{}\\ + Wenn Sie \TeX-Anfnger sind und eine englische Einfhrung in das System bentigen, + sollten Sie das \acro{WWW}-Dokument \url{http://tug.org/begin.html} (Englisch) lesen. + + Fr deutschsprachige \LaTeX-Anfnger ist die ">\LaTeXe-Kurzbeschreibung"< von groem Nutzen + (\OnCD{texmf-doc/doc/german/lshort-german/l2kurz.pdf}). +\item [\TeX-\acro{FAQ}s:]\mbox{}\\ + Die \TeX-\acro{FAQ} (im Deutschen + \file{de-tex-faq} ">\emph{Fragen und Antworten [\acro{FAQ}] ber + das Textsatzsystem TeX und \acro{DANTE}, Deutschsprachige + Anwendervereinigung TeX e.V.}"<) ist ein riesiges Kompendium + mit Fragen (und Antworten) aller Art, von der einfachsten + Anfngerfrage bis zu Expertenwissen. + % Sie ist Bestandteil + % des \TL-Systems (\OnCD{texmf-doc/doc/german/FAQ-de/}) und umfasst zur + % Zeit 182~Seiten als PDF-Datei (\OnCD{texmf-doc/doc/german/FAQ-de/de-tex-faq.pdf}). + % Darber hinaus ist die + % \acro{FAQ} als \HTML-Datei (\OnCD{texmf-doc/doc/german/FAQ-de/html/index.html}) + % und als durchsuchbare Textdatei + % (\OnCD{texmf-doc/doc/german/FAQ-de/text/index.html}) enthalten. + % Im Internet finden Sie die \acro{FAQ} unter + Sie finden die deutschsprachige \acro{FAQ} unter + \url{http://www.dante.de/faq/de-tex-faq/}; zudem wird die + Text"-ver"-sion regelmig in die News-Gruppe + \url{news:de.comp.text.tex} + verschickt. Die \acro{FAQ} besteht aus mehreren Teilen, wobei + jeder Teil ohne News-Header nicht lnger als ca. 32\,KB ist. + + Des Weiteren existiert eine englischsprachige \acro{FAQ}-Sammlung + (\OnCD{texmf-doc/doc/english/FAQ-en/newfaq.pdf}), die auch im Internet verfgbar ist + (\url{http://www.tex.ac.uk/faq}). + + Bitte nutzen Sie bei Problemen zu allererst diese beiden Mglichkeiten. + +\item [\TeX-Catalogue:]\mbox{}\\ + Wenn Sie auf der Suche nach einem bestimmten Paket, + Font, Programm u.\,. sind, empfiehlt sich ein Blick in den + \TeX-Catalogue. Dieser Katalog enthlt eine Liste aller verfgbaren + \TeX-spezifischen Dinge (siehe + % \OnCD{texmf-doc/doc/english/catalogue} oder + \url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}). + +\item [\TeX-\acro{WWW}-Ressourcen:]\mbox{}\\ + Im \acro{WWW}-Dokument \url{http://tug.org/interest.html} finden Sie eine groe Anzahl \TeX-spezifischer + Links zu Bchern, Manuals und Artikeln zu allen Aspekten des \TeX-Systems. + +\item [Archive:]\mbox{}\\ + Ein Forum fr die Hilfestellung sind die Usenet-News-Gruppen + \url{news:de.comp.text.tex} (Deutsch), \url{news:comp.text.tex} (Englisch) + und die Mailing-Liste \email{texhax@tug.org}. In deren Archiven finden + sich die Fragen und Antworten vieler Jahre. Ihre Suche knnen Sie in Google + beispielsweise mit \url{http://groups.google.de/group/de.comp.text.tex/topics} + starten -- oder auch in \url{http://tug.org/mail-archives/texhax/}. + + Im Allgemeinen ist es recht Erfolg versprechend, eine generelle Suche ber Google + \url{http://www.google.de/} durchzufhren (entweder im \emph{WWW} allgemein + oder in den \emph{News-Gruppen}); dies insbesondere, wenn es sich um Fragen ber + \PS/PDF, \cmdname{Ghostscript} u.\,. handelt. + +\item [Fragen stellen:]\mbox{}\\ + Wenn Sie mit den oben aufgezeigten Mglichkeiten immer noch keine + Antwort auf Ihre Frage gefunden haben, knnen Sie die Frage auch in einer + News-Gruppe stellen (neudeutsch: \emph{posten}). Hier bietet sich fr + den deutschsprachigen Raum die News-Gruppe \url{news:de.comp.text.tex} an. + Benutzen Sie am besten fr Anfragen Google + (\url{http://groups.google.de/group/de.comp.text.tex/topics}) + oder einen Newsreader. Fragen an die englischsprachige Gruppe + \url{news:comp.text.tex} + (bei Google: \url{http://groups.google.de/group/comp.text.tex/topics}) + sollten Sie bitte nur in Englisch stellen. + + Zustzlich existieren E-Mail-Diskussionslisten, wobei hier die deutschsprachige Liste + \email{TeX-D-L@listserv.dfn.de} zu nennen ist (das englischsprachige quivalent + ist \email{texhax@tug.org}). Darber hinaus bietet sich fr Mitglieder + von \acro{DANTE}~e.V. der Beraterkreis an (\email{beraterkreis@dante.de}). + Wie Sie sich in die E-Mail-Liste \dirname{TeX-D-L} eintragen knnen, + finden Sie in der \acro{FAQ} unter ">\texttt{1.3.2 Was ist TeX-D-L?}"<. + + Bevor Sie aber eine Frage absenden, lesen Sie \emph{bitte} die entsprechenden + Eintrge der \acro{FAQ} zum Thema ">\emph{Wie stelle ich eine Frage in einer + Newsgroup, damit ich mit hoher Wahrscheinlichkeit eine Antwort bekomme?}"<. So + z.\,B. ">\texttt{1.3.1 Was ist `de.comp.text.tex'?}"< und ">\texttt{1.3.7 Was + sollte ich gelesen haben, bevor ich eine Frage in `de.comp.text.tex' oder der + Diskussionsliste TeX-D-L stelle?}"< oder auch + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [Mithilfe:]\mbox{}\\ + Wenn Sie einen Fehler melden wollen oder Empfehlungen und Kommentare + zur \TL-Verteilung, -Installation oder -Dokumentation geben mchten, sollten Sie die + E-Mail-Liste \email{tex-live@tug.org} nutzen. + Korrekturen, Anmerkungen und Erweiterungen fr die deutsche bersetzung knnen Sie auch + an \email{cdrom@dante.de} oder schriftlich an die Geschftsstelle von + \acro{DANTE}~e.V. senden. + + Fragen zu Programmen, die Sie in der {\TK} finden, sollten Sie besser auf + einer der oben genannten Mailing-Listen stellen oder direkt an den Programmautor + richten. +\end{description} + +Auf der anderen Seite knnen auch Sie mit Ihrem Wissen helfen. Die News-Gruppen +\url{news:de.comp.text.tex} (in Deutsch), \url{news:comp.text.tex} (in Englisch) und +die Mailing-Liste \email{TeX-D-L@listserv.dfn.de} (Deutsch) und \email{texhax@tug.org} (Englisch) +stehen allen offen. Wenn Sie also dort mitlesen, scheuen Sie sich nicht, Fragen, +zu denen Sie eine Antwort wissen, zu beantworten und damit anderen zu helfen. + +% ============================================================== +\section[berblick zum \protect\TeX Live-System]{berblick zum \TL-System} +\label{sec:overview-tl} +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. + +In diesem Abschnitt beschreiben wir Struktur und Inhalt des \TL-Systems und der bergeordneten \TK-\DVD. + + +% ------------------------------------------------------------- +\subsection[Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX]% +{Die \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX}\label{sec:tl-coll-dists} + +Die \DVD ">\TK"< besteht aus: +\begin{description} +\item[\TL] Ein komplettes \TeX-System, wahlweise zur Installation auf Festplatte oder zur direkten Benutzung +von der \DVD. +\item[Mac\TeX] fr \MacOSX. Dieses enthlt das komplette \TL, bietet zustzlich aber ein Installationsprogramm +fr Mac und einige Zusatzprogramme. Nhere Informationen finden Sie auf der Homepage von Mac\TeX{} unter +\url{http://www.tug.org/mactex/}. +\item[pro\TeX{}t] basiert auf der \MIKTEX-Distribution fr Windows. Es enthlt noch einige Zusatzprogramme und +stellt eine einfache Installationsanleitung bereit, die Schritt fr Schritt den Weg zu einem kompletten +\TeX-System beschreibt. Die Homepage von pro\TeX{}t findet sich unter \url{http://tug.org/protext}. +\item[CTAN] Weiterhin ist auf der \DVD{} ein Ausschnitt der \TeX-bezogenen Software enthalten, die sich +in CTAN, dem \emph{Comprehensive \TeX{} Archive Network} befinden. +\item [\texttt{texmf-extra}] In diesem Verzeichnis befinden sich zustzliche Pakete, die kein Teil von +\TL sind. +\end{description} + +\CTAN{}, \pkgname{protext} und \dirname{texmf-extra} unterliegen nicht den selben Lizenzregeln wie \TL. +Daher knnen fr Teile hieraus andere Lizenzbedingungen bezglich einer Weiterverteilung oder +Modifikation gelten, die Sie unbedingt beachten sollten! + +% ------------------------------------------------------------- +\subsection{Basisverzeichnisse von \TL}\label{sec:tld} + +In diesem Abschnitt beschreiben wir die Basisverzeichnisse der \TL-Distribution. + +Auf der \pkgname{live}-\DVD befindet sich die gesamte \TL-Hierarchie im Unterverzeichnis \dirname{texlive} +-- nicht im Wurzelverzeichnis der \DVD. + +\begin{center} +%% \begin{longtable}{@{}>{\ttfamily}lp{.63\hsize}@{}} +%% \hline +%% \rm +%% Verzeichnis & Inhalt \\ +%% \hline +%% \endfirsthead +%% \rm +%% Verzeichnis & Inhalt \\ +%% \hline +%% \endhead +%% \hline +%% \endfoot +\begin{tabular}{@{}>{\ttfamily}lp{.75\linewidth}@{}} +bin & ausfhrbare Programme des \TeX-Systems; + jeweils fr die verschiedenen Rechnerplattformen + in Unterverzeichnissen zusammengefasst\\ +readme-html.dir & in diesem Verzeichnis (!) befinden sich HTML-Dateien + in verschiedenen Sprachen, die als schneller + Einstieg in \TL empfehlenswert sind.\\ +readme-txt.dir & in diesem Verzeichnis (!) befinden sich Text-Dateien + mit den gleichen Inhalten wie in {\ttfamily readme-html.dir}.\\ +source & Quelldateien aller Programme inklusive der + \Webc-Quellen fr die \TeX- und \MF-Pakete als + komprimierte \file{bzip2}"=Archive\\ +support & verschiedene Programme und Hilfspakete, die \emph{nicht} automatisch + mitinstalliert werden, wie z.\,B. Editoren und \TeX-Shells\\ +texmf & Verzeichnisbaum fr Programme und zugehrigen Hilfsdateien und Anleitungen; enthlt keine \TeX-Formate + und Pakete (siehe \texttt{TEXMFMAIN} im nchsten Abschnitt)\\ +texmf-dist & Hauptbaum mit Formaten und Paketen (siehe \texttt{TEXMFDIST} im nchsten Abschnitt)\\ +texmf-doc & Verzeichnisbaum mit vollstndigen Dokumentationen (ohne andere installierte Dateien); sortiert nach + Sprachen \\ +texmf-var & Verzeichnisbaum fr automatisch erzeugte und gespeicherte Dateien + fr \TeX, {\MF} und andere (siehe \texttt{TEXMFSYSVAR} im nchsten Abschnitt),\\ +%%\end{longtable} +\end{tabular} +\end{center} +% +Zustzlich zu den oben aufgefhrten Verzeichnissen finden Sie +im Wurzelverzeichnis der Distribution +auch noch die Installationsskripte. + +Das Verzeichnis \OnCD{texmf-doc} enthlt zwar nur Anleitungen, bei weitem aber nicht die gesamte Dokumentation: +Die Dokumentation fr Programme (Handbcher, ">man~pages"<, \acro{GNU}-\acro{info}-Dateien) beispielsweise finden Sie +im Verzeichnis \OnCD{texmf/doc}, da die Programme selbst sich im Verzeichnis \OnCD{texmf} befinden. hnliches +gilt fr die Dokumentation der \TeX-Pakete und -Formate im Verzeichnis \OnCD{texmf-dist/doc}. + +Benutzen Sie die Programme \cmdname{texdoc} oder \cmdname{texdoctk}, wenn Sie auf der Suche nach irgendeiner +Dokumentationsdatei sind. Hilfreich in diesem Zusammenhang knnte auch die Link-Sammlung \filename{doc.html} im +Wurzelverzeichnis sein. + +Die Anleitung zu \TL ist in verschiedenen Sprachen verfgbar: +\begin{itemize*} +\item{Chinesisch:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn/texlive-zh-cn} +\item{Tschechisch/Slowakisch:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz/live} +\item{Englisch:} \OnCD{texmf-doc/doc/english/texlive-en/texlive-en} +\item{Franzsisch:} \OnCD{texmf-doc/doc/french/texlive-fr/texlive-fr} +\item{Deutsch:} \OnCD{texmf-doc/doc/german/texlive-de/texlive-de} (dieses Dokument) +\item{Polnisch:} \OnCD{texmf-doc/doc/polish/texlive-pl/texlive-pl} +\item{Russisch:} \OnCD{texmf-doc/doc/russian/texlive-ru/texlive-ru} +\end{itemize*} + +% ------------------------------------------------------------- +\subsection{berblick ber die vordefinierten texmf-Bume} +\label{sec:texmftrees} + +Dieser Abschnitt listet alle vordefinierten texmf-Bume, die vom System benutzt +werden, und deren Bedeutung auf. Das Kommando \cmdname{texconfig conf} +zeigt Ihnen die aktuellen Einstellungen dieser Variablen an. + +\begin{ttdescription} +\item [TEXMFMAIN] In diesem Baum befinden sich wichtige Teile des Systems, + Hilfsprogramme (wie \verb+web2c/mktexdir+), pool-Dateien und andere + Hilfsdateien. +\item [TEXMFDIST] In diesem Baum befinden sich die wesentlichen Makro-Pakete, + Fonts usw. Dieser Baum enthlt systemunabhngige Daten, die prinzipiell + von jedem TDS-kompatiblem \TeX-System nutzbar sein sollten. +\item [TEXMFLOCAL] Dieser Baum ist fr Ergnzungen oder Aktualisierungen + von Makros, Fonts etc. gedacht, die Administratoren fr alle Nutzer + installieren. +\item [TEXMFHOME] In diesem Baum knnen einzelne Nutzer Ergnzungen oder + Aktualisierungen von Makros, Fonts etc. ablegen. Standardmig befindet + sich dieser Baum unterhalb von \verb+$HOME+, so dass andere Nutzer von + nderungen hier nicht beeinflusst werden. +\item [TEXMFCONFIG] Dieser Baum wird von den Hilfsprogrammen von te\TeX{} + wie \verb+texconfig+, \verb+updmap+ und \verb+fmtutil+ verwendet. + Standardmig befindet sich dieser Baum unterhalb von \verb+$HOME+, + so dass andere Nutzer von nderungen hier nicht beeinflusst werden. +\item [TEXMFSYSCONFIG] Dieser Baum wird von den Hilfsprogrammen von te\TeX{} + wie \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+ + verwendet, so dass hier das Verhalten des \TL-Systems fr alle Nutzer + beeinflusst werden kann. +\item [TEXMFVAR] Dieser Baum wird von Hilfsprogrammen wie \verb+texconfig+, + \verb+updmap+ und \verb+fmtutil+ benutzt, um automatisch generierte + Konfigurations-Dateien abzulegen. +\item [TEXMFSYSVAR] Dieser Baum wird von den systemweiten Hilfsprogrammen + wie \verb+texconfig-sys+, \verb+updmap-sys+ und \verb+fmtutil-sys+ + verwendet, um automatisch generierte Konfigurations-Dateien abzulegen. +\end{ttdescription} + +\noindent +Der Standard der Verzeichnisstruktur von \TL sieht wie folgt aus: +\begin{description} + \item[System-weites Wurzelverzeichnis] kann \TL{}-Versionen aus mehreren Jahren beinhalten: + \begin{ttdescription} + \item[2007] Eine Vorversion von \TL. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] Die aktuelle Version. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf] Hierauf verweist \envname{TEXMFMAIN}. + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, dieses Verzeichnis gilt fr alle installierten \TL-Versionen + (aktuelle Version und Vorgngerversion), so dass hier durchgefhrte lokale nderungen ber die + Jahre hinweg erhalten bleiben. + \end{ttdescription} + \item[Home-Verzeichnis des Benutzers] + (\texttt{\$HOME} oder \texttt{\%USERPROFILE\%}): + \begin{ttdescription} + \item[.texlive2007] Vom Nutzer privat erzeugte Dateien and Konfigurationsdaten + der Vorversion. + \item[.texlive2008] Vom Nutzer privat erzeugte Dateien and Konfigurationsdaten + fr die aktuelle Version von \TL. + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Persnliche Makros, Fonts usw. des Nutzers. + \textit{etc.} + \end{ttdescription} +\end{description} + +% ------------------------------------------------------------- +\subsection{\protect\TeX-Erweiterungen}\label{sec:tex-extensions} + +Unter den \TeX-Systemen der {\TL} befinden sich verschiedene +\TeX"=Erweiterungen: + +\begin{description} +\item [\eTeX]\label{text:etex} stellt bei 100\%-iger Kompatibilitt zum + normalen {\TeX} einen kleinen, aber mchtigen Satz neuer Befehle + bereit (fr Makroexpansion, Character-Scanning, zustzliche + Klassen fr ">marks"<, erweiterte Debug-Mglichkeiten und andere). + Zustzlich gibt es noch die \TeXXeT-Erweiterungen fr den bidirektionalen Textsatz, + wie er beispielsweise im Arabischen gebraucht wird. + Im voreingestellten Modus ist {\eTeX} 100\%-ig kompatibel mit dem ">normalen"< \TeX. + Die Dokumentation zu {\eTeX} finden Sie in der Datei + \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. +\item [pdf\TeX] enthlt die \eTeX\ Erweiterungen und erlaubt zustzlich + die Ausgabe in PDF-Dateien sowie {\dvi}-Dateien. + Die Dokumentation zu pdf\TeX{} finden Sie unter + \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + In der Datei + \OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} finden + Sie ein Anwendungsbeispiel. Das \LaTeX"=Paket \pkgname{hyperref} + besitzt die Option \optname{pdftex} mit der Mglichkeit + fr aktive Querverweise (Hypertext) in PDF-Dateien. +\item [Lua\TeX] befindet sich noch in Entwicklung + und ist als zuknftiger Nachfolger von pdf\TeX\ vorgesehen, + zu dem es abwrtskompatibel bleiben soll. + Weiterhin soll es auch Aleph ersetzen. + Durch den enthaltenen Lua-Interpreter (s.\,\url{http://www.lua.org/}) + knnen Probleme, die in \TeX{} nur mhsam lsbar sind, + einfach und elegant gelst werden. + Wird es unter dem Namen \filename{texlua} aufgerufen, + verhlt es sich wie ein eigenstndiger Lua-Interpreter + -- und wird als solcher in vielen Skripten von \TL bereits benutzt. + Fr weitere Informationen siehe \url{http://www.luatex.org/} und + \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. +\item [XeTeX] bietet die Untersttzung von Unicode Zeichenstzen und + OpenType Schriften durch diverse zustzliche Bibliotheken. + Mehr Informationen sind unter \url{http://scripts.sil.org/xetex} + verfgbar. +\item [\OMEGA] (Omega) ist ein \TeX-System, das intern mit Unicode + (16-Bit"=Unicode"=Zeichen) arbeitet und damit das gleichzeitige + Arbeiten mit nahezu allen auf der Welt eingesetzten Schriften + und deren Zeichenkodierungen erlaubt. Auerdem werden ber dynamisch + geladene, sogenannte ">{\OMEGA}~Translation~Processes"< (\acro{OTP}s) + Transformationen zur Verfgung gestellt, die beliebige Eingaben + vor der Bearbeitung durch {\TeX} nach bestimmten Regeln + umformen. Die (nicht ganz aktuelle) Anleitung zu {\OMEGA} finden + Sie in dem \TL-System in der Datei \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. +\item [$\aleph$] (Aleph) vereinigt die \OMEGA- und \eTeX-Erweiterungen. + Eine Minimaldokumentation finden Sie in \OnCD{texmf-dist/doc/aleph/base}. +\end{description} + +%\clearpage + +% ------------------------------------------------------------- +\subsection{Weitere Programme von \TL} + +{\TL} enthlt eine ganze Reihe untersttzender Programme wie + +\smallskip + +\begin{description} +\item[\cmdname{bibtex}] Verwalten von Bibliographien +\item[\cmdname{dv2dt, dt2dv}] \file{dvi} nach ASCII und umgekehrt +\item[\cmdname{dviconcat}] Zusammenfgen von \dvi-Dateien +\item[\cmdname{dvips}] Konversion von {\dvi} in {\PS} +\item[\cmdname{dviselect}] Ausschneiden von Seiten aus \dvi-Dateien +\item[\cmdname{dvipdfmx}] \dvi-nach-PDF-Konverter (erzeugt auch + \acro{CJK}-konformes PDF aus + \dvi-Dateien mit \OMEGA"=Erweiterungen), als Alternative + zu pdf\TeX +\item[\cmdname{dvilj}] Druckertreiber fr die HP-LaserJet"=Familie +\item[\cmdname{lacheck}] \LaTeX-Syntax-berprfung +\item[\cmdname{makeindex}] Erzeugen eines Stichwortverzeichnisses +\item[\cmdname{mpost}] \MF-hnliches Grafikprogramm +\item[\cmdname{psnup}] mehrere logische \PS-Seiten auf einem Blatt platzieren +\item[\cmdname{psselect}] Ausschneiden von Seiten aus \PS-Dateien +\item[\cmdname{tex4ht}] \TeX-nach-\HTML-Konvertierung +\item[\cmdname{texexec, texmfstart}] \ConTeXt- und PDF"=Prozessor +\item[\cmdname{xdvi}] \dvi-Bildschirmausgabe im X-Window-System +\end{description} + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} enthlt eine Vielzahl qualitativ hochwertiger Vektorschriften. Weitere Informationen hierzu finden sich unter \url{http://tug.org/fonts} und \OnCD{texmf-doc/doc/english/free-math-font-survey/survey}. + +% ============================================================== +\section[Installation von \TeX Live]{Installation von \protect\TL} +\label{sec:install} + +\subsection{Das Installationsprogramms} +\label{sec:inst-start} + +Zur Installation von \TL bentigen Sie die \TK{}-\DVD{} oer den \emph{\TL{} Net Installer} aus dem Internet. + +\begin{description} +\item [Net Installer:] Verfgbar von \CTAN, unter +\dirname{systems/texlive/tlnet}; die URL +\url{http://mirror.ctan.org/systems/texlive/tlnet} leitet Sie automatisch +an einen nahe gelegenen Server des \CTAN-Netzwerks weiter. +Sie knnen entweder die Datei \filename{install-tl.zip} herunter laden, +die sowohl fr Unix als auch Windows gedacht ist, +oder die deutlich kleinere Datei \filename{install-unx.tar.gz}, +die aber nur den Installer fr Unix enthlt. +Nach dem Auspacken finden Sie die Dateien \filename{install-tl} (Unix) +bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{install-tl}. + +\item [\TeX{} Collection \DVD:] Hier finden Sie die Dateien \filename{install-tl} (Unix) +bzw.\ \filename{install-tl.bat} (Windows) im Verzeichnis \dirname{texlive} +der \DVD. Unter Windows startet beim Einlegen der DVD i.\,A. automatisch ein Programm, bei dem Sie u.\,a. das +Installationsprogramm von \TL auswhlen knnen. Die \DVD\ erhalten Sie als Mitglied eines \TeX-Vereins +(wie \url{http://www.dante.de} fr den deutschsprachigen Raum, weitere Vereine finden Sie unter +\url{http://tug.org/usergroups.html}), oder innerhalb Deutschlands von der Fachbuchhandlung Lehmanns +(\url{http://www.lob.de}) oder international von der \TeX{} Users Group +(\url{http://tug.org/store}). Alternativ knnen Sie das \ISO-Image der \TL (\url{http://tug.org/texlive/acquire.html}) aus dem Internet laden. + +\end{description} + +Die folgenden Abschnitte beschreiben die Installation fr die einzelnen Betriebssysteme. +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{Installationsprogramm im Text-Modus (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Grafische Oberflche des Installationsprogramms (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +Im Folgenden werden die Eingaben des +Benutzers nach dem Kommando-Prompt \samp{>} \Ucom{fett} dargestellt. + +ffnen Sie ein Terminalfenster auf Ihrem Unix-System und geben Sie folgende Befehle ein: +\begin{alltt} +> \Ucom{cd /pfad/zum/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Sie knnen auch direkt \Ucom{perl /pfad/zum/installer/install-tl} eingeben. Wenn Ihre +\DVD so gemountet ist, dass als ausfhrbar gekennzeichnete Skripte direkt gestartet werden +knnen, knnen Sie im Verzeichnis des Installers auch direkt +\Ucom{./install-tl} eingeben.) + +Zum Installieren mit Hilfe einer Benutzeroberflche verwenden Sie +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +Alle Optionen des Installationsprogramms werden mit +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} +angezeigt. + +\textbf{Wichtiger Hinweis zu den Zugriffsrechten unter Unix:} Ihre aktuelle Einstellung von \code{umask} +wird bei der Installation von \TL{} bercksichtigt. Daher mssen Sie darauf achten, dass Sie hierfr +einen sinnvollen Wert einstellen (z.\,B. \code{umask002}), wenn Ihre Installation auch durch andere Nutzer +als Sie benutzt werden soll. Falls Sie unsicher sind, was dies bedeutet, schauen Sie bitte in die Anleitung +zu \code{umask} (indem Sie das Kommando \code{man umask} eingeben). + +\subsubsection{Mac\,OS\,X} + +Wie in Abschnitt~\ref{sec:tl-coll-dists} bereits erwhnt wurde, existiert mit Mac\TeX{} (\url{http://tug.org/mactex}) ein eigenes \TeX-System fr \MacOSX. Dieses enthlt ein +komplettes \TL mit einem Installationsprogramm, das in Funktionalitt und Aussehen der blichen Installation von Software unter \MacOSX entspricht. Weiterhin sind einige Zusatzprogramme enthalten. + +Wenn Sie die \TK-\DVD besitzen, empfiehlt es sich daher, Mac\TeX{} zu verwenden. + +\subsubsection{Windows} + +Wenn Sie den \emph{Net Installer} verwenden, oder auf Ihrem System beim Einlegen der \DVD das +Installationsprogramm nicht automatisch gestartet wurde, knnen Sie die Installation von +\TL im Windows-Explorer durch Doppelklick auf \filename{install-tl.bat} (auf der \DVD befindet +sich diese Datei im Verzeichnis \texttt{texlive}) starten. + +Alternativ knnen Sie eine MS-DOS"=Eingabeaufforderung verwenden, dort in das Verzeichnis wechseln, +in dem sich das Installationsprogramm befindet und dort +\begin{alltt} +D:\bs{}texlive\bs{}> \Ucom{install-tl} +\end{alltt} +eingeben -- \texttt{...>} kennzeichnet hierbei den Eingabeprompt; +Ihre Eingabe ist \Ucom{\texttt{bold/fett}} dargestellt. + +Alternativ knnen Sie die Installation auch aus einem beliebigen Verzeichnis heraus starten: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +wobei wir hier annehmen, dass sich ihre \TK-\DVD im Laufwerk D: befindet. + +Zur Installation im Textmodus verwenden Sie: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +Alle vorhandenen Optionen, die beim Starten des Installationsprogramms verwendet werden knnen, werden +wie folgt angezeigt: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{Installation im Textmodus} + +Abb.~\ref{fig:text-main} zeigt den Eingangsbildschirm des Installationsprogramms im Textmodus. +Dieser ist ein reiner Textmodus, d.\,h., es gibt somit keine Untersttzung zum Wandern durch die +einzelnen Menpunkte mit den Cursor-Tasten. Alle Befehle wie z.\,B. die Auswahl von Menpunkten werden +durch Eingabe der entsprechenden Befehle bzw.\ Menkrzel ber die Tastatur eingegeben und +dann durch Drcken von \emph{Enter} bernommen. Hierbei wird zwischen Gro- und Kleinschreibung +unterschieden! + +Die Installation im Textmodus ist so spartanisch, weil dieser Modus berall funktionieren soll und daher +auf die Verwendung von Bibliotheken wie \texttt{ncurses} unter Unix verzichtet wurde. + +\subsubsection{Installation mit Benutzeroberflche} + +Abb.~\ref{fig:gui-main} stellt den Eingangsbildschirm des Installationsprogramms unter +Windows dar. Hier ist die Installation im grafischem Modus voreingestellt. +Der Groteil der Unterschiede in den Menpunkten +im Vergleich zur Darstellung im Textmodus in Abb.~\ref{fig:text-main} +ergibt sich aus der Tatsache, +dass das hier abgebildete GUI-Fenster unter Windows dargestellt wurde. + +\subsection{Benutzung des Installationsprogramms} +\label{sec:runinstall} + +Das Installationsprogramm sollte (wenn Sie die vorherigen Abschnitte zum Aufbau von \TL und der +verwendeten Verzeichnisstruktur gelesen haben) weitgehend selbsterklrend sein. Trotzdem wollen wir +auf einige Punkte nher eingehen. + +\subsubsection{Auswahl der Binaries (nur fr Unix)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Auswahlmen fr Binaries}\label{fig:bin-text} +\end{figure} + +Abb.~\ref{fig:bin-text} zeigt das Auswahlmen fr die Binaries der einzelnen Betriebssysteme im Textmodus. +Im Allgemeinen sollte hier schon das richtige System ausgewhlt sein. Sie knnen aber problemlos Binaries +fr verschiedene Systeme parallel auswhlen. Dies bietet sich an, wenn Ihre Installation auf verschiedenen +Rechnern in einem heterogenen Netzwerk sichtbar ist und von dort aus benutzt werden soll. + +\subsubsection{Auswahl der zu installierenden Komponenten} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Men zur Auswahl des Schemas}\label{fig:scheme-text} +\end{figure} + +Abb.~\ref{fig:scheme-text} zeigt das Auswahlmen fr ein grundstzliches Installationsschema der +\TL. Durch die Auswahl eines Schemas werden automatisch die Komponenten zur Installation ausgewhlt, die +fr das gewnschte Schema notwendig bzw.\ sinnvoll sind. Mit einer vollstndigen Installation von \TL +(\emph{full scheme}) sind Sie auf der sicheren Seite, da hier einfach alles installiert wird. Sie knnen +aber auch eines der abgespeckten Schemas wie \emph{basic} (fr ein sehr schlankes System), \emph{medium} +oder \emph{minimal} (dies empfiehlt sich aber nur fr Testsysteme und weniger zum ernsthaften Arbeiten) +auswhlen. Weiter stehen einige Schemas fr spezielle Zwecke oder Sprachen zur Verfgung. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Men zur Aus- oder Abwahl von Collections (hier unter Linux)}\label{fig:collections-gui} +\end{figure} + +Wenn Sie das Schema ausgewhlt haben, knnen Sie dieses in den Menpunkten \emph{standard collections} und +\emph{language collections} (s.\,Abb.~\ref{fig:collections-gui}, diesmal zur Abwechslung im GUI-Modus) +individuell nach Ihren Wnschen anpassen. + +Whrend das Schema nur den grundlegenden Funktionsumfang vorgibt, ist die Auswahl von Komponenten auf der +Ebene der \emph{Collections} viel feiner. Eine Collection besteht dabei aus mehreren Paketen zu einem Thema, +wobei jedes der Pakete aus bestimmten Makrodateien, Fontdateien usw. bestehen kann. + +Noch mehr Kontrolle ber die Komponenten Ihres Systems haben Sie nach der Installation mit dem Programm~\prog{tlmgr}, das in Abschnitt~\ref{sec:tlmgr} beschrieben wird. Hier knnen Sie gezielt einzelne +Pakete installieren oder entfernen. + +\subsubsection{Verzeichnisse} +\label{sec:directories} + +Die Verzeichnisstruktur von \TL wurde bereits im Abschnitt~\ref{sec:texmftrees} auf S.~\pageref{sec:texmftrees} +beschrieben. Als Wurzelverzeichnis fr \TL (\dirname{TEXDIR}) wird unter Windows +(|%PROGRAMFILES%\texlive\2008|) und unter Unix (\dirname{/usr/local/texlive/2008}) angenommen. + +Prinzipiell knnen Sie diesen Pfad problemlos ndern, z.\,B. wenn Sie \TL als normaler Nutzer installieren +wollen und kein Schreibrecht in dem o.\,a. Verzeichnis besitzen. + +Auf Wunsch knnen Sie \TL also auch in Ihrem Home-Verzeichnis installieren, wenn Sie sowieso der einzige +Verwender von \TL sind. Fr Ihr Home-Verzeichnis knnen Sie den Pfad ">|~|"< verwenden und so +Beispielsweise \TL nach |~/texlive/2008| installieren. + +Wir empfehlen Ihnen, die Jahreszahl im Verzeichnisnamen bei zu behalten. So knnen Sie von Jahr zu Jahr +einfach die neue Version testen, ohne die alte zu entsorgen. Bei Bedarf knnen Sie einen symbolischen +Link (z.B. \dirname{/usr/local/texlive-cur}) verwenden, der jeweils auf das Verzeichnis der aktuellen +Version von \TL verweist. + +Wenn Sie die Einstellung \dirname{TEXDIR} im Installationsprogramm ndern, werden die Werte fr +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} und +\dirname{TEXMFSYSCONFIG} automatisch angepasst. + +Das als \dirname{TEXMFHOME} bezeichnete Verzeichnis ist der Ort, in dem persnliche Makrodateien, +Schriften o.\,. abgelegt werden knnen. Vorgabewert ist |~/texmf|. Im Gegensatz zu \dirname{TEXDIR} +wird |~| hier nicht direkt zum Pfad des Home-Verzeichnisses aufgelst, sondern unverndert in die +Konfigurationsdateien von \TL bernommen und erst zur Laufzeit aufgelst. Somit kann jeder Nutzer +des Systems seinen komplett eigenen Pfad haben, der von \TL verwendet wird, und so nach Wunsch auch +eigene Konfigurationsnderungen durchfhren. +Zur Laufzeit wird |~| unter Unix durch \dirname{$HOME} und unter Windows durch \verb|%USERPROFILE%| ersetzt. + +\subsubsection{Optionen} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Auswahlmen fr weitere Optionen (Unix)}\label{fig:options-text} +\end{figure} + +Abb.~\ref{fig:options-text} zeigt das Men, in dem weitere Einstellungen fr die Installation von +\TL mglich sind. Drei dieser Optionen erfordern eine Erluterung: +\begin{description} +\item[use letter size instead of A4 by default:] Verwendung von Letter statt DIN\,A4 als +Standard\-papier\-gre. Natrlich knnen Sie spter unabhngig davon fr einzelne Dokumente eine +beliebige Papiergre whlen. + +\item[create all format files:] Auch wenn das Erzeugen von Formatdateien fr Makropakete, die Sie gar + nicht bentigen, Zeit und Platz kostet, empfehlen wir trotzdem, diese Option ausgewhlt zu belassen. + Falls Sie diese Option abwhlen, werden Formatdateien jeweils bei Bedarf erzeugt, landen dann aber + im persnlichen \dirname{TEXMFVAR}-Baum des aktuellen Benutzers. Hier liegende Formate werden allerdings + nicht automatisch neu gerneriert, wenn z.\,B. Programme oder Silbentrennmuster aktualisiert werden, so dass + im Extremfall nach einem Update Inkompatibilitten entstehen knnen. + +\item[create symlinks in standard directories] (nur unter Unix): + Mit dieser Option knnen Sie symbolische Links fr Programme und Dokumentation in den Standard\-verzeichnissen + Ihres Systems anlegen, so dass Sie Ihre Umgebungsvariablen \envname{PATH}, \envname{MANPATH} und + \envname{INFOPATH} nicht anpassen mssen. Natrlich bentigen Sie fr diese Option Schreibrechte in + den entsprechenden Verzeichnissen. Diese Option ist nicht dazu gedacht, ein vorhandenes \TeX-System, das + z.\,B. als Teil Ihrer Linux-Distribution installiert wurde, zu berschreiben. Sie dient vielmehr dazu, + dass die Links in Verzeichnissen angelegt werden, wo die Nutzer sie erwarten -- beispielsweise + \dirname{/usr/local/bin} --, aber sich noch keine \TeX-Programme befinden. +\end{description} + + +\subsubsection[Benutzen von \protect\TL direkt von DVD{}]{Benutzen von \protect\TL direkt von DVD{} (nur im Textmodus verfgbar)} +\label{sec:fromdvd} + +Verwenden Sie die Option ">|V|"<, um die Installation zum Benutzen von \TL direkt von der \DVD einzustellen. +Ihr Installationsbildschirm sollte nun so aussehen wie in Abb.~\ref{fig:main-fromdvd} dargestellt. +Tatschlich wechselt die Option~|V| jeweils zwischen Installation auf Festplatte und Installation zur +Nutzung von \DVD hin- und her, so dass Sie problemlos zur alten Installations"-einstellung zurck kommen, +wenn Sie diese Option versehentlich ausgewhlt haben. + +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Haupschirm des Installationsprogrmm, wenn die Option \optname{from DVD} + ausgewhlt wurde}\label{fig:main-fromdvd} +\end{figure} + +Wie Sie sehen, hat sich das Hauptmen an einigen Stellen gendert: Die Menpunkte zur Auswahl eines +Schemas oder von Collections sowie zum Anlegen symbolischer Links sind verschwunden, und im Abschnitt +\emph{Directories} wird nun die Angabe eines Verzeichnisses fr \dirname{TEXDIRW} (writable root) verlangt. + +Auch beim Verwenden von \TL direkt von \DVD mssen einige Verzeichnisse auf der Festplatte angelegt werden, +in denen \TL beispielsweise automatisch generierte Dateien (wie Formate oder Fontmaps) ablegen kann. +Die Verzeichnisse \dirname{texmf}, \dirname{texmf-dist} und \dirname{texmf-doc} werden aber direkt von +\DVD benutzt und daher nicht auf die Festplatte kopiert. + +Die Konfiguration von \TL im Anschluss an die Installation unter Unix ist bei der Verwendung als Live-System +von \DVD etwas komplexer, da hier an einigen Stellen von der normalen Verzeichnisstruktur von \TL abgewichen +werden muss, s.~Abschnitt~\ref{sec:postinstall}. + +Aus Zeitgrnden ist die Option fr die Benutzung von \TL direkt von \DVD leider nicht im grafischen Modus +des Installationsprogramms enthalten. Daher muss hierfr zwingend der Textmodus verwendet werden. +Zu diesem Zweck muss daher unter Windows die Installation innerhalb einer Eingabeaufforderung mit der +Option~\texttt{-no-gui} gestartet werden (s.\,Abschnitt~\ref{sec:cmdline}). + +Abschnitt~\ref{sec:portable-unix} beschreibt einen portableren Weg um \TL zu benutzen, der keine nderungen +der Systemkonfiguration erfordert, dafr dann aber keine Konfigurationsnderungen an \TL erlaubt. + + +\subsection{Kommandozeilenoptionen fr die Installation} +\label{sec:cmdline} + +Nach Eingabe von +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +erhalten Sie eine Liste der vorhanden Kommando\-zeilen\-optionen. Sie knnen diese entweder mit |-| oder |--| +verwenden. Die wichtigsten sind: + +\begin{ttdescription} +\item[-gui] Installation im \GUI{}-Modus. Hierfr muss unter Unix Perl/Tk installiert sein + (\url{http://tug.org/texlive/distro.html#perltk}); falls dies nicht der Fall ist, wird die Installation + stattdessen im Textmodus durchgefhrt. +\item[-no-gui] Installation im Textmodus. Da dies unter Unix Standard ist, wirkt sich diese Option nur + unter Windows aus. Da die Installation zum Benutzen von \TL direkt von \DVD im grafischen Modus nicht + verfgbar ist, brauchen Sie in diesem Fall unbedingt den Textmodus. +\item[-lang {\sl LL}] Sprache des Installationsprogramms als Sprach-Code in zwei Buchstaben (\textsl{LL}). + Derzeit werden englisch (\texttt{en}, Standard), deutsch (\texttt{de}), franzsisch (\texttt{fr}), + hollndisch (\texttt{nl}), polnisch (\texttt{pl}), slowenisch (\texttt{sl}) und vietnamesisch + (\texttt{vi}) untersttzt. Das Installationsprogramm versucht, die gewnschte Sprache anhand des + Systems herauszufinden. Falls dies scheitert oder die betreffende Sprache nicht verfgbar ist, wird als + Rckfallposition englisch benutzt. +\item[-profile {\sl profile}] Das Installationsprogramm schreibt die ausgewhlten Optionen in eine Datei + \filename{texlive.profile} im Unterverzeichnis \dirname{2008/tlpkg}. Mit dieser Option knnen + Sie eine bereits vorhandene Datei bei der Installation weiter verwenden, z.\,B. wenn Sie quivalente + Installationen auf mehreren Rechnern realisieren wollen, ohne alle Auswahlschritte der Installation immer + wieder neu durchfhren zu mssen. Hier ein Beispiel einer solchen Datei: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} +\item [-location {\sl url/path}] zur Auswahl eines anderen Verzeichnisses mit den Quellen fr Pakete; zur + weiteren Erluterung siehe den nchsten Abschnitt. +\end{ttdescription} + +\subsubsection{Die Option \optname{location}} +\label{sec:location} + +Der als \optname{location} angegebene Wert kann neben einem ganz normalen Verzeichnispfad auch eine URL sein, +die mit \texttt{ftp:}, \texttt{http:} oder \texttt{file:/} beginnt. Falls sich \optname{location} auf einem +lokalen Laufwerk befindet (Verzeichnispfad oder mit \texttt{file:/} beginnende URL), +wird die Installationsmethode (aus komprimierten Archiven oder einem echten Live-Dateisystem) automatisch +bestimmt: falls bezglich der angegebenen \optname{location} ein Unterverzeichnis \dirname{archive} existiert, +das Dateien vom Typ \filename{.tar.lzma} enthlt, werden diese komprimierte Dateien als Installationsquelle +benutzt, selbst wenn parallel die Pakete ausgepackt in einem Live-Dateisystem vorhanden sind. + +Im Fall einer \optname{location}, die mit \texttt{http:} oder \texttt{ftp:} beginnt, werden +das Zeichen `\texttt{/}' und/oder die Zeichenkette `\texttt{/tlpkg}' am Ende ignoriert. Sie knnen hier +z.\,B. einen bestimmten \CTAN-Server auswhlen, was dann in etwa so aussehen wrde: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}. +Hier mssen Sie natrlich einen echten Servernamen und den fr diesen Server gltigen Pfad einsetzen +(eine Liste von \CTAN-Servern finden Sie unter \url{http://ctan.org/mirrors}). +Die Standardvorgabe ist, +ber \url{http://mirror.ctan.org} einen Server automatisch auszuwhlen. +Einmal ausgewhlt, wird dieser allerdings zum Herunterladen aller Komponenten verwendet. + +\subsection{Aufgaben im Anschluss an die Installation} +\label{sec:postinstall} + +Je nach System kann es notwendig sein, dass im Anschluss an die Installation noch einige Kleinigkeiten +erledigt werden mssen. + +\subsubsection{Windows} +Benutzer von Windows sind hier in der glcklichen Position, dass das Installationsprogramm alles komplett +erledigt haben sollte. + +\subsubsection{Unix, falls symbolische Links angelegt wurden} + +Wenn Sie bei der Installation angegeben haben, dass und wo symbolische Links angelegt werden sollten +(s.\,Abschnitt~\ref{sec:options}), sollten hier auch keine Nacharbeiten mehr notwendig sein. + +\subsubsection{Umgebungsvariablen fr Unix} +\label{sec:env} + +Das Verzeichnis mit den ausfhrbaren Programmen von \TL muss sich im Suchpfad des Systems befinden. +Jedes untersttzte System besitzt ein eigenes Verzeichnis unterhalb von \dirname{TEXDIR/bin}, deren +Namen Sie in Abb.~\ref{fig:bin-text} finden. + +Weiterhin knnen Sie die Verzeichnisse mit den Manual-Pages und Info-Dateien zu den entsprechenden +Suchpfaden fr Dokumentation hinzu fgen, wenn Sie es wnschen. + +Fr Systeme mit einer Bourne-kompatiblen Shell wie \prog{bash} ist hier am Beispiel von GNU/Linux +aufgefhrt, wie die Befehle zum Setzen der Umgebungsvariablen (z.\,B. in \filename{$HOME/.profile}) +aussehen knnten: + +\begin{sverbatim} +export PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH +export MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH +export INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Fr \prog{csh} oder \prog{tcsh} erfolgt die Konfiguration in der Regel in der Datei~\filename{$HOME/.cshrc} +und knnte so aussehen: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +\subsubsection{Systemweites Setzen von Umgebungsvariablen} +\label{sec:envglobal} + +Wenn Sie als Administrator die Umgebungsvariablen global fr das gesamte System setzen wollen, +gehen wir davon aus, dass Sie sich mit der grundlegenden Systemadministration auskennen. + +Daher hier nur zwei Hinweise: 1)~schauen Sie nach einer Datei +\filename{/etc/manpath.config}. Falls diese vorhanden ist, sollte es reichen, folgende Zeilen +hinzu zu fgen: + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + +Und 2)~prfen Sie, ob es auf Ihrem System eine Datei \filename{/etc/environment} gibt, in der die +systemweiten Umgebungsvariablen definiert werden. + +\subsubsection{Benutzen von \protect\TL direkt von DVD} +blicherweise verwendet \TL eine Datei \filename{texmf.cnf}, um die Verzeichnisbume, in denen +sich die Komponenten von \TL befinden, zu identifizieren. Diese Methode benutzt relative Pfade, so +dass Ihr \TL-System funktioniert, wo immer Sie es auch hin installieren, solange die Verzeichnisstruktur +erhalten bleibt. + +Diese Methode funktioniert leider nicht mehr, wenn Sie \TL direkt von der \DVD benutzen wollen. +Da die \DVD ein Nur-Lese-Medium ist, einige der Pfade in \filename{texmf.cnf} aber erst nach der +Installation fest stehen, muss sich diese Datei auerhalb der \DVD befinden. +Aus diesem Grund muss eine Umgebungsvariable \envname{TEXMFCNF} gesetzt werden, +die \TL{} mitteilt, in welchem Verzeichnis sich die Datei \filename{texmf.cnf} befindet. +Zustzlich muss sich natrlich -- wie im vorigen Abschnitt beschrieben -- das +Verzeichnis der \DVD, in dem sich die passenden ausfhrbaren Programme befinden, innerhalb des +Suchpfads des Systems befinden. + +Beim Abschluss des Installationsprogramms sollten Sie die notwendigen Informationen erhalten haben, +wie Sie \envname{TEXMFCNF} setzen mssen. Falls Sie dies bersehen haben, der Wert ist +\dirname{$TEXMFSYSVAR/web2c}, wobei im Normalfall \dirname{$TEXMFSYSVAR} auf das Verzeichnis +\dirname{/usr/local/texlive/2008/texmf-var/web2c} verweist. In diesem Fall bentigen Sie also fr +die \prog{bash} den Befehl +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +bzw.\ fr [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + +\subsubsection{\ConTeXt{} Mark IV} +Das ">alte"< \ConTeXt{} sollte direkt lauffhig sein. Falls Sie das neue \ConTeXt{} ">Mark IV"< +verwenden wollen, sind einige manuelle Nacharbeiten notwendig, die unter +\url{http://wiki.contextgarden.net/Running_Mark_IV} beschrieben sind. + +\subsubsection{Integrieren lokaler bzw.\ Nutzer-spezifischer Makros} +\label{sec:local-personal-macros} + +Wie bereits in Abschnitt~\ref{sec:texmftrees} erwhnt, ist der Verzeichnisbaum \dirname{TEXMFLOCAL} (im +Normalfall \dirname{/usr/local/texlive/texmf-local} oder \verb|C:\Program Files\texlive\texmf-local|) +fr lokale Ergnzungen wie Makros und Schriften gedacht, die anschlieend allen Benutzern des Systems zur +Verfgung stehen. Weiterhin knnen Benutzer den Verzeichnisbaum \dirname{TEXMFHOME} (im Normalfall +\dirname{$HOME/texmf} oder \verb|%USERPROFILE%\texmf|) fr persnliche Ergnzungen verwenden, ohne +dass andere Benutzer davon beeinflusst werden. +Diese Verzeichnisse sollen ber verschiedene Versionen von \TL hinweg identisch sein, so dass ein +Update von \TL auf eine neue Version einfach mglich ist, ohne dass Sie Ihre lokalen Ergnzungen +verlieren. Wir empfehlen Ihnen daher, von der vorgegebenen Verzeichnisstruktur nicht abzuweichen. + +Fr beide oben genannte Verzeichnisbume erwartet \TL eine Verzeichnisstruktur innerhalb des Baums, die +dem \emph{\TeX{} Directory Standard} entspricht, wie er in \url{http://tug.org/tds} bzw. +\filename{texmf/web2c/texmf.cnf} definiert ist. +So gehren Dokumentklassen fr \LaTeX{} z.\,B. in ein Verzeichnis +unterhalb von \dirname{TEXMFLOCAL/tex/latex} oder \dirname{TEXMFHOME/tex/latex}. + +Der Verzeichnisbaum \dirname{TEXMFLOCAL} wird zur Laufzeit nicht direkt nach Dateien durchsucht. +Stattdessen wird eine Liste von Dateinamen verwendet, sich sich in einer Datei mit dem Namen~\filename{ls-R} +befindet. Denken Sie also daran, nach nderungen in diesem Baum diese Dateiliste zu aktualisieren, +entweder mit dem Befehl \cmdname{mktexlsr} oder die Schaltflche \emph{Reinit file database} in +dem Konfigurationsreiter von \prog{tlmgr} im \GUI-Modus. + +\subsubsection{Integrieren von anderen Schriften} +Die Installation von Schriften, die nicht von \TL sind, ist eine recht komplexe Angelegenheit. Sie sollten +sich bereits gut mit dem System auskennen, bevor Sie sich an diese Aufgabe wagen. Schauen Sie vielleicht +vorher in Abschnitt~\ref{sec:tl-fonts} nach, welche Schriften bereits bei \TL mitgeliefert werden. + +Eine Alternative besteht im Benutzen von \XeTeX (s.\,Abschnitt~\ref{sec:tex-extensions}), bei dem +direkt alle vom Betriebssystem installierten Schriften verwendet werden knnen, ohne dass die Installation +einer \TeX-Untersttzung notwendig ist. + +\subsection{Testen der Installation} +\label{sec:test-install} + +Nach der Installation von \TL wollen Sie es natrlich benutzen, um mglichst schne Dokumente zu setzen. + +Dieser Abschnitt beschreibt, wie Sie prfen knnen, ob Ihr \TL-System funktioniert. +Die folgenden Beispiele sind fr Unix, sollten unter Windows und \MacOSX aber sehr hnlich sein, abgesehen +davon, dass Sie dort eventuell eine grafische Benutzeroberflche verwenden. + +\begin{enumerate} + +\item Prfen Sie, ob Sie das Programm \cmdname{tex} ausfhren knnen: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} + +Erhalten Sie als Resultat statt der Versionsnummer die Meldung, dass der Befehl nicht gefunden wurde, +so haben Sie wahrscheinlich vergessen, das Verzeichnis mit den ausfhrbaren Programmen +in Ihren \envname{PATH} aufzunehmen, s.\,Abschnitt~\ref{sec:env} auf S.\,\pageref{sec:env}. + +\item Eine einfache \LaTeX{}-Datei bersetzen: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} + +Falls dies schief geht, sind wahrscheinlich noch alte Umgebungsvariablen einer vorigen \TeX-Installation +brig geblieben. Wir empfehlen, die Umgebungsvariablen, die sich auf \TeX{} beziehen, zu entfernen. +Fr eine weitere Analyse knnen Sie \TeX{} anzeigen lassen, wo es bestimmte Dateien sucht, +siehe ">Fehlersuche"< auf Seite~\pageref{sec:debugging}. + +\item Ergebnis auf dem Bildschirm anschauen: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Unter Windows heit der Befehlt fr den Previewer \cmdname{dviout}.) Nun sollte +sich ein Vorschaufenster mit dem soeben gesetzten Beispieldokument ffnen, das die Grundlagen von +\LaTeX{} erlutert (und das Anfnger tatschlich auch einmal lesen sollten). +Unter Unix muss ein X-Server laufen, damit \cmdname{xdvi} funktioniert; +falls dies nicht der Fall ist oder die Umgebungsvariable \envname{DISPLAY} falsch gesetzt ist, +erhalten Sie die Fehlermeldung \samp{Can't open display}. + +\item Eine \PS{}-Datei erzeugen: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Direkt eine \acro{PDF}-Datei erzeugen (statt \dvi{}): +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Eine \acro{PDF}-Datei anschauen: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Leider sind weder \cmdname{gv} noch \cmdname{xpdf} in \TL{} enthalten, daher mssen diese separat installiert +werden, siehe \url{http://www.gnu.org/software/gv} bzw. +\url{http://www.foolabs.com/xpdf}. +(Sie knnen natrlich auch andere PDF-Viewer verwenden, beispielsweise den Adobe Reader.) + +\item Weitere ntzliche Test-Dateien auer +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] Einfachere Version von \filename{sample2e}, um den Fehler einzugrenzen, wenn Sie +beim bersetzen von \filename{sample2e} Probleme haben. +\item [testpage.tex] Hiermit knnen Sie prfen, ob Ihr Drucker Ihren Ausdruck horizontal oder vertikal verschiebt. +\item [nfssfont.tex] Zum Testen von Fonts und Erzeugen von Schrifttabellen. +\item [testfont.tex] Erzeugen von Schrifttabellen, aber mit plain \TeX. +\item [story.tex] Das einfachste Testdokument von allen (in plain \TeX{}). +Geben Sie am Ende \samp{\bs bye} ein, wenn nach dem Aufruf von \samp{tex +story.tex} der \code{*} erscheint. +\end{ttdescription} + +\end{enumerate} + +\section{Installation im Netzwerk} +\label{sec:netinstall} + +Bei \TL ist nicht nur vorgesehen, dass es von mehreren Benutzern auf einem System verwendet werden kann, +sondern auch in einem Netzwerk. In der normalen Konfiguration von \TL werden nur relative, keine absoluten +Pfade verwendet. Dies erkennt man an Einstellungen in der Datei \filename{$TEXMFMAIN/web2c/texmf.cnf}, +die Zeilen wie die folgenden enthlt, +in denen Verzeichnisse relativ zu den Verzeichnissen lokalisiert werden, +in denen sich die Programme befinden: +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +Daher ist es im Normalfall ausreichend, +das Programm-Verzeichnis in den Suchpfad des Systems aufzunehmen, +alles weitere bestimmt \TL dann automatisch. + +Daher ist es kein Problem, wenn das Grundverzeichnis von \TL als Netzlaufwerk gemountet ist. Tatschlich +knnen Sie \TL sogar zunchst lokal installieren und dann auf ein Netzlaufwerk verschieben. + +Fr Benutzer von Windows existiert unter \dirname{texmf-doc/source/texlive/texlive-common/w32client} +ein Beispiel-Skript \filename{install-w32client}, das die Einstellungen im Startmen von Windows +fr das Verwenden von \TL ber Netzwerk vornimmt. Dieses Skript wird einfach durch Aufruf von +\filename{install-w32client.bat} im selben Verzeichnis gestartet. + +Mehr Informationen zur Konfiguration von \TL und den benutzten Suchpfaden finden Sie im Abschnitt~\ref{sec:kpathsea}. + +\section{Portables \protect\TL{} auf DVD oder USB-Stick} +\label{sec:portable-unix} + +Im Abschnitt~\ref{sec:fromdvd} wurde beschrieben, wie \TL direkt von einer \DVD benutzt werden kann. +Hierbei werden einige Verzeichnisse auf der Festplatte angelegt. Dies ist wahrscheinlich kein Problem, +wenn Sie dies auf Ihrem eigenen Rechner verwenden, aber es kann anders aussehen, wenn Sie auf einem +fremden Rechner ">zu Gast"< sind. + +Sie knnen die Stellen, an denen beim Benutzen von \TL von \DVD auf der Festplatte Verzeichnisse +angelegt werden, minimieren. Verwenden Sie unter unter Unix das Skript \filename{tl-portable} oder +unter Windows die Batch-Datei \filename{tl-portable.bat}, so werden beim ersten Start die +Konfigurationsdateien fr das Verwenden des Live-Modus von \DVD geschrieben. + +Hierzu wird ausschlielich ein Verzeichnis \dirname{~/.tlportable2008} angelegt, in dem diese Dateien +abgelegt werden. Dies kann einen Moment dauern, aber sobald die Dateien einmal da sind, erfolgt +der Start des portablen Modus ber die o.\,a. Programme sehr schnell. Die Konfiguration dieses +Modus erfolgt ausschlielich in dem aktuellen Terminalfenster (bzw.\ fr die aktuelle Eingabeaufforderung), +der Rest des Systems bleibt davon vllig unberhrt. Sie knnen problemlos in mehreren Sitzungen +parallel den portablen Modus benutzen. + +Wird hier immer ein Verzeichnis auf der Festplatte angelegt, so ist dies komplett berflssig, wenn +Sie den portablen Modus von USB-Stick verwenden. Kopieren Sie hierfr alle Dateien, die sich direkt im +Verzeichnis \dirname{texlive} der \DVD befinden, sowie (mindestens) die Verzeichnisse \dirname{bin}, +\dirname{texmf}, \dirname{texmf-dist} und \dirname{tlpkg} komplett auf den USB-Stick (dies kann eine +Weile dauern!). Beim Kopieren auf einen mit FAT32 formatierten Stick verwenden Sie unbedingt die Option +zum Auflsen symbolischer Links (\code{cp -L}). Ein auf dem Stick vorhandenes Verzeichnis \dirname{texmf-local} +wird ebenfalls spter erkannt und benutzt. + +Wenn Sie nun das Skript \filename{tl-portable} auf dem USB-Stick (wie oben fr die \DVD beschrieben) +verwenden, erkennt das Skript, dass der USB-Stick beschreibbar ist und verwendet diesen statt der +Festplatte fr die Konfigurationsdateien. + +\section{\cmdname{tlmgr}: Installation verwalten} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} im \GUI-Modus. Die Liste der Pakete, Collections und Schemas + wird erst nach Klicken auf ">Load"< angezeigt.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} im \GUI-Modus: Reiter Konfiguration}\label{fig:tlmgr-config} +\end{figure} + +Bei der Installation von \TL wird auch das Programm~\prog{tlmgr} installiert, mit dem Sie anschlieend +Ihr \TL-System verwalten knnen. Die hierfr bisher verwendeten Programme~\prog{updmap}, +\prog{fmtutil} und \prog{texconfig} sind zwar noch vorhanden, werden aber in der Zukunft durch +\prog{tlmgr} ersetzt. Verwenden Sie daher heute schon \prog{tlmgr}. Mit \prog{tlmgr} knnen Sie +folgende Aufgaben erledigen: +\begin{itemize*} +\item Verfgbare Schemas, Collections und Pakete anzeigen. +\item Installieren, aktualisieren, entfernen, Backup und Restore einzelner Pakete, auf Wunsch mit + Bercksichtigung von Paketabhngigkeiten. +\item Suchen nach Paketen. +\item Anzeigen der Systeme, unter denen \TL luft; installieren von Binaries fr weitere Systeme. +\item Anpassen der Installation, wie ndern der Papiergre oder des Quellverzeichnisses fr Komponenten + (s.\,Abschnitt~\ref{sec:location}). +\end{itemize*} +\textit{Warning:} \prog{tlmgr} ist fr den Live-Modus, bei dem \TL von \DVD genutzt wird, weder gedacht +noch getestet. + +\subsection{\cmdname{tlmgr} im grafischen Modus} +\prog{tlmgr} im \GUI-Modus wird durch +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +gestartet. Unter Windows finden Sie das Programm im Start menu: \texttt{Start}, \texttt{Programme}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. Nach Klicken auf ">Load"< +wird eine Liste aller verfgbaren und installierten (letztere durch ">(i)"< gekennzeichnet) angezeigt. Dies +setzt voraus, dass das Verzeichnis, aus dem \TL die Pakete ldt, vorhanden bzw.\ erreichbar ist. + +Abb.~\ref{fig:tlmgr-config} stellt den Reiter zur Konfiguration von \TL dar. + +\subsection{Beispiel zur Verwendung von \cmdname{tlmgr} ber Kommandozeile} + +Das folgende Beispiel demonstriert, wie mehrere Pakete +zur Installation hinzu gefgt werden. +Hierbei wird eine andere Adresse zum Herunterladen verwendet. + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +Dies liefert die folgende Ausgabe: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + +Wie man sieht, beachtet \prog{tlmgr} die Abhngigkeiten von Paketen und installiert im obigen +Beispiel von \XeTeX{} bentigte Komponenten nach. Weiterhin werden automatisch im Anschluss +die Dateilisten der Verzeichnisbume aktualisiert und fehlende Formate generiert. + +Im folgenden Beispiel wird die Untersttzung fr eine weitere Sprache installiert. Im Anschluss +werden automatisch die Formatdateien neu generiert, damit die neuen Trennmuster eingebunden sind. +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} + +Eigenschaften eines Pakets anzeigen: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} + +Hier erhlt man folgende Ausgabe: +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} + +Aktualisieren der kompletten Installation: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Wenn Sie erst wissen wollen, was auf Sie zu kommt, knnen Sie zunchst folgendes ausprobieren: +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +oder +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +Zum Anzeigen aller Optionen: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Hinweise zu Windows} +\label{sec:windows} + +Das Installationsprogramm von \TL\ luft sowohl unter Windows als auch Unix. Dies war nur dadurch mglich, +dass ltere Versionen von Windows nicht mehr untersttzt werden. Daher kann \TL\ nur noch ab Windows 2000 oder +spter installiert werden. + + +\subsection{Windows-spezifische Dinge} +\label{sec:winfeatures} + +Unter Windows kmmert sich das Installationsprogramm auch um folgende Dinge: +\begin{description} +\item[Mens und Verknpfungen.] Im Startmen wird ein Men ">\TL{}"< hinzu gefgt. Hier sind Eintrge fr + die grafischen Anwendungen (\prog{tlmgr}, \prog{texdoctk}, den PS\_View PostScript-Previewer) + und einige Verknpfungen zur Dokumentation vorhanden. Fr PS\_View wird eine Verknpfung auf dem + Desktop angelegt, auf die Sie \PS-Dateien per Drag~\& Drop ziehen knnen, um diese zu betrachten. +\item[Automatisches Setzen der UmgebungsVariablen.] Hierdurch ist das Setzen dieser Variablen + von Hand berflssig geworden. +\item[Uninstaller.] Es wird ein Eintrag zum Entfernen von \TL in der Systemsteuerung im Punkt Software angelegt. + Alternativ knnen Sie \TL ber das Programm~\prog{tlmgr} deinstallieren. +\end{description} + +\subsection{Zustzlich enthaltene Programme} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: Anzeige mit hoher Vergrerung}\label{fig:psview} +\end{figure} + +Zustzlich werden unter Windows einige Programme installiert, die unter Windows meist noch nicht verfgbar +sind: +\begin{description} +\item[Perl und Ghostscript.] Da Perl und Ghostscript fr \TL sehr wichtig ist, werden diese + unter Windows mitgeliefert und werden intern von \TL benutzt. Die in \TL enthaltenen Programme, die + diese Komponenten bentigen, ">wissen"< wo sich diese befinden, ohne dass diese im System durch + Umgebungsvariablen oder Eintrge in der Registry sichtbar sind. Es handelt sich um fr \TL abgespeckte + Versionen, die zu keinen Konflikten mit eventuell bereits vorhandenen Installationen von Perl und Ghostscript + fhren sollten. +\item[Tools fr die Kommandozeile.] Fr einige unter Unix bliche Programme werden Portierungen fr Windows + mitgeliefert. Dies sind z.\,B. \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} und einige Programme fr die Kommandozeile aus der + \cmdname{xpdf}-Suite. (Vom + \cmdname{xpdf}-Viewer selbst gibt es keine Version fr Windows, aber der + Sumatra \acro{PDF}-Viewer basiert auf \cmdname{xpdf}: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] dient \XeTeX{} zur effizienteren Benutzung von Schriften. +\item[PS\_View.] Weiterhin wird PS\_View installiert, ein neuer PostScript-Viewer, der Freie Software ist, + s.\,Abb.~\ref{fig:psview}. +%\end{description} +% +%\begin{description} +\item[Das Verzeichnis \texttt{support}] wurde bereits in + Abschnitt~\ref{sec:tld} erwhnt. Es enthlt einige Programme, die im Zusammenhang mit + \TeX{} ntzlich sind, insbesondere einige Editoren mit \TeX-Modus und Benutzeroberflchen fr \TeX{}. + Die in diesem Verzeichnis enthaltene Software wird nicht vom Installationsprogramm mit installiert. + Weiterhin findet sich dort der \dvi{}-Previewer \cmdname{dviout}, siehe nchster Abschnitt. +\end{description} + +\subsection{Der Dviout-Previewer} + +Von dieser Version von \TL{} wird leider kein \dvi{}-Previewer fr Windows mitinstalliert. +Allerdings knnen Sie das Programm \prog{dviout} von +Toshio Oshima aus dem Verzeichnis \path{support/dviout/} installieren. Im selben Verzeichnis findet sich +die Datei \filename{README} mit einer kurzen Anleitung zur Installation und Konfiguration von +\prog{dviout} fr \TL. Bitte beachten Sie diese Anleitung unbedingt! + +Wenn Sie am Anfang Dokumente mit \cmdname{dviout} anschauen, werden hufig noch Fonts generiert, da +keine fertigen Fontdateien fr den Bildschirm mitgeliefert werden. Je mehr Fonts generiert wurden, desto +seltener mssen Schriften nachgeneriert werden, so dass dieser Effekt nach einiger Zeit nur noch selten +auftreten wird. Weitere Informationen finden Sie in der (sehr guten) Online-Hilfe. + +\subsection{Link zu zustzlicher Software} +Hier einige URLs, hinter denen sich ntzliche Software verbirgt: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} mit + Zusatzpaketen von \acro{CPAN}, \url{http://www.cpan.org/}. +\item[ImageMagick] \url{http://www.imagemagick.com}, zum Manipulieren + und Konvertieren von Grafikdateien. +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, ebenfalls zum + Konvertieren von Grafikdateien. +\item[Editoren mit \TeX-Untersttzung] Dies ist lediglich eine grobe Auswahl, + und bekanntlich sind die Geschmcker verschieden, bei Editoren wie + beim Essen. + \begin{itemize*} + \item \cmdname{GNU Emacs} gibt es auch fr Windows, siehe + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} mit Auc\TeX\ fr Windows wird im + \path{support}-Verzeichnis von \TL mitgeliefert. Die Homepage + findet sich unter + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} findet sich ebenfalls im \path|support|-Verzeichnis. + Die Homepage lautet \url{http://www.winshell.de}. + \item \cmdname{WinEdt} ist Shareware und verfgbar von + \url{http://www.winedt.com}. + \item \cmdname{Vim} ist freie Software, verfgbar von + \url{http://www.vim.org}. + \item TeXnicCenter ist ebenfalls freie Software, verfgbar von + \url{http://www.toolscenter.org} und Teil von pro\TeX{}t. + \item \cmdname{LEd} ist verfgbar von \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} ist verfgbar von + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize*} +\end{description} + +\subsection{User Profile unter Windows} +\label{sec:winhome} + +Das Gegenstck von Windows zum HOME-Verzeichnis unter Unix ist das +Verzeichnis \verb|%USERPROFILE%|. Unter Windows XP und Windows 2000 liegt +es meist im Verzeichnis \verb|C:\Documente und Einstellungen\<username>|, unter +Windows Vista \verb|C:\Users\<username>|. In der Datei +\filename{texmf.cnf} und in \KPS{} allgemein wird \verb|~| +sowohl unter Unix und Windows korrekt aufgelst. + +\subsection{Die Windows-Registry} +\label{sec:registry} + +Windows verwaltet fast all seine Konfigurationseinstellungen in der +Registry. Diese besteht aus einem hierarchisch aufgebauten Baum +von Schlsseln, wobei mehrere dieser Registry-Bume existieren. +Die wichtigsten sind \path{HKEY_CURRENT_USER} und \path{HKEY_LOCAL_MACHINE}, +oft abgekrzt als \path{HKCU} bzw.\ \path{HKLM}. +Der \path{HKCU}-Teil der Registry wird im Home-Verzeichnis des Benutzers +gespeichert (s.\,Abschnitt~\ref{sec:winhome}). \path{HKLM} liegt im +Normalfall in einem Unterverzeichnis des Windows-Verzeichnisses. + +In einigen Fllen sind Systeminformationen aus Umgebungsvariablen +ersichtlich, in vielen anderen Fllen liegen diese Informationen +aber in der Registry. + +\subsection{Windows Permissions} +\label{sec:winpermissions} + +In neueren Versionen von Windows wird zwischen normalen Benutzern und +Administratoren unterschieden, wobei nur letztere freien Zugang auf +alle Teile des Betriebsystems haben. Im Gegensatz zu Unix ist es in der +Praxis allerdings hufig so, dass Benutzer zur Klasse der Administratoren +gehren und daher doch alle Freiheiten haben. Trotzdem haben wir einigen +Aufwand getrieben, damit \TL auch unter Windows ohne Administrator-Rechte +installiert werden kann. + +Falls der Benutzer, der \TL installiert, Administrator-Rechte besitzt, +wird \TL fr alle Benutzer des Systems installiert, d.\,h. Verknpfungen, +Mens und Systemeintrge fr alle Nutzer angelegt. Ansonsten werden diese +nur fr den aktuellen Benutzer angelegt. Falls Sie Administrator sind, +\TL aber trotzdem nur fr sich und nicht fr alle installieren wollen, +knnen Sie dem Programm~\prog{install-tl} die Option~\optname{non-admin} +mit geben. + +Unabhngig davon wird grundstzlich angenommen, dass das Wurzelverzeichnis +von \TL unter \verb|%PROGRAMFILES%| liegen soll. Allerdings testet das +Installationsprogramm, ob dieses Verzeichnis fr den aktuellen Benutzer +schreibbar ist. + +Ein Problem entsteht, wenn \TL ohne Administrator-Rechte installiert +wird und sich bereits ein \TeX{}-System im systemweiten Suchpfad +befindet. Windows benutzt zuerst den Suchpfad des Systems, erst dann +den spezifischen Suchpfad des Nutzers, so dass hier immer zuerst +das alte \TeX-System gefunden wird. Als Workaround wird hier eine +Verknpfung mit einer Eingabeaufforderung erzeugt, in der das +Programmverzeichnis von \TL im Suchpfad vor den Standard\-such\-pfad +geschrieben wird. Dies bedeutet, dass in diesem Fall nur in einer +Eingabeaufforderung verfgbar ist, die ber diese Verknpfung gestartet +wird. + +% ============================================================== +% don't use \Webc so the \uppercase in the headline works. +\section[Anleitung zum Web2C-System]{Anleitung zum \Webc-System} + +{\Webc} besteht aus einer Reihe von Programmen, die zusammen ein komplettes +\TeX-System darstellen. Dazu gehren natrlich \TeX, +\MF, \MP, {\BibTeX} usw. + +Die erste Implementierung eines \TeX-Systems +in der Programmiersprache C stammt von Tomas~Rokicki und datiert zurck in das +Jahr 1987. Rokicki benutzte als Basis sog. Change-Files unter \acro{UNIX}, die ursprnglich von +Howard~Trickey und Pavel~Curtis entwickelt wurden. Tim~Morgan hat dieses +System, fr das der Name Web-to-C\@ eingefhrt wurde, gepflegt. +1990 hat Karl~Berry mit Untersttzung vieler Helfer die Weiterentwicklung +bernommen und 1997 an Olaf~Weber weitergegeben, der es 2006 wieder an +Karl zurck gab. + +\Webc{} luft unter \acro{UNIX}, 32-bit-Versionen von Windows, \MacOSX{} +und auf weiteren Betriebssystemen. Es benutzt die +Original-Quelldateien von Donald E.~Knuth und weitere in der +Sprache {\web} entwickelte Programme als Basis und bersetzt diese +in C-Quell-Code. Darber hinaus bietet das System viele Makros und +Funktionen zur Nutzung der originalen \TeX-Software. Hier eine +Liste der Basisprogramme eines \TeX-Systems: + +\begin{description} +%\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Verwalten von Bibliographien +\item[dmp] \cmdname{troff}-nach-MPX-Konverter (\MP-Bilder) +\item[dvicopy] Umwandeln von virtuellen Zeichenstzen in DVI-Dateien +\item[dvitomp] DVI-nach-MPX-Konverter (\MP-Bilder) +\item[dvitype] Textanzeige aus DVI-Dateien +\item[gftodvi] Erzeugen von Prfausgaben fr Zeichenstze +\item[gftopk] Packen von Zeichenstzen +\item[gftype] Anzeige von Zeichenstzen als ASCII-Graphik +\item[makempx] Anzeige von \MP-Beschriftungen +\item[mf] Zeichensatzerzeugung +\item[mft] formatierte Ausgabe von \MF-Quellen +\item[mpost] \MF-hnliches Grafikprogramm +\item[mpto] Extrahieren von \MP-Beschriftungen +\item[newer] Vergleich von Dateierstellungsdaten +\item[patgen] Erzeugen von Trennmustern +\item[pktogf] Entpacken von Zeichenstzen +\item[pktype] Anzeige gepackter Zeichenstze +\item[pltotf] Umwandeln von Property-Listen in \file{.tfm}-Dateien +\item[pooltype] Anzeige der Bildschirmtexte eines WEB-Programms +\item[tangle] Konverter {\web} nach Pascal +\item[tex] \TeX-Programm +\item[tftopl] Umwandeln einer \file{.tfm}-Datei in eine Property-Liste +\item[vftovp] Umwandeln eines virtuellen Zeichensatzes in eine Property-Liste +\item[vptovf] Umwandeln einer Property-Liste in einen virtuellen Zeichensatz +\item[weave] \web-Code als \TeX-Dokumentation +\end{description} + +Die genaue Funktionsweise und die mglichen Parameter sind der +Beschreibung der jeweiligen Pakete bzw.\ der \Webc-Dokumentation zu entnehmen. +Trotzdem wird ein berblick ber Zusammenspiel und Funktionsweise der +\Webc-Programme Ihnen sicherlich helfen, besser mit dem System zurechtzukommen. + +Zunchst verstehen alle Programme die grundlegenden Parameter der +\acro{GNU}-Software: + +\begin{description} +\item[\texttt{-{}-help}] kurzer Hilfstext +\item[\texttt{-{}-verbose}] ausfhrliche Ausgaben beim Programmablauf +\item[\texttt{-{}-version}] Ausgabe der Versionsnummer +\end{description} + +Die Programme des \Webc-Systems benutzen zum Lokalisieren der bentigten +Dateien im Dateisystem die \KPS-Bibliothek (\url{http://tug.org/kpathsea}). Diese Bibliothek optimiert und +beschleunigt den Suchprozess im Dateisystem. Ihre Arbeitsweise wird durch +einige Umgebungsvariablen und eine Kon"-fi"-gu"-ra"-tions"-da"-tei gesteuert. +\Webc~7.5 kann mehr als einen Dateibaum gleichzeitig verwalten und ermglicht +somit die schon beschriebene \TL-Installation unter Verwendung der +\acro{CDROM} oder {\DVD} mit der Ablage modifizierter Konfigurationsdateien +und zustzlicher Zeichenstze in einem zweiten Dateibaum. Die Suche +nach Dateien wird durch die Analyse der Datei \file{ls-R} beschleunigt, +die in jedem Wurzelverzeichnis eines \TeX-Dateibaums vorhanden ist. +Sie enthlt fr jede Datei die genaue Position im Dateibaum relativ +zum Wurzelverzeichnis. + +% ------------------------------------------------------------- +\subsection[Dateisuche mit der Kpathsea-Bibliothek]{Dateisuche mit der \protect\KPS-Bibliothek} +\label{sec:kpathsea} + +Wir beschreiben zunchst den grundlegenden Suchmechanismus der \KPS-Bibliothek. + +Ein \emph{Suchpfad} ist eine durch Kommata oder Semikola getrennte Liste von +\emph{Pfadkomponenten}, die blicherweise Verzeichnisnamen darstellen. +Ein Suchpfad kann sich aus vielen Komponenten zusammensetzen. Die Suche nach +einer Datei \samp{my-file} ber den Suchpfad \samp{.:/dir} bewirkt, dass +{\KPS} jede Komponente nacheinander berprft, also zunchst +\samp{./my-file} und dann \samp{/dir/my-file}. Als Ergebnis wird entweder die +erste gefundene Datei oder eine Liste aller passenden Dateien geliefert. + +Um auf allen Dateisystemen effizient arbeiten zu knnen, verwendet {\KPS} ggf. andere +Datei-/""Verzeich"-nis-Separatoren als \samp{:} und \samp{/}. + +Beim berprfen einer Pfadkomponente \var{p} berprft {\KPS} zunchst, +ob eine Dateinamen"=Datenbank (siehe auch Dateinamen"=Datenbank auf +Seite~\pageref{sec:filename-database}) fr die Pfadkomponente zustndig ist, +d.\,h. beispielsweise steht die Datenbank in einem Verzeichnis, das im Pfad +vor der zu berprfenden Komponente \var{p} steht. In diesem Fall wird +zur Bestimmung der Position der gesuchten Datei die Datenbank herangezogen. + +Nur wenn keine passende Datenbank existiert oder wenn die Datei nicht +in der Datenbank gefunden wird, durchsucht {\KPS} das Dateisystem. Diese +zeitaufwndige Suche kann ber die Spezifikation der Pfadkomponente \var{p} +mit dem Prfix \samp{!!}\ unterbunden werden. Zur Suche erzeugt {\KPS} eine +Liste der Verzeichnisse, die im Pfadelement enthalten sind, und durchsucht +jedes dieser Verzeichnisse nach der gesuchten Datei. + +Fr Dateien kann auch ein Schalter \samp{file~must~exist} gesetzt +werden (">Datei muss vorhanden sein"<). Wenn dieser Schalter nicht +gesetzt ist und beispielsweise ber das \TeX-Kommando +\cs{openin} eine VF-Datei wie \file{cmr10.vf} gelesen werden +soll, wre es falsch, nach dieser Datei zu suchen, weil es sie gar +nicht gibt. Speziell fr neu installierte VF-Dateien sollten Sie +also unbedingt die Dateinamen"=Datenbank (\cmdname{ls-R}) +aktualisieren, weil die Dateien sonst nicht gelesen werden und +kein Fehler angezeigt wird. Dieser Vorgang wiederholt sich fr jede +Komponente eines Suchpfades: zunchst wird die Datenbank +berprft, danach ggf. das Dateisystem. Wird die Datei gefunden, +stoppt die Suche (normalerweise) und als Ergebnis wird der komplette Pfad zur +gesuchten Datei ausgegeben. + +Auer Verzeichnisnamen drfen Pfadkomponenten fr {\KPS} folgende +Elemente enthalten: (verschachtelte) Vorgaben, Umgebungsvariablen, +Werte aus der Konfigurationsdatei, Home-Verzeich"-nisse von +Benutzern und Startverzeichnisse fr eine rekursive Suche. Diese +Elemente werden vor einer Dateisuche von {\KPS} in gewhnliche +Verzeichnis- oder Dateinamen expandiert. Diese Expansion wird in +den folgenden Abschnitten erklrt, und zwar genau in der +Reihenfolge, wie die Elemente auch von {\KPS} bearbeitet werden. + +Beachten Sie, dass {\KPS} bei absoluten und explizit relativen Komponenten, +d.\,h. wenn die Komponente mit den Zeichen \samp{/}, \samp{./} oder +\samp{../} beginnt, nur berprft, ob die Datei existiert. + +\ifSingleColumn +\else + +\begin{figure*}[tp] +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +% .............................................................. +\subsubsection{Bestandteile von Pfadkomponenten}\label{Path-sources} +\label{sec:path-sources} + +Ein Suchpfad kann aus vielen verschiedenen Bestandteilen aufgebaut werden. +Dies sind in der Reihenfolge, wie {\KPS} sie auswertet: + +\begin{enumerate} +\item + eine benutzerdefinierte Umgebungsvariable, z.\,B. \envname{TEXINPUTS}: + Wird an den Inhalt der Variablen ein Punkt und ein Programmname angehngt, wie + beispielsweise bei \envname{TEXINPUTS.latex}, hat diese Form Vorrang + vor den ">gewhnlichen"< Variablen. +\item + Eintrge aus programmspezifischen Konfigurationsdateien, + beispielsweise zum Programm {\dvips} eine Zeile \samp{S /a:/b} + in der Konfigurationsdatei \file{config.ps} +\item + Eintrge aus der \KPS-Konfigurationsdatei \file{texmf.cnf}, + z.\,B. \samp{TEXINPUTS=/c:/d} (siehe folgenden Text) +\item + Einstellung beim bersetzen der Programme +\end{enumerate} + +Unter Verwendung der Parameter zur Fehlersuche knnen Sie sich diese +Werte fr einen Suchpfad auch anzeigen lassen. (Siehe dazu den Abschnitt +Fehlersuche auf Seite~\pageref{sec:debugging}.) + +% .............................................................. +\subsubsection{Konfigurationsdateien} + +%\tolerance=3500 +Die \KPS-Bibliothek liest zur Laufzeit die \emph{Konfigurationsdateien} mit den Namen +\file{texmf.cnf}. Der zugehrige Suchpfad zum Auf"|finden dieser +Konfigurationsdateien steht in der Umgebungsvariablen \envname{TEXMFCNF} +(die Voreinstellung ist \file{texmf/web2c}). {\KPS} liest \emph{alle} +Dateien mit den Namen \file{texmf.cnf}, die es in diesem Suchpfad findet. +Die zuerst gelesenen Definitionen haben dabei Vorrang vor spter gelesenen +Werten. +Wenn der Suchpfad auf \dirname{.:\$TEXMF} steht, berschreiben die Einstellungen +in \file{./texmf.cnf} diejenigen in \dirname{\$TEXMF/texmf.cnf}. + +%\tolerance=1500 + +Im Folgenden wird die Syntax der Datei \file{texmf.cnf} angegeben. +Konsultieren Sie zum besseren Verstndnis beim Lesen die auf der +{\acro{CDROM}} oder {\DVD} enthaltene Konfigurationsdatei. +%, die ab Seite~\pageref{app:texmf.cnf} im Anhang dieser Anleitung +% abgedruckt ist. + +\begin{itemize} +\item + Kommentare beginnen mit einem \samp{\%} und erstrecken sich bis zum + Zeilenende. +\item + Leerzeilen werden berlesen. +\item + Ein \samp{\bs} am Zeilenende fasst die aktuelle mit der folgenden Zeile + zusammen. Leerraum in der Folgezeile wird \emph{nicht} berlesen. +\item + Sonstige Zeilen haben den folgenden Aufbau: + +\begin{alltt} + \var{Variable}[.\var{Programmname}] [=] \var{Wert} +\end{alltt}% + + Das Zeichen ">="< und umgebender Leerraum drfen entfallen. +\item + Der Name von \var{Variable} kann alle Zeichen auer Leerzeichen, + \samp{=} und \samp{.} enthalten. Verwenden Sie am besten nur die Zeichen + \samp{A-Za-z\_}. +\item + Wenn das Suffix ">\code{.\var{Programmname}}"< angegeben wird, gilt die + Variable nur fr das entsprechende Programm ">\var{Programmname}"< oder + ">\code{\var{Programmname}.exe}"<. Auf diese Weise knnen + beispielsweise verschiedene + \TeX-Formate mit unterschiedlichen Suchpfaden arbeiten. +\item + \texttt{\var{Wert}} darf alle Zeichen auer \texttt{\%} und \texttt{@} + enthalten. + Die Einschrnkung der Werte auf bestimmte Programme ber ein Suffix + ist nicht zulssig. Ein \samp{;} in \texttt{\var{Wert}} wird unter + \acro{UNIX} in \samp{:} umgewandelt. Dadurch ist die Verwendung der gleichen + Konfigurationsdateien fr \acro{UNIX} und \acro{DOS}/""Windows"=Systeme mglich. +\item + Die Definitionen werden komplett eingelesen, bevor eine Expansion + stattfindet. Dadurch knnen Sie die Variable schon vor Ihrer Definition + referieren. +\end{itemize} + +Der Ausschnitt einer Konfigurationsdatei demonstriert diese +Mglichkeiten. +\ifSingleColumn +\verbatiminput{examples/ex5.tex} +\else +Betrachten Sie Abbildung~\ref{fig:config-sample}. +\fi + +% .............................................................. +\subsubsection{Expansion von Pfadkomponenten} +\label{sec:path-expansion} + +{\KPS} verwendet in Suchpfaden hnliche Zeichen und Konstrukte wie +\acro{UNIX}-Shells. Beispielsweise wird die Definition +\verb|~$USER/{foo,bar}//baz| in alle Unterverzeichnisse von \file{foo} und +\file{bar} unterhalb vom Home-Verzeichnis von \dirname{\$USER} expandiert, +die eine Datei oder ein Unterverzeichnis namens \file{baz} enthalten. Der +Expansionsmechanismus wird im Folgenden erklrt. + +% .............................................................. +\subsubsection{Expansion der Voreinstellungen} +\label{sec:default-expansion} + +Wenn der Suchpfad mit der hchsten Prioritt (siehe hierzu ">Bestandteile von +Pfadkomponenten"< auf Seite~\pageref{sec:path-sources}) einen zustzlichen +(vorangestellten, nachgestellten oder verdoppelten) Doppelpunkt enthlt, +wird an dieser Stelle der Suchpfad eingefgt, der als nchstes in der +Hierarchie folgt. Auch bei diesem gilt dieselbe Regel. Wenn beispielsweise +die Umgebungsvariable + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} + +gesetzt wird (hier: C-Shell) und in \file{texmf.cnf} die Variable +\code{TEXINPUTS} folgenden Wert erhlt + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} + +dann lautet der Suchpfad schlielich: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Da es sinnlos wre, denselben Pfad mehrfach einzufgen, wird die Ersetzung +nur einmal vorgenommen, und zwar in der Reihenfolge vorne, hinten und +Mitte. Mehrfach verdoppelte Doppelpunkte bleiben unverndert. + +% .............................................................. +\subsubsection{Expansion geschweifter Klammern} + +Die Expansion geschweifter Klammern ist zur Definition mehrerer +\TeX-Hierarchien sehr ntzlich. Beispielsweise wird |v{a,b}w| +zu |vaw:vbw|. Verschachtelungen sind dabei erlaubt. +Diese Technik wird dazu benutzt, durch eine Zuweisung an +\code{\$TEXMF} verschiedene \TeX-Hierarchien einzufhren. +Als Beispiel finden Sie in \file{texmf.cnf} folgende Definition +(etwas gekrzt, tatschlich ist es etwas komplexer): +%(Zeile 75): %%%% to be checked !!!! checked&corrected vrws 01.06.05 + +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} + +Eine Anwendung wie + +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +fhrt dann dazu, dass erst im aktuellen Verzeichnis gesucht wird, dann +im gesamten Dateibaum \code{\$TEXMFHOME/tex} und \code{\$TEXMFLOCAL/tex} +(auf der Festplatte) und +schlielich im gesamten Dateibaum \dirname{\$TEXMFVAR/tex} sowie +\code{\$TEXMFMAIN/tex} (nur in der Datenbank \file{ls-R}) +durchsucht wird. Dadurch kann man bequem +zwei parallel installierte \TeX-Hierarchien durchsuchen, +beispielsweise eine unvernderliche auf \acro{CDROM}/{\DVD} und eine dynamisch +angepasste auf Festplatte, in der neue Programmversionen und zustzliche +Zeichenstze installiert werden. Durch die Verwendung der Variablen +\code{\$TEXMF} in allen Definitionen wird grundstzlich zuerst der +neuere Dateibaum durchsucht. + +% .............................................................. +\subsubsection{Expansion von Unterverzeichnissen} +\label{sec:subdirectory-expansion} + +Zwei oder mehrere aufeinanderfolgende Schrgstriche (\texttt{//}) in +einer Pfadkomponente, die auf einen Verzeichnisnamen \var{d} folgen, +werden expandiert zu allen Unterverzeichnissen von \var{d}. Dieser +Vorgang findet rekursiv statt, wobei erst alle Verzeichnisse auf +einer Ebene bearbeitet werden, dann deren Unterverzeichnisse, usw. +Auf den jeweiligen Ebenen ist nicht beeinflussbar, in welcher +Reihenfolge die Unterverzeichnisse bearbeitet werden. + +Wenn nach den Schrgstrichen Namen angegeben werden, dann werden nur +Unterverzeichnisse mit passenden Namen in die Suche einbezogen. +Beispielsweise wird \samp{/a//b} in die Pfade \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b} usw. expandiert, aber nicht +zu \file{/a/b/c} oder \file{/a/1}. +(Jeweils vorausgesetzt, dass die Verzeichnisse existieren.) + +Mehrere \samp{//}-Konstruktionen innerhalb einer Pfadkomponente +sind zulssig, allerdings nicht am Pfadanfang. + +% .............................................................. +\subsubsection{Liste der Sonderzeichen und ihre Bedeutung: eine Zusammenfassung} + +Die folgende Zusammenfassung fasst alle Sonderzeichen zusammen, die in den +\KPS"=Konfigurationsdateien auftreten knnen: + +% ++++++++++++++++++++++++ +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +% ++++++++++++++++++++++++ + +\begin{description} +\item[\CODE{:}] Trennzeichen fr Pfadkomponenten; als erstes + oder letztes Zeichen im Pfad bewirkt es die + Expansion der Voreinstellungen. +\item[\CODE{;}] Trennzeichen fr Pfadkomponenten fr andere + Rechnerplattformen als \acro{UNIX} (Verwendung wie + ">\code{:}"<) +\item[\CODE{\$}] Expansion von Variableninhalten +\item[\CODE{\string~}] Home-Verzeichnis eines Benutzers (Tilde) +\item[\CODE{\char`\{...\char`\}}] Expansion geschweifter Klammern: + beispielsweise wird |a{1,2}b| zu |a1b:a2b|. +\item[\CODE{//}] Expansion von Unterverzeichnissen: tritt niemals + am Anfang einer Pfadkomponente auf. +\item[\CODE{\%}] Kommentar +\item[\CODE{\bs}] Konkatenation mit Folgezeile(n) +\item[\CODE{!!}] Einschrnkung der Suche \emph{ausschlielich} auf die + Dateinamen"=Datenbank: Das Dateisystem wird \emph{nicht} + durchsucht! +\end{description} + +% ------------------------------------------------------------- +\subsection{Dateinamen"=Datenbanken} +\label{sec:filename-database} + +{\KPS} unternimmt etliche Anstrengungen, um den Zugriff auf Festplatte und +\acro{CDROM}/{\DVD} zur Suche nach Dateien zu reduzieren. Auf \TeX-Systemen mit +vielen Unterverzeichnissen kann die Suche in jedem mglichen Verzeichnis +nach einer bestimmten Datei eine lange Zeit in Anspruch nehmen, besonders +wenn einige Hundert Zeichensatzverzeichnisse durchforstet werden mssen. +Um dieses Problem abzumildern, benutzt {\KPS} eine Art Datenbankdatei +namens \file{ls-R}, die die Zuordnung von Dateinamen auf Verzeichnisse +enthlt. Dadurch muss nicht jedesmal die Festplatte durchsucht werden. + +Eine zweite Datenbank in der Datei \file{aliases} kann eine Zuordnung +zwischen den Namen in \file{ls-R} und weiteren Namen vornehmen und so +beispielsweise hilfreich bei der Umsetzung von \samp{8.3}-\acro{DOS}-Dateinamen +auf die ">echten"<, aussagekrftigen Dateinamen zur Seite stehen. + +% .............................................................. +\subsubsection{Die \texttt{ls-R}-Datenbank} +\label{sec:ls-R} + +Wie schon fters erwhnt, muss die Dateinamen"=Datenbank in der Datei +\file{ls-R} gespeichert sein. Sie sollten eine solche Datenbank fr jede +\TeX-Hierarchie (normalerweise in \code{\$TEXMF}) Ihres Systems anlegen. +Die meisten \TeX-Systeme arbeiten nur mit einer Hierarchie. {\KPS} sucht +die Datenbanken \file{ls-R} ber den Pfad \code{TEXMFDBS}. + +Es wird empfohlen, die Pflege der \code{ls-R}-Dateien dem mitgelieferten +Skript \cmdname{mktexlsr} zu berlassen. Dieses Skript wird automatisch von den +verschiedenen \samp{mktex*}-Skripten aufgerufen. Das Skript ruft +grob gesagt den Befehl + +\begin{alltt} +cd /\var{your}/\var{texmf}/\var{root} && ls -LAR ./ >ls-R +\end{alltt} + +auf, falls das Kommando \code{ls} Ihres Rechners eine Ausgabe im richtigen +Format liefert. (So wie das \acro{GNU}-\code{ls}.) Wenn Sie ganz sichergehen +wollen, dass die Datenbank immer auf dem neuesten Stand ist, sollten Sie sie +in regelmigen Abstnden mit Hilfe eines \cmdname{crontab}-Eintrags +aktualisieren lassen. Dadurch wird nach einer Installation eines +Pakets per Hand trotzdem sichergestellt, dass die Datenbank aktuell ist. + +Wenn eine Datei nicht ber die Datenbank gefunden wird, sucht +{\KPS} normalerweise auf der Festplatte weiter. Wenn eine Pfadkomponente +mit \samp{!!} beginnt, wird dagegen niemals die Festplatte durchsucht. + +% .............................................................. +\subsubsection{\cmdname{kpsewhich}: Dateisuche} +\label{sec:invoking-kpsewhich} + +Mit dem Programm \cmdname{kpsewhich} knnen Sie unabhngig vom Aufruf +irgendeines \TeX-Programms nach Dateien in der \TeX-Hierarchie suchen +(als schnellere Alternative zu dem Befehl \cmdname{find}). Dies +wird von den verschiedenen \samp{mktex\dots}-Skripten bis zum +Exzess vorexerziert. + +\begin{alltt} +> \Ucom{kpsewhich \var{option}{\dots} \var{filename}{\dots}} +\end{alltt} + +Die Optionen werden entweder mit \samp{-} oder mit \samp{-{}-} eingeleitet. +Jede eindeutige Abkrzung ist zulssig. + +Argumente der Kommandozeile, die keine Optionen darstellen, werden als +Dateinamen interpretiert. Fr jeden Dateinamen wird der erste passende +Pfad gemeldet. Um eine Liste aller passenden Pfade zu erhalten, mssen Sie +das \acro{UNIX}-Kommando \cmdname{find} aufrufen. + +Im Folgenden werden die hufiger benutzten Optionen beschrieben. + +\begin{description} +\item[\texttt{-{}-dpi=}\var{num}]\mbox{}\\ + Stellt die Auf"|lsung fr die Suche nach Zeichenstzen + (nur \file{.gf} oder \file{.pk}) auf \var{num}\,dpi. Alternativ + kann die Option \optname{-D} (kommt von \dvips) benutzt werden. + Voreinstellung ist~600. +\item[\texttt{-{}-format=}\var{name}]\mbox{}\\ + Setzt das Format zur Suche auf \var{name}. Per Voreinstellung + versucht \cmdname{kpsewhich} das Format ber den Dateinamen + zu erschlieen. Bei Formaten ohne zugeordnete Namens\-endung wie den + zu {\MP} gehrenden Dateien und den Konfigurationsdateien zu + {\dvips} mssen Sie den entsprechenden Namen so eingeben, wie er + \KPS{} bekannt ist. +\item[\texttt{-{}-mode=}\var{string}]\mbox{}\\ + Setzt fr die Zeichensatzsuche den Generierungsmodus (betrifft nur + \file{.gf}- oder \file{.pk}-Dateien). Normalerweise werden alle + Zeichenstze gemeldet. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Es wird versucht, die Dateien notfalls durch eine Suche auf der + Festplatte zu finden. Normalerweise wird nur die \file{ls-R}-Datenbank + konsultiert. +\item[\texttt{-{}-path=}\var{string}]\mbox{}\\ + Sucht entlang des angegebenen Pfads statt des Standardpfads, + der auf Grund der Endung gewhlt wird. Alle Expansionen sind + zulssig. Bei Verwendung der Option \texttt{-{}-path} darf nicht + die Option \texttt{-{}-format} angegeben werden. +\item[\texttt{-{}-progname=}\var{name}]\mbox{}\\ + Setzt den Programmnamen fr die genauere Variablenspezifikation + ber \samp{.\var{Programmname}}. Voreinstellung ist \samp{kpsewhich}. +\item[\texttt{-{}-show-path=}\var{name}]\mbox{}\\ + Zeigt den Suchpfad fr die angegebene Namens\-endung. Diese kann entweder + als Namens\-endung (\samp{.pk}, \samp{.vf}, usw.) oder als Name (wie bei der + Option \optname{-{}-format}) spezifiziert werden. +\item[\texttt{-{}-debug=}\var{num}]\mbox{}\\ + Legt den Umfang fr die Fehlersuche fest. +\end{description} + +% .............................................................. +\subsubsection{Anwendungsbeispiele} +\label{sec:examples-of-use} + +Wir schauen uns nun die Funktionsweise von {\KPS} anhand einiger Beispiele an. + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} + +Wir suchen unter den \TeX-Quelldateien nach der Datei \file{article.cls}. +Da die Namens\-endung \samp{.cls} eindeutig ist, mssen wir den Typ +\samp{.tex} nicht angeben. Die \samp{texmf-dist}-Hierarchie enthlt die +Datei im Unterverzeichnis \dirname{tex/latex/base}. hnlich bereiten +die folgenden Beispiele auf Grund eindeutiger Namens\-endungen keine Probleme. + +\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} + +Beim letzten Beispiel handelt es sich brigens um eine \BibTeX-Literaturdatenbank +fr \textsl{TUGBoat}-Artikel. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} + +Zeichensatzdateien mit der Namens\-endung \samp{.pk} werden +von Anzeige- oder Druckaufbereitungsprogrammen wie {\dvips} und +\cmdname{xdvi} verwendet. Nachdem wir aufgrund der Voreinstellung keine \file{.pk}-Dateien verwenden, +sondern die \PS-\TypeI-Zeichenstze, die auf der \acro{CDROM}/{\DVD} enthalten +sind, wird auch keine \file{.pk}-Datei angezeigt. + +\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} +Fr diesen Zeichensatz (Teil der \acro{IPA}-Fonts% +\footnote{\acro{IPA}: International Phonetic Alphabet} +von der Universitt von Washington) liegen noch keine +\TypeI-Umsetzungen vor und \samp{.pk}-Dateien mssen generiert werden. Da unser voreingestellter \MF-Modus +\samp{ljfour} eine Auf"|lsung von 600\,dpi besitzt, +finden wir (nachdem er schon einmal gebraucht und automatisch +erzeugt wurde) eine entsprechende Instanz dieses Zeichensatzes. + +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} + +Durch die Angabe ">\optname{-dpi=300}"< interessieren wir uns nur +fr Zeichenstze mit der Auf"|lsung 300\,dpi. Es wurde keiner gefunden. +Programme wie {\dvips} oder \cmdname{xdvi} lassen einen solchen fehlenden +Zeichensatz durch den Aufruf des Skripts \cmdname{mktexpk} mit entsprechenden +Parametern automatisch erzeugen. + +Als nchstes wenden wir uns den Header- und Konfigurationsdateien +von {\dvips} zu. +Zunchst suchen wir nach der Konfiguration fr die \TeX-Untersttzung, +dem Prolog \file{tex.pro}. Danach suchen wir die allgemeine Konfigurationsdatei +(\file{config.ps}) und schlielich die \PS-Zeichensatzzuordnungsdatei +\file{psfonts.map}. Dateien dieser Art haben seit der 2004er-Version der {\TL} ihre eigenen Suchpfade und einen neuen Aufbewahrungsort im \OnCD{texmf}-Baum. Da die Namens\-endung \samp{.ps} nicht eindeutig ist, +mssen wir den gewnschten Typ (\samp{dvips config}) +fr die Datei \file{config.ps} spezifizieren. + +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +Jetzt suchen wir nach den Dateien fr den \PS-Zeichensatz ">URW Times"<. +Nach dem Namensschema von Karl~Berry beginnen die Namen mit ">\texttt{utm}"<. +Zunchst suchen wir die Konfigurationsdatei, die den Namen der +Zeichensatzzuordnungsdatei enthlt. + +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} + +Diese Datei enthlt folgende Anweisung: + +\begin{alltt} + p +utm.map +\end{alltt} + +Die angegebene Datei \file{utm.map} wollen wir als nchstes suchen: + +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} + +Diese Zuordnungsdatei wird im Unterverzeichnis \file{urw} bei den +Hilfsdateien fr {\dvips} gefunden. Sie enthlt die Dateinamen der +\TypeI-\PS-Zeichenstze, die fr URW Times benutzt werden. Ein +kleiner Auszug aus dieser Datei: + +\begin{alltt} + utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb + utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb + utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb + utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} + +Wenn wir jetzt beispielsweise nach dem Zeichensatz Times Regular +(\file{utmr8a.pfb}) suchen, finden wir ihn im +Verzeichnis \OnCD{texmf} unter den \TypeI-Zeichenstzen: + +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Diese Beispiele sollten deutlich gemacht haben, wie leicht bestimmte Dateien +im \TeX-Dateibaum gefunden werden knnen. Dies ist sehr wichtig, wenn Sie +den Verdacht haben, dass eine falsche Version einer Datei verwendet wird: +Sie lassen sich einfach die verwendete Datei von \cmdname{kpsewhich} +anzeigen. + +% .............................................................. +\subsubsection{Fehlersuche} +\label{sec:debugging} + +Manchmal ist wichtig, bis ins Detail nachzuvollziehen, wie ein Programm eine +bestimmte Datei findet. Zu diesem Zweck bietet die \KPS-Bibliothek verschiedene +Stufen fr den Umfang der Fehlersuche an. + +\begin{itemize} +\item[\texttt{\ 1}] \code{stat}-Aufrufe (berprfung, ob Datei + existiert); mit einer aktuellen \file{ls-R}-Datenbank sollten Sie fast + keine Meldungen erhalten. +\item[\texttt{\ 2}] Zugriffe auf Suchlisten (wie \file{ls-R}-Datenbanken, + Zuordnungsdateien (\texttt{.map}), Konfigurationsdateien) +\item[\texttt{\ 4}] ffnen und Schlieen von Dateien +\item[\texttt{\ 8}] Auf"|listen der voreingestellten Pfade fr Extensionen +\item[\texttt{16}] Verzeichnisliste fr jede Pfadkomponente (nur bei Festplattenzugriff) +\item[\texttt{32}] Suchaktionen nach Dateien +\item[\texttt{64}] Werte von Variablen. +\end{itemize} + +Durch die Angabe von \samp{-1} setzen Sie alle Stufen gleichzeitig. +Fr eine effiziente Fehlersuche sollten Sie sich auf die wichtigsten +Ausgaben beschrnken. + +Fr {\dvips} gibt es einen hnlichen Mechanismus zur Erzeugung +von Analysemeldungen, um herauszufinden, warum bestimmte Dateien geffnet +wurden bzw.\ wo vielleicht das Problem liegt, wenn Dateien nicht gefunden +werden. + +Da fast alle Programme die \KPS-Bibliothek benutzen, knnen Sie die +gewnschte Stufe auch ber die Umgebungsvariable \envname{KPATHSEA\_DEBUG} +einstellen, indem Sie einen der Werte oder eine additive Kombination +spezifizieren. + +Anmerkung fr Windows-Benutzer: Es ist nicht einfach, alle Meldungen in eine Datei umzulenken. Fr die Fehlersuche +jedoch ist die folgende (temporre!) Vereinbarung sinnvoll: + +\indent\texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log} + +Wir betrachten als Beispiel eine kleine \LaTeX-Quelldatei mit dem Namen +\file{hello-world.tex} mit folgendem Inhalt: + +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} + +Diese Datei verwendet nur einen Zeichensatz, nmlich \file{cmr10}. Wir sehen uns +jetzt einmal genau an, wie {\dvips} die \PS-Datei erzeugt. +Da wir die \TypeI-Variante der Computer-Modern-Roman-Zeichenstze +verwenden wollen, haben wir die Option \optname{-Pcms} verwendet. + +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} + +Hier haben wir als Stufe zur Fehlersuche eine Kombination der Stufe~\code{4} von +{\dvips} (siehe \dvips-Handbuch, +\dirname{texmf/doc/html/dvips/dvips\_toc.html}?). +%\ifSingleColumn +%We get something +%like the following (we have rearranged the output for easier display): +%\begin{alltt}\small +%\input{examples/ex6.tex} +%\end{alltt} +%\else +Die Ausgabe sieht ungefhr so wie in +Abbildung~\ref{fig:dvipsdbga} dargestellt aus (die Ausgabe wurde fr einen besseren berblick +etwas umgestaltet). + +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Suche nach Konfigurationsdateien}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Suche nach Prologdateien}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Suche nach Font-Dateien}\label{fig:dvipsdbgc} +\end{figure*} + +Zunchst sucht {\dvips} (bzw.\ \KPS) seine Konfigurationsdateien, +nmlich \file{texmf.cnf} (das die Pfade der anderen Dateien enthlt), +dann die Dateinamen"=Datenbank \file{ls-R} (zur Optimierung der Suche) +und die Datei \file{aliases}, mit deren Hilfe fr eine Datei +mehrere Namen vereinbart werden knnen, z.\,B. um die kurzen +\samp{8.3}-\acro{DOS}-Namen mit aussagefhigen, langen Namen zu assoziieren. +Danach wird die allgemeine \dvips-Konfigurationsdatei +\file{config.ps}, anschlieend die benutzerspezifische Konfigurationsdatei +\file{.dvipsrc} (wird hier \emph{nicht} gefunden) gesucht. +Als letztes sucht {\dvips} die Zuordnungsdatei fr +Computer-Modern-{\PS}"=Zeichenstze \file{config.cms} (bedingt durch die +Option \optname{-Pcms} beim Aufruf von \dvips). Diese +Datei enthlt die Dateinamen der Listen, die die Zuordnung zwischen +Dateinamen und Zeichensatznamen herstellen. + +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} + +{\dvips} versucht, diese Dateien und zustzlich die +allgemeine Zeichensatzzuordnungstabelle \file{psfonts.map} zu +laden, die immer konsultiert wird; der letzte Teil von +Abschnitt~\ref{sec:examples-of-use} erklrt diese Tabellen genauer. + +Jetzt erfolgt die normale Startmeldung von \dvips: + +\begin{alltt}\ifSingleColumn +dvips(k) 5.94a +kpathsea version +Copyright (C) 2003 Radical Eye Software. +... +\else\small{}dvips(k) 5.94a +kpathsea version +Copyright (C) 2003 Radical Eye Software. +... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +Danach wird nach \file{texc.pro} gesucht: + +\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 +Danach wird nach \file{texc.pro} gesucht (siehe Abbildung~\ref{fig:dvipsdbgb}). +\fi +Dann gibt {\dvips} Datum und Uhrzeit aus und meldet den Dateinamen +der erzeugten \PS-Datei \file{hello-world.ps}. Jetzt wird die +Zeichensatzdatei \file{cmr10} bentigt, die {\dvips} als +">resident"< meldet. + +\enlargethispage{1ex} +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} + +Es geht weiter mit \file{cmr10.tfm} und einigen weiteren Prologdateien, +deren Ausgaben wir hier weglassen. Letztlich wird die \TypeI-Zeichensatzdatei +\file{cmr10.pfb} gesucht (und gefunden) und in die Ausgabedatei integriert +(siehe letzte Zeile). + +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +% ------------------------------------------------------------- +\subsection{Einstellungen zur Laufzeit} + +Zu den willkommenen Erweiterungen von {\Webc} zhlt die Mglichkeit, +zur Laufzeit einige Speicher"-gren ber die Datei \file{texmf.cnf} anpassen +zu knnen (insbesondere die Gre einiger Stacks). Eine ausfhrliche Liste +der vernderbaren Parameter finden Sie in der Datei \file{texmf.cnf}. +Die wichtigsten Werte sind: + +\begin{description} +\item[\texttt{main\_memory}]\mbox{}\\ + Arbeitsspeicher fr \TeX, {\MF} und {\MP} in Worten: Fr jede Einstellung + muss eine eigene Format-Datei erstellt werden. Allerdings knnen Sie + mehrere Versionen von {\TeX} unter verschiedenen Namen erzeugen und + in der Konfigurationsdatei jeweils eigene Eintrge vorsehen. Hier gibt + es ein Monster-{\TeX} namens \samp{hugetex} mit der zugehrigen Format-Datei + \file{hugetex.fmt}, wobei der spezielle Wert der + Variablen \texttt{main\_memory} dann + aus der Datei \file{texmf.cnf} gelesen wird. +\item[\texttt{extra\_mem\_bot}]\mbox{}\\ + Extraspeicher fr ">groe"< \TeX-Datenstrukturen wie Boxen, Glue, + Breakpoints, usw.: Besonders bei Anwendung von {\PiCTeX} sollte dieser + Wert erhht werden. +\item[\texttt{font\_mem\_size}]\mbox{}\\ + Anzahl der Worte fr Speicherung von Zeichensatzinformationen: Entspricht + ungefhr dem Speicherbedarf der gelesenen \acro{TFM}-Dateien. +\item[\texttt{hash\_extra}]\mbox{}\\ + Zustzlicher Platz fr Suchlisten: In der Hauptliste knnen + ca. 10000~Eintrge verwaltet werden. Bei einem Buch mit vielen Querverweisen + reicht dieser Platz unter Umstnden nicht aus. + Die Voreinstellung fr \texttt{hash\_extra} ist \texttt{50000}. +\end{description} + +Natrlich sind diese Parameter kein Ersatz fr eine wirklich dynamische +Speicherverwaltung. Mit der gegenwrtigen Version von {\TeX} ist dieses +Konzept aber nur extrem schwer zu implementieren; darum stellt dieses +Verfahren eine praktikable Lsung dar. + +\begin{comment} +%\clearpage +% ============================================================== +\section{Installation von {\TeX} auf einer neuen \acro{UNIX}-Plattform} + +Wenn Sie eine Rechnerplattform einsetzen, fr die wir keine Binrdateien +zur Verfgung gestellt haben, mssen Sie {\TeX} und die zugehrigen +Programme mit Hilfe der Quell-Codes selbst bersetzen. Das ist gar nicht so +schwer, wie es klingt. Alles, was Sie brauchen, finden Sie auf der {\DVD} +im Verzeichnis \texttt{source}. + +Zunchst sollten Sie jedoch die von {\TeX} bentigten Dateien durch +eine Installation ohne Binrdateien auf die Festplatte kopieren bzw. +durch ">Mounten"< der {\DVD} verfgbar machen. + +% ------------------------------------------------------------- +\subsection{Voraussetzungen} + +Zum bersetzen von {\TeX} und allen weiteren bentigten +Programmen bentigen Sie ca. 100\,MB Festplattenkapazitt. +Dazu kommen ein \acro{ANSI}-C-Compiler, \cmdname{make} sowie +ein Scanner- und Parser-Generator. Die \acro{GNU}-Programme +(\cmdname{gcc}, \acro{GNU}-\cmdname{make}, \cmdname{m4}, +\cmdname{flex} und \cmdname{bison}) sind praxiserprobt +und auf den meisten Plattformen verfgbar. Eventuell knnen +Sie auch andere C-Compiler oder \cmdname{make}-Programme einsetzen, +doch dann sollten Sie sich wirklich gut mit Ihrem System auskennen, +wenn es Schwierigkeiten whrend des bersetzungsprozesses gibt. +Der Befehl \cmdname{uname} muss einen gltigen Namen liefern. + +% ------------------------------------------------------------- +\subsection{Konfiguration} + +\begin{itemize} +\item Beginnen Sie mit einer ganz normalen \TL-Installation auf +Festplatte (siehe Abschnitt~\ref{sec:install-disk} auf +Seite~\pageref{sec:install-disk}). Das Installieren der +fertigen Binaries knnen Sie getrost berspringen. + +\item Dann entpacken Sie das komprimierte Archiv (\cmdname{tar}) in +\dirname{source} auf Ihre Festplatte und wechseln in dieses Verzeichnis. + +\item Legen Sie einen Pfad fest, unter dem das \TeX-System +installiert werden soll. Natrlich sollte das derselbe Pfad sein, +den Sie schon zum Kopieren der Daten verwendet haben +(z.\,B. \dirname{/usr/local} oder \dirname{/usr/local/TeX}). +\end{itemize} + +Die automatische Systemerkennung und -anpassung wird durch +\textsf{configure} mit folgendem Aufruf gestartet: + +\begin{alltt} +> \Ucom{./configure -prefix=/usr/local/TeX} +\end{alltt} + +Bei der Option \optname{prefix} geben Sie das Verzeichnis an, in dem sich die +bereits kopierten \TL-Dateien befinden; +dieses Verzeichnis wird weiter strukturiert (\dirname{\$TEXDIR} +ist dabei das Installationsverzeichnis): + + +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{\$TEXDIR/man} & Anleitungen im + \acro{UNIX}-\cmdname{man}-Format\\ + \dirname{\$TEXDIR/share/texmf} & \TeX-Daten mit Zeichenstzen, + Makros, usw.\\ + \dirname{\$TEXDIR/info} & Anleitungen im + \acro{GNU}-\cmdname{info}-Format\\ + \dirname{\$TEXDIR/bin/\$PLATFORM} & ausfhrbare Programme\\ +\end{tabular} +%$ + +Wenn Sie wollen, knnen Sie ">\dirname{share/}"< als Namensbestandteil +von \OnCD{texmf} weglassen, da sowohl +\dirname{\$TEXDIR/share/texmf} als auch \dirname{\$TEXDIR/texmf} +automatisch von \cmdname{configure} erkannt werden. Sollten Sie ein anderes +Verzeichnis vorziehen, mssen Sie dieses \cmdname{configure} mit dem +Kommandozeilenparameter \optname{-{}-datadir} mitteilen. + +Wenn Sie die erkannte Plattform nicht als \dirname{\$PLATFORM} im +Pfad der ausfhrbaren Programme haben wollen, sondern z.\,B. +direkt in \dirname{\$TEXDIR/bin} installieren wollen, verwenden Sie +die Option \optname{-{}-disable-multiplatform}. + +Zum Weglassen spezieller \TeX-Systeme wie {\OMEGA} oder {\eTeX} gibt +es eine Reihe von Optionen, die Sie durch die Eingabe von +\samp{./configure --help} angezeigt bekommen. + +% ------------------------------------------------------------- +\subsection{Aufruf von \cmdname{make}} + +Vergewissern Sie sich, dass die Shell-Variable \envname{noclobber} nicht +gesetzt ist und geben + +\begin{alltt} +> \Ucom{make world} +\end{alltt} + +ein. Jetzt knnen Sie sich entspannt zurcklehnen oder wie ein +{\TeX}ie sagt: |\relax|. + +Eine gute Idee ist auch das Speichern der Meldungen beim +bersetzen durch das Anlegen eines Protokolls: + +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Nehmen Sie nicht flschlicherweise nach dem Durchlauf von \cmdname{make} +an, dass alles gut gegangen ist, sondern vergewissern sich durch eine +Kontrolle des Protokolls. (\acro{GNU} \cmdname{make} zeigt Fehler +z.\,B. immer mit der Zeichenkette ">\texttt{***}"< an.) +Auerdem sollten Sie sich vergewissern, dass alle ausfhrbaren +Programme auch erzeugt wurden: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} + +Das Ergebnis sollte ber 200 liegen (Sie knnen die exakte Zahl +mit der Anzahl der lauf"|fhigen Programme [Binaries] im Verzeichnis \OnCD{bin} vergleichen). +Der Aufruf \samp{make~world} ist brigens quivalent zu +\samp{make~all~install~strip}. + +Wenn fr den Aufruf von \samp{make~install} besondere +Systemverwalterrechte notwendig sein sollten, knnen Sie die +Anweisung \samp{make~world} auch in zwei Durchgngen absetzen: + +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +Nachdem Sie Ihre Binaries installiert haben, sollten Sie die normalen +Installationsnacharbeiten durchfhren, die im Abschnitt~\ref{sec:postinstall} +auf Seite~\pageref{sec:postinstall} beschrieben sind. + +Wenn Sie lauf"|fhige Programme erstellt haben und diese Anderen zur Verfgung stellen wollen, sollten Sie uns kontaktieren. Wir wrden uns freuen, sie auf den \TL-\acro{WWW}-Seiten anzubieten. +\end{comment} + +% ============================================================== +\section{Danksagungen} + +Die {\TL} ist eine gemeinsame Arbeit faktisch aller {\TeX} Users +Groups. + +Die Entwicklung des vorliegende \TL-Releases wurde Karl~Berry geleitet; +die brigen Haupt-Mitarbeiter sind im Folgenden aufgelistet. + +\begin{itemize} +\item Den englisch-, deutsch-, niederlndisch-, und polnisch-sprachigen + \TeX-Anwendervereinigun\-gen (\acro{TUG}, \acro{DANTE} e.V., + \acro{NTG}, and \acro{GUST}), + die zusammen die technische und administrative Infrastruktur + zur Verfgung stellen. Wir wrden uns freuen wenn Sie bei einer der + Anwendervereinigungen Mitglied werden. +\item Dem \acro{CTAN} Team, insbesondere Robin Fairbairns, Jim Hef{}feron, + und Rainer Schpf, das die \TL{}-CD-Images und die Infrastruktur + fr Paketupdates zur Verfgung stellt, von denen \TL{} abhngt. +\item Peter Breitenlohner (und das \eTeX\-Team) fr den stabilen Grundstock zu {\TeX}s Zukunft, und Peter speziell fr wertvolle Hilfe zum Verwenden + von GNU autotools in \TL; +\item Thomas~Esser, der mit dem exzellenten {\teTeX} die Basis + fr dieses {\TL} schuf; +\item Michel~Goossens, als Coautor der englischen Original-Dokumentation; +\item Eitan~Gurari, mit dessen {\TeX4ht} die \HTML-Version dieser + Anleitung erstellt wurde und der unermdlich daran gearbeitet + hat, es auf Zuruf zu verbessern; +\item \Thanh, Martin~Schrder und das pdf\TeX-Team (\url{http://pdftex.org}), + die die Arbeiten zur Erweiterung der Mglichkeiten von + {\TeX} fortgesetzt haben; +\item Hans Hagen, fr zahlreiche Tests und Aktivitten, damit \ConTeXt{} + (\url{http://pragma-ade.com}) ein Teil von \TL sein kann; +\item Taco Hoekwater, fr neue Entwicklungen von MetaPost und (Lua)\TeX\ + (\url{http://luatex.org}), und ebenfalls fr die Untersttzung beim + \ConTeXt-Teil von \TL; +\item Pawe{\l} Jackowski fr das Installationsprogramm \cmdname{tlpm} fr + Windows, + Tomasz {\L}uczak fr \cmdname{tlpmgui} in frheren Versionen von \TL; +\item Akira Kakuto, fr Windows-Programme im Rahmen seines + \acro{W32TEX} Distribution + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}); + +\item Jonathan Kew und \acro{SIL}, fr die + Neuentwicklung von Xe\TeX{} und die Zeit und Mhe es in \TL{} zu + integrieren, sowie fr die erste Version des Mac\TeX-Installers; + +\item Dick Koch fr die Betreuung von Mac\TeX\ (\url{http://tug.org/mactex}); + + +\item Reinhard Kotucha, fr die Untersttzung bei der Infrastruktur von + \TL{} und das Installationsprogramm, fr seine Windows-Untersuchungen, fr das \texttt{getnonfreefonts} + Script, und vieles mehr; + +\item Siep Kroonenberg, fr wertvolle Beitrge zur Infrastruktur von + \TL\,2008 und den Installer, insbesondere unter Windows, und fr einen + Groteil der Arbeit, die Dokumentation dafr zu schreiben; + +\item Petr~Olsak, der das tschechische und slowakische Material sehr sorgfltig er- und berarbeitet hat; + +\item Toshio Oshima, fr den \cmdname{dviout}-Previewer fr Windows; + +\item Manuel P\'egouri\'e-Gonnard, fr die Mithilfe beim Aktualisieren + von Paketen, der Dokumentation und Arbeit an \cmdname{tldoc}; + +\item Fabrice Popineau fr die erste Windows-Version von \TL und Mithilfe + bei der franzsischen Dokumentation; + +\item Norbert Preining, Hauptkoordinator fr \TL{}-Infrastruktur und + den Installer, fr die Koordination der Debian Version von \TL{} + (zusammen mit Frank Kster), und die daraus resultierenden + Verbesserungsvorschlge; + +\item Sebastian Rahtz fr die Erfindung von \TL und die langjhrige + Leitung des Projekts; + +\item Vladimir Volovich fr viele substanzielle Mithilfe, und dafr, dass + er es mglich gemacht hat, \cmdname{xindy} in \TL aufzunehmen; + +\item Staszek~Wawrykiewicz, der Haupttester fr alles, was mit {\TeX} zusammen hngt, Koordinator der polnischen + Beitrge, Windows-Installation und mehr; + +\item Olaf~Weber fr die Geduld beim Pflegen von \Webc; +\item Gerben~Wierda fr das Erstellen und Pflegen des \MacOSX-Teils und fr viele Integrations- und Testarbeiten; +\item Graham~Williams, dessen Arbeit das Makro- und Paketverzeichnis mglich gemacht hat. +\end{itemize} + +\textbf{Lauf"|fhige Programme:} +Reinhard Kotucha (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). + +Informationen dazu, wie Binaries fr \TL{} erzeugt werden, +finden sich unter \url{http://tug.org/texlive/build.html}. + +\textbf{Dokumentation und Anpassung der bersetzungen:} + +\begin{itemize*} +\item Karl~Berry (Englisch), +\item Daniel~Flipo (Franzsisch), +\item Klaus Hppner \& Hartmut~Henkel (Deutsch) +\item Petr~Sojka \& Jan~Busa (Tschechisch/""Slowakisch), +\item Boris~Veytsman (Russisch), +\item Staszek~Wawrykiewicz (Polnisch). +\end{itemize*} + +Natrlich haben wir am meisten Donald~Knuth zu danken, einmal dafr, dass er {\TeX} erfand und dann dafr, dass er es +der Welt schenkte. + +% ------------------------------------------------------------- +\section{Geschichtliches}\label{sec:history} + +Diese Ausgabe der {\TL} ist in Zusammenarbeit der \TeX{} Users Group (\acro{TUG}), der +\acro{UKTUG}, der franzsischen \TeX-Vereinigung GUTenberg +und der deutschsprachigen \TeX-Anwendervereinigung (DANTE e.\,V.) +unter Mithilfe der niederlndischen, tschechischen/""slowakischen, +indischen, polnischen und russischen \TeX-Benutzergruppen +entstanden. + +\subsection{Vergangenheit} + +Die niederlndische \TeX-Benutzergruppe hatte Ende 1993 mit der +Produktion der 4All\TeX-{\acro{CDROM}} fr \acro{MS-DOS} die Diskussion angeregt, +eine einzige {\acro{CDROM}} fr alle Rechnersysteme zu entwickeln. Zum +damaligen Zeitpunkt war dieses Ziel zu hoch gesteckt, doch immerhin +entstand aus dieser Diskussion nicht nur die sehr erfolgreiche +4All\TeX-{\acro{CDROM}}, sondern auch die \acro{TUG}-Arbeitsgruppe zur Definition +der {\TeX} Directory Structure \TDS, die die zur Arbeit mit {\TeX} +notwendigen und hilfreichen Dateien in eine konsistente und +handhabbare Verzeichnisstruktur einbettet. Das ">Final~Draft"<-Dokument, +das diese Verzeichnisstruktur festlegt, wurde in der Dezember-Ausgabe +1995 der TUGBoat verffentlicht. Schon frhzeitig war den Beteiligten +klar, dass eine {\acro{CDROM}} auf der Basis der {\TDS} sehr zu begren wre. +Die \TL-{\acro{CDROM}} war das direkte Resultat der Beratungen der +\TDS-Arbeitsgruppe. Auerdem hat der Erfolg der 4All\TeX-{\acro{CDROM}} +klargemacht, dass ein hnliches System auch fr \acro{UNIX}-Benutzer eine +Erleichterung darstellen wrde. Dies war der zweite Beweggrund fr +die \TL-\acro{CDROM}. + +Im Herbst 1995 wurde das Projekt, eine \TDS-basierte \acro{UNIX}-{\acro{CDROM}} +zu entwickeln, in Angriff genommen. Sehr schnell stieen die +Verantwortlichen auf das \teTeX-System von Thomas~Esser als +idealen Ausgangspunkt fr diese Arbeit, weil es verschiedene +Rechnerplattformen untersttzte und fr die Arbeit mit verschiedenen +Dateisystemen vorgesehen war. Anfang 1996 wurde in Zusammenarbeit +mit Thomas~Esser ernsthaft mit der Arbeit begonnen und im Mai~1996 +die erste Ausgabe der {\acro{CDROM}} verffentlicht. + +Anfang 1997 stellte +Karl~Berry eine neue Version seines \Webc-\TeX-Systems vor, das +schon nahezu alle Ausstattungsmerkmale aufwies, die Thomas~Esser +mit {\teTeX} verwirklicht hatte. Die \acro{TUG} entschied sich daraufhin, +die zweite Version der {\acro{CDROM}} auf der Basis von {\Webc} unter +Verwendung des Installations-Skripts \cmdname{texconfig} aus dem +\teTeX-Paket zu entwickeln. + +Die dritte Ausgabe basierte auf der +inzwischen von Olaf~Weber gepflegten und weiter entwickelten +{\Webc}~Version~7.2; {\TL} untersttzte fast alle Eigenschaften +der zur selben Zeit entstandenen neuen Version von \teTeX. + +Die vierte Ausgabe folgte demselben Schema, indem ihr neue +Versionen von {\teTeX} und {\Webc}~(7.5) zugrunde lagen. +Fast die gesamte {\acro{CDROM}} wurde einer kritischen berprfung +unterzogen, wobei besonders darauf geachtet wurde, dass doppelte +Dateien entfernt wurden und die Einordnung der Pakete konsistent +erfolgte. Zudem enthielt diese Ausgabe ein komplettes Windows-Setup. + +Fr die fnfte Ausgabe im Mrz~2000 wurden wiederum groe Teile der +{\acro{CDROM}} ersetzt, wobei Hunderte von berarbeiteten Paketen aufgenommen +wurden. {\OMEGA}, {pdf\TeX} und Teile der \TeX-Support-Programme (hier +insbesondere \cmdname{xdvi}, \cmdname{dvips} und \cmdname{tex4ht}) +lagen in neuer Version vor. +Die Hauptnderung bei der \TL\,5 betraf die \samp{non-free}-Software. +Alles auf dieser {\acro{CDROM}} war nun in bereinstimmung mit den \emph{Debian +Free Software Guidelines} (\url{http://www.debian.org/intro/free}). +Wir haben unser Bestes versucht, die Lizenzbedingungen aller Pakete +zu berprfen, sind aber dankbar, wenn wir auf Fehler hingewiesen werden. + +Die sechste Ausgabe der {\TL} vom Juli/August~2001 +enthielt die neuesten Versionen aller Pakete und Programme. +Das neue Installationskonzept stellte die grte nderung dar: +Der Benutzer konnte nun viel genauer +gewnschte bzw.\ nicht erwnschte Sammlungen +und Pakete auswhlen. Dabei wurden die sprachspezifischen Sammlungen +komplett berarbeitet, so dass sie jetzt automatisch nicht nur +Makros, Fonts usw. installierten, sondern zustzlich die notwendigen +Eintrge in \file{language.dat} vornahmen. + +Die siebte Ausgabe vom Mai~2002 enthlt als grte +nderungen {\MacOSX} und wieder unzhlige Updates aller Pakete und Programme. +Ein wesentliches Ziel war zudem die Wiedererstellung einer gemeinsamen +Quelle mit {\teTeX}, um das Auseinanderlaufen seit \TL\,5 und \TL\,6 +zu korrigieren. + +\subsection{2003} + +Im Jahr 2003 war die Flut von Updates und neuen Paketen so gro geworden, +dass wir feststellen mussten: ">{\TL} passt nicht mehr auf eine einzelne +\acro{CDROM}"<. Und so wurde sie in drei verschiedene Distributionen aufgeteilt +(siehe Abschnitt~\ref{sec:tl-coll-dists} auf Seite~\pageref{sec:tl-coll-dists}). +Des Weiteren: + +\begin{itemize} +\item Auf Wunsch des \LaTeX-Teams wurde der Standard fr \cmdname{latex} + und \cmdname{pdflatex} verndert; beide benutzen nun {\eTeX} als Basis + (siehe Seite~\pageref{text:etex}). +\item Die neuen ">Latin Modern Fonts"< wurden aufgenommen (und werden + zur Benutzung empfohlen). +\item Der Support fr Alpha-\acro{OSF} wurde aufgegeben (den + \acro{HPUX}-Support hatte es schon zuvor ereilt), da + niemand mehr in der Lage war, neue Binaries zu kompilieren. +\item Das Setup fr Windows wurde grundlegend berarbeitet. + Zum ersten Mal wurde eine integrierte Umgebung eingefhrt, + die auf \cmdname{XEmacs} basiert. +\item Wichtige Hilfsprogramme fr Windows (Perl, Ghost\-script, + Image\-Magick, Ispell) werden nun im \TL-Verzeichnis + installiert. +\item Die von \cmdname{dvips}, \cmdname{dvipdfm} und \cmdname{pdftex} + benutzten Font-Mapfiles werden vom neuen Programm + \cmdname{updmap} generiert und in \dirname{texmf/fonts/map} + installiert. +\item \TeX, {\MF} und {\MP} geben nun die meisten 8"~Bit-Input"~Zeichen (Position 32 und oberhalb) unverndert + aus in (\verb|\write|)-Files, Logfiles und auf dem Terminal. + Das bedeutet, dass sie \emph{nicht} mit der \verb|^^|-Notierung + bersetzt ausgegeben werden. Auf der \TL\,7 war diese + bersetzung abhngig von der \cmdname{locale}-Einstellung des + Systems; nun beeinflussen \cmdname{locale}-Einstellung nicht + {\TeX}s Programmverhalten. Falls Sie aus irgendwelchen + Grnden die \verb|^^|-Ausgabe bentigen, mssen Sie in Ihrem System + die Datei \file{texmf/web2c/cp8bit.tcx} umbenennen + (zuknftige Versionen werden eine sauberere Schnittstelle zur + Kontrolle dieses Verhaltens anbieten). +\item Die Dokumentation wurde grundlegend berarbeitet. +\item Zum Abschluss einigten wir uns auf eine neue Edition-Nummerierung. + Ab diesem Jahr trgt die {\TL} statt einer fortlaufenden Nummer + die Jahreszahl: \TL~2003. +\end{itemize} + +\subsection{2004} + +\begin{itemize} +\item Wenn Sie lokal installierte Zeichenstze mit ihren eigenen \filename{.map}- oder (weniger wahrscheinlich) + \filename{.enc}-Dateien benutzen, mssen Sie mglicherweise diese Dateien verschieben. + + Nach den \filename{.map}-Dateien wird jetzt in den \dirname{fonts/map}-Unterverzeichnissen im + \envname{TEXFONTMAPS}-Pfad gesucht (in jedem \filename{texmf}-Baum). + Gleichzeitig werden \filename{.enc}-Dateien jetzt in den \dirname{fonts/enc}-Unterverzeichnissen entlang des + \envname{ENCFONTS}-Pfads gesucht. Das Programm \cmdname{updmap} versucht, bei problematischen Dateien zu warnen. + + Informationen darber, wie das gehandhabt wird, und zustzliche Informationen finden Sie unter + \url{http://tug.org/texlive/mapenc.html}. + +\item Die \TK\ wurde fr all diejenigen, die diese Implementierung {\Webc} vorziehen, um eine \MIKTEX-basierte und + installierbare {\acro{CDROM}} erweitert. Siehe dazu auch Abschnitt~\ref{sec:overview-tl} auf + Seite~\pageref{sec:overview-tl}. + +\item In der {\TL} wurde der umfangreiche \dirname{texmf}-Baum frherer Versionen durch drei Teilbume ersetzt: + \OnCD{texmf}, \OnCD{texmf-dist} und \OnCD{texmf-doc}. Siehe dazu Abschnitt~\ref{sec:tld} auf + Seite~\pageref{sec:tld} und die \filename{README}-Dateien in den drei Zweigen. + +\item Alle \TeX-relevanten Eingabedateien sind jetzt in den \dirname{tex}-Unterverzeichnissen der + \dirname{texmf*}-Bume zusammengefasst und nicht mehr in den parallelen Verzeichnissen \dirname{tex}, + \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex}, usw. Siehe dazu + \CDref{texmf-doc/doc/english/tds/tds.html\#Extensions}{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Hilfs-Skripte, die der Anwender nicht selbst aufruft, werden jetzt in den \mbox{neuen} + \dirname{scripts}-Unterverzeichnissen der \dirname{texmf*}-Bume aufbewahrt. Nach ihnen wird per + \samp{kpsewhich -format=texmfscripts} gesucht. Wenn Sie Programme einsetzen, die solche Skripte aufrufen, mssen + sie angepasst werden. Siehe dazu \CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item (Fast) alle Formate interpretieren -- an Stelle einer bersetzung durch die \verb|^^|-Notation -- mittels + des ">translation files"< \filename{cp227.tcx} die meisten Zeichen als direkt ausgebbar. Insbesondere werden + die Zeichen an den Positionen 32--256, zustzlich \acro{TAB}, \acro{VT} (vertical tab; vertikaler Tab) und + \acro{FF} (form feed; Seitenvorschub), als druckbar angesehen und daher nicht bersetzt. Ausnahmen sind + plain \TeX, bei dem nur die Zeichen an den Positionen 32--127 druckbar sind, {\ConTeXt} (mit druckbaren Zeichen an + den Positionen 0--255) und die \OMEGA-verwandten Formate. Dieses voreingestellte Verhalten ist (fast) identisch + mit dem in \TL\,2003; es ist aber jetzt klarer und mit umfangreicheren Anpassungsmglichkeiten implementiert. + Siehe dazu \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. + + \textbf{Anmerkung:} Da {\TeX} byte-orientiert ist, knnen bei einer Unicode-Eingabe (2-Byte-Zeichen) im Kontext + von Fehlermeldungen Folgen von 1-Byte-Zeichen ausgegeben werden. + +\item \cmdname{pdfetex} ist jetzt die voreingestellte ">Engine"< fr alle Formate mit Ausnahme von + \mbox{(plain-)\cmdname{tex}} selbst (natrlich generiert es \dvi-Code, wenn es als \cmdname{latex}, usw. + aufgerufen wird.). Das bedeutet unter vielen anderen Dingen, dass die mikrotypographischen Fhigkeiten von + \cmdname{pdftex} + wie auch die Erweiterungen von {\eTeX} in \LaTeX, \ConTeXt usw. zur Verfgung stehen + (\OnCD{texmf-dist/doc/etex/base/}). + + Das bedeutet, dass es \emph{wichtiger denn je} ist, das Paket \pkgname{ifpdf} zu benutzen (es arbeitet sowohl mit + {plain \TeX} als auch mit \LaTeX), da der einfache Test, ob \cs{pdfoutput} oder ein anderer \TeX-Grundbefehl + (primitive) definiert ist, nicht verlsslich genug ist fr die Entscheidung, ob eine PDF-Ausgabe erzeugt wird. + Wir haben das rckwrts-kompatibel gemacht, so gut wir das dieses Jahr konnten; nchstes Jahr aber soll + \cs{pdfoutput} so beschaffen sein, dass dieser Befehl auch dann definiert ist, wenn {\dvi}-Code erzeugt wird. + +\item pdf\TeX\ (\url{http://pdftex.org/}) hat viele neue Besonderheiten: + \begin{itemize} + \item Die Befehle \cs{pdfmapfile} und \cs{pdfmapline} ermglichen einen Font"~Map-Support innerhalb eines + Dokuments. + \item Mikrotypografische Zeichensatz-Expansion (font expansion) kann jetzt viel leichter benutzt werden + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html}. + \item Alle Parameter, die frher in der speziellen Konfigurationsdatei \filename{pdftex.cfg} definiert wurden, + mssen jetzt mit Hilfe von pdf\TeX-Grundbefehlen gesetzt werden, typischerweise in + \filename{pdftexconfig.tex}; die Konfigurationsdatei \filename{pdftex.cfg} wird nicht lnger untersttzt. + Jede schon bestehende Format-Datei (\filename{.fmt}) muss neu erstellt werden, wenn + \filename{pdftexconfig.tex} gendert wird. + \item Fr zustzliche Informationen siehe das pdf\TeX-Handbuch: \OnCD{texmf-dist/doc/pdftex/manual}. + \end{itemize} + +\item Der Grundbefehl \cs{input} in \cmdname{tex} (\cmdname{mf} und \cmdname{mpost}) akzeptiert jetzt doppelte + Anfhrungszeichen und andere Spezialzeichen. Typische Beispiele: + +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} + + Fr zustzliche Informationen siehe das \Webc-Handbuch: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ wird jetzt in {\Webc} und damit auch in allen \TeX-Programmen untersttzt. Dazu wird \emph{beim + Generieren neuer Formate} die Option \optname{-enc} benutzt. enc\TeX\ untersttzt allgemein die Umkodierung der + Ein- und Ausgabe und ermglicht eine volle Unicode-Untersttzung (in \acro{UTF}-8). + Siehe \OnCD{texmf-dist/doc/generic/enctex/} und \url{http://www.olsak.net/enctex.html}. + +\item Aleph (\ensuremath{\aleph}), eine neue ">Engine"<, die {\eTeX} und {\OMEGA} vereinigt, ist verfgbar. Ein bisschen + Information darber finden Sie in \OnCD{texmf-dist/doc/aleph/base} und + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. Das \LaTeX-basierte Aleph-Format heit + \cmdname{lamed}. + +\item Das neueste \LaTeX-Release enthlt eine neue Version der \acro{LPPL}% + \footnote{LPPL: LaTeX Project Public License}, + die jetzt eine offiziell von Debian anerkannte Lizenz ist. Zusammen mit anderen Updates finden Sie Informationen + dazu in den \filename{ltnews}-Dateien in \OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng} -- ein neues Programm zum Konvertieren von \dvi-Dateien in \acro{PNG}-Bilddateien, ist + Bestandteil von \TL. Siehe \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Auf Vorschlag des Autors (Claudio~Beccari) haben wir das Paket \pkgname{cbgreek} auf einen ">mittelgroen"< Satz + von Fonts reduziert. Herausgenommen wurden die ">invisible"<, Outline- und ">Transparency"<-Fonts, + die relativ selten benutzt werden -- denn wir bentigen den Platz. In seinem vollen Umfang ist das Paket natrlich + weiterhin auf \acro{CTAN} verfgbar (\url{http://www.ctan.org/tex-archive/fonts/greek/cb/}). + +\item \cmdname{oxdvi} wurde entfernt; benutzen Sie jetzt \cmdname{xdvi}. + +\item Die \cmdname{ini}- und \cmdname{vir}-Befehle (Links) fr \cmdname{tex}, \cmdname{mf} and \cmdname{mpost} sind + nicht mehr lnger verfgbar, so auch \cmdname{initex}. Das ist kein richtiger Verlust, da die + \cmdname{ini}-Funktionalitt schon seit mehreren Jahren ber den Aufrufparameter \optname{-ini} zur Verfgung + steht. + +\item Die Untersttzung der Plattform \cmdname{i386-openbsd} wurde entfernt. Da das Paket \pkgname{tetex} im + \acro{BSD}-Ports-System zur Verfgung steht und Binaries fr \acro{GNU}/""Linux and Free\acro{BSD} erhltlich sind, + erschien es sinnvoll, die Zeit der Freiwilligen besser zu nutzen. + +\item Zumindest auf \cmdname{sparc-solaris} mssen Sie ggf. die En"-viron"-ment-Variable \envname{LD\_LIBRARY\_PATH} + setzen, um die \pkgname{t1utils}-Programme laufen lassen zu knnen. Ursache dafr ist, dass die Programme mit C++ + kompiliert wurden und dass es keinen Standard-Platz fr Laufzeit-Bibliotheken gibt (das ist zwar auch im Jahre + 2004 nicht neu, wurde aber bisher nicht dokumentiert.) Unter \cmdname{mips-irix} werden die + \acro{MIPS}pro-7.4-Laufzeit-Bibliotheken bentigt. +\end{itemize} + +\subsection{2005} + +Im Jahr 2005 gab es -- wie blich -- viele aktualisierte Pakete und +Programme. Die Struktur des Systems blieb weitgehend gleich, mit folgenden +Ausnahmen: + +\begin{itemize} +\item Die neuen Skripte \cmdname{texconfig-sys}, \cmdname{updmap-sys} und + \cmdname{fmtutil-sys} fr die systemweite Konfiguration des Systems wurden + hinzugefgt. Die Skripte \cmdname{texconfig}, \cmdname{updmap} und + \cmdname{fmtutil} modifizieren nun die Konfiguration fr einen einzelnen + Nutzer unter \dirname{\$HOME/.texlive2005}. +\item Analog spezifizieren die Pfade \envname{TEXMFCONFIG} und + \envname{TEXMFSYSCONFIG} nun, wo die Konfigurationsdateien gefunden + werden (fr einen einzelnen Nutzer bzw.\ systemweit). Mglicherweise + mssen Sie daher vorhandene eigene Versionen von + \filename{fmtutil.cnf} oder \filename{updmap.cfg} in die entsprechenden + Pfade verschieben. Alternativ knnen Sie \envname{TEXMFCONFIG} und + \envname{TEXMFSYSCONFIG} in der Datei \filename{texmf.cnf} umdefinieren, + dass diese auf die Speicherorte Ihrer eigenen Konfigurationsdateien + verweisen. Siehe Abschnitt~\ref{sec:texmftrees} auf Seite~\pageref{sec:texmftrees}. +\item Im letzten Jahr wurden fr die Programme, die DVI als Ausgabeformat + erzeugen, die Primitive wie \verb|PDFoutput| auf undefiniert gesetzt, + obwohl immer \cmdname{pdfetex} verwendet wurde. In diesem Jahr wurde dies + wie angekndigt nicht mehr getan. Falls in Dokumenten nun die Abfrage + \verb|\ifxPDFoutput\undefined| zum Test benutzt wird, ob PDF oder DVI + erzeugt wird, mssen diese gendert werden! Benutzen Sie das Paket + \pkgname{ifpdf.sty}, das auch mit dem genderten Verhalten funktioniert, + oder orientieren Sie sich an dessen Code. +\item Im letzten Jahr wurden die Formate so gendert, dass sie Zeichen + als 8-bit ausgeben. Die neue TCX-Datei \filename{empty.tcx} erffnet nun + einen einfachen Weg, die originale Ausgabe mit \verb|^^|-Notation zu + erhalten, wenn Sie es wnschen: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} +\item Das Programm \cmdname{dvipdfmx} fr die Konvertierung von DVI nach + PDF ist neu hinzugekommen. Dies ist eine aktiv gepflegte Erweiterung von + \cmdname{dvipdfm}, das zwar noch verfgbar ist, aber als obsolet angesehen + werden kann. +\item Ebenso sind die Programme \cmdname{pdfopen} und \cmdname{pdfclose} neu + hinzugekommen. Diese erlauben ein Reload von PDF-Dateien im Acrobat Reader, + ohne diesen neu starten zu mssen (andere PDF-Viewer wie \cmdname{xpdf}, + \cmdname{gv} oder \cmdname{gsview} hatten damit nie Probleme). +\item Aus Konsistenzgrnden wurden die Variablen \envname{HOMETEXMF} und + \envname{VARTEXMF} in \envname{TEXMFHOME} bzw.\ \envname{TEXMFSYSVAR} + umbenannt. Weiterhin existiert \envname{TEXMFVAR} fr einen Baum, der + spezifisch fr einen einzelnen Nutzer ist. +\end{itemize} + +\subsection{2006--2007} +\label{tlcurrent} + +Der wichtigeste Neuzuwachs in der Ausgabe 2006--2007 von \TL{} war das Xe\TeX{} +Programm, verfgbar durch die \texttt{xetex} und \texttt{xelatex} +Programme; siehe \url{http://scripts.sil.org/xetex}. + +Auch MetaPost erhielt ein bemerkenswertes Update, mit weiteren geplannten +nderungen (\url{http://tug.org/metapost/articles}), ebenso pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +Das (plain) \texttt{tex}-Programm liest nicht mehr erste Zeilen mit +\texttt{\%\&} um das Format zu bestimmen. Es ist ein reines Knuth-\TeX. +(\LaTeX\ und alle anderen Formate lesen weiterhin \texttt{\%\&}-Zeilen). + +Weiters wurden wie blich hunderte von Paketen und Programmen auf einen +neueren Stand gebracht. Fr weiter Updates wenden Sie sich bitte an +\acro{CTAN} (\url{http://www.ctan.org}). + +Die Entwicklungsumgebung wurde auf Subversion umgestellt, was ein Webinterface +fr den Entwicklungsbaum beisteuerte. Dieses Webinterface ist von der +Homepage verlinkt. Obwohl dieser Umstieg in der Distribution nicht zu +erkennen ist, erwarten wir uns ein stabiles Fundament fr die Entwicklung +in den nchsten Jahren. + +Schlielich hat im Mai~2006 Thomas Esser das Ende seiner Entwicklung von +te\TeX{} (\url{http://tug.org/tetex}) angekndigt. Als Konsequenz ist das +Interesse an \TL{}, besonders unter den \acro{GNU}/Linux-Distributoren +angestiegen. (\TL{} bietet nun ein \texttt{tetex}-Installationsschema, dass +annhernd den Umfang von te\TeX{} umfasst.) Wir hoffen dass dies +schlussendlich zu einer Verbesserung der \TeX-Umgebung fr jederman fhrt. + +\medskip\noindent +Abschlieende Bemerkung zur Vergangenheit: Alle Versionen von \TL, +inklusive Beimaterial wie CD-Labels, finden sich unter +\url{ftp://tug.org/historic/systems/texlive}. + +\subsection{Gegenwart} +\label{sec:tlcurrent} + +Die komplette Infrastruktur von \TL wurde 2008 neu entwickelt. Die +gesamten Daten, die fr die Installation bentigt werden, finden sich +nun in einer einzigen Textdatei mit dem Namen \filename{tlpkg/texlive.tlpdb}. + +Dies ermglicht es unter anderem, ein Update einer installierten Version +von \TL ber das Internet durchzufhren, was fr MiK\TeX{} schon seit +Jahren mglich ist. Wir planen regelmige Updates bereitzustellen, +wenn Pakete auf \CTAN{} aktualisiert werden oder neu erscheinen. + +Als neues Programm ist Lua\TeX\ (\url{http://luatex.org}) enthalten, +das neben neuen Mglichkeiten innerhalb des Satzsystems eine +hervorragende Skriptsprache zur Verfgung stellt, die inner- und +auerhalb von \TeX{} benutzt werden kann. + +Die Untersttzung von \TL fr Windows und Unix ist mittlerweile praktisch +quivalent. Die meisten Perl- und Lua-Skripte knnen nun auch unter +Windows verwendet werden, da innerhalb von \TL Perl integriert ist. + +Das neue \cmdname{tlmgr}-Programm (Abschnitt~\ref{sec:tlmgr}) ist +eine komplette Oberflche zum Verwalten von \TL nach der Installation. +Es ermglicht das Aktualisieren von Paketen, die Neugenerierung von +Formatdateien, Fontmaps und die Konfiguration der \TeX-Untersttzung +fr verschiedene Sprachen. + +Nach der Einfhrung von \cmdname{tlmgr} sind die Funktionen von +\cmdname{texconfig} zur Konfiguration von Formatdateien und +Trennmustern deaktiviert worden. + +Der Index-Prozessor \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) +ist nun fr die meisten Betriebssysteme integriert. + +Das Programm \cmdname{kpsewhich} kann nun alle Fundstellen fr eine +gesuchte Datei anzeigen (Option \optname{--all}) oder die Suche +auf ein bestimmtes Verzeichnis einschrnken (Option \optname{--subdir}). + +Das Programm \cmdname{dvipdfmx} kann nun Informationen ber die +Bounding Box liefern, was ber die Kommandozeile mit dem Befehl +\cmdname{extractbb} aufgerufen werden kann; dies war die letzte +Funktion von \cmdname{dvipdfm}, die noch nicht in \cmdname{dvipdfmx} +vorhanden war. + +Die Font-Aliasnamen \filename{Times-Roman}, \filename{Helvetica} usw. +wurden abgeschafft. + +Das Makro-Format \pkgname{platex} wurde entfernt, um den Namenskonflikt +mit dem japanischen \pkgname{platex} auf zu lsen; Untersttzung +fr polnisch wird nun vom Paket \pkgname{polski} zur Verfgung gestellt. + +Die \web{} string pool files wurden in die Programme einkompiliert, +um Updates zu vereinfachen. + +Und abschlieend sind die nderungen von Donald Knuth in seinem +\emph{\TeX\ tuneup of 2008} in \TL eingearbeitet, +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. +% ------------------------------------------------------------- +\subsection{Zukunft} + +\emph{{\TL} ist nicht perfekt! -- und wird es auch nie sein.} Wir planen +Neuauf"|lagen zu produzieren, die umfangreichere +Hilfstexte, mehr Hilfsprogramme, mehr Installationshilfen und (natrlich) +den stndig verbesserten und berprften Satz der Makros und Zeichenstze +enthalten. Diese Arbeit wird von Freiwilligen in ihrer knappen Freizeit +geleistet. Viel Arbeit steht noch an. Wenn Sie uns helfen knnen, +zgern Sie keine Sekunde, sich bei uns zu melden. + +Verbesserungen, Anregungen und Erweiterungen fr knftige Ausgaben +der {\TK} senden Sie bitte an:\hfill\null + +\begin{quote} +\email{tex-live@tug.org}\\ +\url{http://tug.org/texlive/} +\end{quote} + +Neue Versionen, Anmerkungen und zustzliches Material werden ber +die \CTAN-Server im Verzeichnis \dirname{info/texlive} zur Verfgung gestellt. +Im \acro{WWW} knnen Sie sich ber die Adresse +\url{http://www.tug.org/tex-live/} informieren und die Bestellformalitten +einsehen. + +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/Makefile b/Master/texmf/doc/texlive/source/texlive-en/Makefile new file mode 100644 index 00000000000..170161df9c3 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/Makefile @@ -0,0 +1,69 @@ +# $Id$ +# Makefile for TeX Live documentation. Public domain. +doc = texlive-en +lang = english + +all: pdf html + +env = TEXINPUTS=../texlive-common:../texlive-en:; export TEXINPUTS; + +pdf: + rm -f *.aux *.toc *.lof *.lot *.xref* *.tmp *.out + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + $(env) pdflatex '\nonstopmode\def\Status{1}\input $(doc)' + +html: + rm -f *.aux *.toc *.lof *.lot *.xref* *.tmp *.out *.4tc +# this sequence is equivalent to running "ht latex $(doc)". We do it +# this way so we can \def\Status for the \ifcase in tex-live.sty. + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) latex '\nonstopmode\def\Status{2}\input $(doc)' + $(env) tex4ht $(doc) + $(env) t4ht $(doc) + +clean: + rm -f *.aux *.log *.blg *.toc *.out *.lot tex4ht.ps *.4* + rm -f *.xref* *.lg *.idv *.out *.otc *.tmp tmp.* + rm -f $(doc).dvi $(doc).ps + +realclean: clean + rm -f $(doc).pdf + rm -f *.html *.htm $(doc).css *.gif *.jpg + + +insttop = ../../../doc +instfiles = $(doc)*html $(doc).css $(doc).pdf +install: +# lang=`dirname \`pwd\` | sed 's,.*/,,'`; + lang=$(lang); \ + tldir=`pwd | sed 's,.*/,,'`; \ + instdir=$(insttop)/$$lang/$$tldir; \ + echo tldoc install to $$instdir; \ + for f in $(instfiles); do \ + cmp -s $$f $$instdir/$$f && rm -v $$f && continue; \ + mv -v $$f $$instdir/$$f; \ + done + + +# don't use these, they don't work. +dvi: + rm -f *.aux *.toc + latex '\nonstopmode\def\Status{0}\input $(doc)' + latex '\nonstopmode\def\Status{0}\input $(doc)' + latex '\nonstopmode\def\Status{0}\input $(doc)' + +baskerville: + rm -f *.aux *.toc + latex '\def\Status{3}\input $(doc)' + latex '\def\Status{3}\input $(doc)' + latex '\def\Status{3}\input $(doc)' + +tugboat: + rm -f *.aux *.toc + latex '\def\Status{4}\input $(doc)' + latex '\def\Status{4}\input $(doc)' + latex '\def\Status{4}\input $(doc)' diff --git a/Master/texmf/doc/texlive/source/texlive-en/README b/Master/texmf/doc/texlive/source/texlive-en/README new file mode 100644 index 00000000000..dc5fb6b124d --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/README @@ -0,0 +1,5 @@ +$Id$ +TeX Live documentation. This file is public domain. + +We only generate the documentation in PDF and HTML formats -- see the +Makefile. This saves us having to have the images in EPS format too. diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/bv-live.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/bv-live.tex new file mode 100644 index 00000000000..ad044e568cb --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/bv-live.tex @@ -0,0 +1,84 @@ +% this is the baskerville version of the live documentation +\providecommand{\Status}{3} + +\setcounter{errorcontextlines}{999} +\documentclass{article} +\advance\textwidth by 1in +\advance\oddsidemargin by -1in +\advance\evensidemargin by -1in +\newsavebox{\warnbox} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\setcounter{tocdepth}{2} +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +\def\eTeX{$\varepsilon$-\TeX} +%\def\CTAN{\textsc{ctan}} +%\def\TUB{\textsc{tub}} +\def\Dash{---} +\def\hyph{-} +%\def\TeXXeT{\TeX-XeT} +\def\OMEGA{$\Omega$} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +%\def\cs#1{\mbox{\normalfont\ttfamily\bs#1}} +\def\La{La} +\let\textsl\textit +\let\sl\it +\let\slfamily\itfamily +\def\ttdefault{cmtt} +\usepackage{tex-live} +\begin{document} +%\author{Sebastian Rahtz\\ +%\texttt{s.rahtz@elsevier.co.uk}\\ +%Michel Goossens\\ +%\texttt{m.goossens@cern.ch}} +%\title{The \protect\TeX\ Live Guide, 3rd edition} +%\date{March 1998} + +\BASKyear{1998} +\BASKmonth{April} +\BASKvol{8} +\BASKno{2} +\BASKed*{Robin Fairbairns} +\BASKfonts{Y\&Y European Modern} +\makeBSKtitle + +\input editorial +\ifbaskerville +\end{multicols} +%\vfill\Dings\vfill +\fi +\clearpage + +\begin{center} + \LARGE The \TeX\ Live Guide, 3rd edition +\end{center} +\title{\TeX\ Live Guide, 3rd edition} + +\ifbaskerville\begin{multicols}{2}\fi +\tableofcontents +\listoftables +\ifbaskerville +\end{multicols} +\Dings +\fi + +\input tex-live +\appendix + +\Dings + +\input live-app + +\vfill\Dings\vfill +\clearpage +\input sec +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/bvoutln.sty b/Master/texmf/doc/texlive/source/texlive-en/archive/bvoutln.sty new file mode 100644 index 00000000000..92f19fd027b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/bvoutln.sty @@ -0,0 +1,193 @@ +% extracts of baskerville.cls for use with the tex-live documentation +% when we're producing a bv issue with it. + +% **************************************** +% * PAGE LAYOUT * +% **************************************** +% +% SIDE MARGINS: +\oddsidemargin -2.5pc \evensidemargin -2.5pc +\marginparwidth 4pc % don't use marginal notes... +\marginparsep 0.5pc % ...in the UK TUG newsletter + +% VERTICAL SPACING: +\topmargin -3pc +\headheight 12\p@ +\headsep 15\p@ +\topskip 10\p@ +\footskip 15\p@ + +% DIMENSION OF TEXT: + +\textheight 250mm % height of text on a page (A4 paper) +\textwidth 180mm % total width of a page +\columnseprule 0.5\p@ % width of line in the inter-column gutter +\columnsep 10mm % space between columns +\tolerance 9999 % make those columns justify + +% FOOTNOTES: +\footnotesep 6\p@ +\skip\footins 19.5\p@ plus 12\p@ \@minus 1\p@ + +% FLOATS: +\floatsep 12\p@ plus 5.5\p@ \@minus 1\p@ +\textfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\intextsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dblfloatsep 12\p@ plus 5.5\p@ \@minus 2\p@ +\dbltextfloatsep 15\p@ plus 4.5\p@ \@minus 3\p@ +\@fptop 0\p@ plus 0fil +\@fpsep 12\p@ plus 0fil +\@fpbot 0\p@ plus 3fil +\@dblfptop 0\p@ plus 0fil +\@dblfpsep 12\p@ plus 0fil +\@dblfpbot 0\p@ plus 3fil +\marginparpush 5\p@ + +% **************************************** +% * TITLES AND ABSTRACT * +% **************************************** +% + +%% Volume Number (ie Year - 1990) +\def\BASKvol#1{\gdef\BASK@vol{#1}} +\BASKvol{?} + +%% Issue Number (ie Month/2, roughly) +\def\BASKno#1{\gdef\BASK@no{#1}} +\BASKno{?} + +% Editor, Star form for Guest editor +\def\BASKed{\@ifstar{\BASK@ed{Guest }}{\BASK@ed{}}} +\def\BASK@ed#1#2{\gdef\BASK@editor{#1Editor: #2}} +\BASKed{????????} + +%% Year (4 digits) +\def\BASKyear#1{\gdef\thisyear{#1}} +\BASKyear{????} + +% Month (as a Word) +\def\BASKmonth#1{\gdef\thismonth{#1}} +\BASKmonth{?????} + +\def\makeBSKtitle{\par + \begingroup + \vspace*{-\headheight}% + \@maketitle + \bigskip\hrule\bigskip + \thispagestyle{plain} + \endgroup + \let\maketitle\relax + \let\@maketitle\relax +} +\newbox\BSKbox +\def\@maketitle{% + \centerline{\BASK@titleline}% + \medskip + \hbox to \textwidth{\bfseries The Annals of the UK \TeX\ Users + Group\hfill \BASK@editor\hfill Vol.~\BASK@vol\ No.~\BASK@no}% + \smallskip\hbox to \textwidth{\bfseries ISSN 1354--5930 + \hfill \thismonth\ \thisyear}% + \medskip + \noindent\ignorespaces + \BASK@headparone} + +% The Journal title command. +% You probably only want to change this if you want to use a design-size +% font rather than let \scaletowidth scale for some special issue. +\def\BASKtitle#1{\gdef\BASK@titleline{#1}} +\let\scaletowidth=\resizebox% added by Sean K. Harbour for Textures +\BASKtitle{% + \fontfamily{mbvx}\bfseries + \scaletowidth{\textwidth}{!}{% modified by Sean K. Harbour + B\,a\,s\,k\,e\,r\,v\,i\,l\,l\,e}} + + +% The first paragraph. Needs to be reset if a special issue used a +% different font set. +\def\BASKheadparone#1{\gdef\BASK@headparone{#1}} +\BASKheadparone{% +This issue of \BV\ is set in \@BASKfonts, and printed on a Xerox Docutech. Production and distribution is +undertaken in Cambridge by Robin Fairbairns. } + + +\def\BASKfonts#1{\gdef\@BASKfonts{#1}} +\BASKfonts{Monotype Baskerville, with Computer Modern Typewriter for + literal text} + +% +% for \Dings +\RequirePackage{pifont} +% +% available for inter-article dinglines +% +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} + +% +% hack representation of appendices +\let\BV@@appendix\appendix +\renewcommand{\appendix}{\BV@@appendix + \renewcommand\@seccntformat[1]{\@ifundefined{@seccnt@##1}% + {\csname the##1\endcsname\quad}% + {\csname @seccnt@##1\endcsname}} + \newcommand\@seccnt@section{Appendix~\thesection~} +} + +% +% page styles +% +% \ps@empty defined in LATEX.TEX +% +\def\ps@plain{\let\@mkboth\markboth + \def\@oddhead{} + \def\@evenhead{} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} +\def\ps@headings{\let\@mkboth\markboth + \def\@oddhead{\hfill\emph{\@title}\hfill} + \def\@oddfoot{\rm \hfil --\thepage--\hfil} + \def\@evenhead{\it Baskerville \hfill + Volume \BASK@vol, Number \BASK@no} + \def\@evenfoot{\rm \hfil --\thepage--\hfil} +} + +% +% allow setting of pagehead title +\def\title{\@ifnextchar [{\@titletwo}{\@titleone}} +\def\@titletwo[#1]#2{\gdef\@title{#1}\gdef\@longtitle{#2}} +\def\@titleone#1{\gdef\@title{#1}\gdef\@longtitle{#1}} + +% +% more exciting page parameters +\@twosidetrue +\pagestyle{headings} + +\providecommand{\ukt}{UK \acro{TUG}} + +\newcommand{\standardtitles}{% + \def\section{%\typeout{** section!}% + \@startsection {section}{1}{\z@} + {-12\p@ \@plus -6\p@ \@minus -.1\p@} + {6\p@} + {\raggedright\large\bfseries}} + \def\subsection{\@startsection{subsection}{2}{\z@} + {-4\p@ \@plus -2\p@ \@minus -.1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\itshape}} + \def\subsubsection{\@startsection{subsubsection}{3}{\z@} + {-6\p@ \@plus -3\p@ \@minus -1\p@} + {0.1\p@ \@plus 2\p@} + {\raggedright\normalsize\it}} + \def\paragraph{\@startsection{paragraph}{4}{\z@} + {12\p@ \@plus 2.25\p@ \@minus -1\p@} + {-0.5em} + {\normalsize\bfseries}} + \def\subparagraph{\@startsection{subparagraph}{5}{\z@} + {12\p@ \@plus 2.25\p@ \@minus 1\p@} + {-0.5em} + {\normalsize\it}} + \setcounter{secnumdepth}{-1} +} + +\endinput + diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/changemail b/Master/texmf/doc/texlive/source/texlive-en/archive/changemail new file mode 100644 index 00000000000..dd792a25f78 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/changemail @@ -0,0 +1,24 @@ +s/J.Smart@ed.ac.uk/??/ +s/gerd@uni-koblenz.de/??/ +s/Meijer@rulfsw.fsw.LeidenUniv.nl/??/ +s/wl@gnu.org/xlwy01@uxp1.hrz.uni-dortmund.de/ +s/weissert@SJUPHIL.SJU.EDU/Tom@Weissert.net/ +s/mehlich@informatik.uni-muenchen.de/mmehlich@semdesigns.com/ +s/eijkhout@math.ucla.edu/victor@eijkhout.net/ +s/ca_rowley@vax.acs.open.ac.uk/c.a.rowley@open.ac.uk/ +s/B.Jackowski@gust.s.org.pl/B.Jackowski@gust.org.pl/ +s/P.Pianowski@gusts.org.pl/P.Pianowski@gust.org.pl/ +s/mittelbach@mzdmza.zdv.uni-mainz.de/Frank.Mittelbach@Uni-Mainz.de/ +s/mcjones@pa.dec.com/paul.mcjones@acm.org/ +s/h.harders@tu-bs.de/Harald.Harders@dlr.de/ +s/pwilson@cme.nist.gov/peter.r.wilson@boeing.com/ +s/wikner@ariel.nac.ac.za/wikner@nac.ac.za/ +s/vitus@agropc.msk.su/vitus@ice.ru/ +s/greg@bic.mni.mcgill.ca/gward@python.net/ +s/mittelbach@mzdmza.zdv.uni-mainz.de/frank.mittelbach@latex-project.org/ +s/fbraun@rz.uni-potsdam.de/fbraun@atdot.org/ +s/david@dcarlisle.demon.co.uk/david.carlisle@latex-project.org/ +s/davidc@nag.co.uk/david.carlisle@latex-project.org/ +s/rf@cl.cam.ac.uk/rf10@cam.ac.uk/ +s/robin.fairbairns@cl.cam.ac.uk/rf10@cam.ac.uk/ +s/robin@lsl.co.uk/rf10@cam.ac.uk/
\ No newline at end of file diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/l.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/l.pl new file mode 100644 index 00000000000..d74f313a5cc --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/l.pl @@ -0,0 +1,44 @@ +require "status.pl"; +require "texlive.pl"; +while (<>) { + chop; + s/,$//; + if (/^\@TeXIndex/) + { + ($nam) = /^\@TeXIndex.(.*)/; + print "\@TeXIndex\{$nam"; + $Status=1; + $Texlive=1; + $Modified=0; + } + elsif (/^ *modified/) { s/, *$//; $mod=$_; } + elsif (/^ *status/) { $Status=0; + if ($L{$nam}) + { print ",\n status\t= \{$L{$nam}\}"; + $Modified=1;} + else { print ",\n$_"; } + } + elsif (/^ *texlive/) { $Texlive=0; + if ($texlive{$nam} ne "") + { print ",\n texlive\t= \{$texlive{$nam}\}"; + $Modified=1;} + } + elsif (/^}/) { + if ($Status) { + print ",\n status\t= \{unknown\}"; + } + if ($Texlive && $texlive{$nam} ne "") + { print ",\n texlive\t= \{$texlive{$nam}\},\n"; } + if ($Modified) + { print ",\n modified\t= {1999/03/26 10:00:00 <s.rahtz\@elsevier.co.uk>}\n"; } + elsif ($M{$nam} ne "") + { print ",\n modified\t= \{$M{$nam}\}\n"; } + else + {print ",\n$mod\n"; } + print "}\n"; + } + + elsif (/= {/) { print ",\n$_"; } + else { print "\n$_"; } + } + diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2003.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2003.tex new file mode 100644 index 00000000000..55c1551a628 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2003.tex @@ -0,0 +1,3937 @@ +% $Id$ +% change history (started May 13th 2002) +% 2003/09/06: fixes from Staszek +% 2003/09/05: touched by Karl +% 2003/09/04: fixes from Staszek and Fabrice +% 2003/09/01: fixes from Volker +% 2003/08/24: win32 updates, by Fabrice +% 2003/08/12: fixes from Christer Gustafsson <gustaf@powertech.no>. +% 2003/07/07: substantial revisions by karl. +% 2002/05/25: remove mention of sizes, and bsr-interpolated; add Gutenberg +% 2002/05/18: win32 updates, by Fabrice +% 2002/05/14: corrected example files, other small errors noted by Volker +% 2002/05/13: added tex-langafrican to list of collections +% +\documentclass{article} +\usepackage{tex-live} +% +% +\begin{document} + +\title{{\huge\textsf{\TK{} 2003}}\\[3mm] + The \protect\TeXLive{} Guide} +\date{September 2003} + +\author{Sebastian Rahtz, editor \\[3mm] + \email{tex-live@tug.org}\\ + \url{http://tug.org/texlive/}\\[10mm] +\ifnum \Status=2 + \includegraphics[bb=0 0 824 741]{../pictures/front.jpg} \\[5mm] +\else + \includegraphics[width=.5\linewidth]{../pictures/front} \\[5mm] +\fi + \small \textit{Documentation contacts:}\\[3mm] + \small \begin{tabular}{lcr} + Czech/Slovak & Petr Sojka & \email{sojka@fi.muni.cz} \\ + & Janka Chleb\'\i kov\'a & \email{chlebikj (at) dcs.fmph.uniba.sk} \\ + English & Karl Berry & \email{karl@freefriends.org} \\ + French & Fabrice Popineau & \email{fabrice.popineau@supelec.fr} \\ + German & Volker RW Schaa & \email{volker@dante.de} \\ + Polish & Staszek Wawrykiewicz & \email{staw@gust.org.pl} \\ + Russian & Boris Veytsman & \email{borisv@lk.net} \\ + \end{tabular} + } + +% comes out too close to the toc, and we know it's page one anyway. +\thispagestyle{empty} + +\maketitle +\newpage + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TeXLive{} software +distribution\Dash a \TeX{} and \LaTeX{} distribution for Linux and other +Unix flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is +not especially useful for older Mac or \acro{MS-DOS} systems.) It +includes precompiled binaries for \TeX{}, \LaTeXe{}, \MF, \MP, +\BibTeX{} and many other programs; an extensive collection of +macros, fonts and documentation; and support for typesetting in many +different scripts from around the~world. + +For the 2003 release, the last update of packages and programs was made +on September 3, 2003. For newer versions, please consult \acro{CTAN}, +\url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TeXLive{}, +see section~\ref{sec:history} on p.~\pageref{sec:history}. + + +\subsection{Basic usage of \protect\TeXLive{}} +\label{sec:basic} + +You can use \TeXLive{} in three principal ways: + +\begin{enumerate} + +\item You can run \TeXLive{} directly from the distribution media +(except for the \pkgname{inst} distribution; see +section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). +This takes almost no disk space, as you might expect, and gives you +immediate access to everything in \TeXLive{}. Of course performance +will be worse than running on local disk, but you may well find it +acceptable. + +\item You can install all or part of \TeXLive{} to a local disk. This +is the most common use of \TeXLive. You will need a minimum of 120 +megabytes, 360 megabytes for a recommended system, and 800 megabytes for +a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TeXLive{} system you installed earlier +or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections. + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +serious questions end up getting answered. However, the support is +informal, done by volunteers and casual readers, so it's especially +important that you do your homework before asking. (If you prefer +commercial-style support, you can forego \TeXLive{} completely and +purchase a vendor's system; see +\url{http://tug.org/interest.html#vendors} for a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium of +answers to all sorts of questions, from the most basic to the most +arcane. It is included on \TeXLive{} in \OnCD{FAQ/english}, and is +available on the Internet through \url{http://faq.tug.org}. Please +check here first. + +\item [\TeX{} Catalogue] If you are specifically looking for a package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge list of all \TeX{}-related items. See +\OnCD{texmf/doc/html/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue/catalogue.html}. + +\item [\TeX{} Web Resources] This web page has many \TeX{}-related +links, in particular for numerous books, manuals, and articles on all +aspects of the system: \url{http://tug.org/interest.html}. + +\item [support archives] The two principal forums for support are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. So, their archives have thousands of past +questions and answers for your searching pleasure. See +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. A query on a +general web search engine, such as \url{http://google.com}, never hurts. + +\item [posting questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or through +email to \email{texhax@tug.org}. But before you post, \emph{please} +read this \acro{FAQ} entry for advice on asking questions in such a way +that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TeXLive{} support] If you want to report a bug or have +suggestions or comments on the \TeXLive{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TeXLive{}, you are better off writing to that program's maintainer or +mailing list. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. Welcome to +\TeX{}! + + +\section{Structure of \protect\TeXLive} +\label{sec:struct-tl} + +The main two installation scripts for Unix and \MacOSX{} are +\texttt{install-tl.sh} and \texttt{install-pkg.sh}. We discuss them +in section \ref{sec:unix-install} on p.~\pageref{sec:unix-install}. +Here, we describe the structure and contents of \TeXLive{}. + + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, \protect\pkgname{demo}} +\label{sec:multiple-dist} + +As of 2003, space limitations of \acro{CD-ROM} format have forced us to +divide \TeXLive{} into three distributions, as follows. + +\begin{description} + +\item [live] a complete, runnable system on \acro{DVD}; it is too large +for \acro{CD-ROM}. (The \DVD{} also includes a snapshot of the \CTAN{} +repository, completely independent of \TeXLive{}.) + +\item [inst(allable)] a complete system on \CD; in order to make it fit, +we had to compress everything we could. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it to +disk (hence its name). Installation is described in subsequent sections. + +\item [demo] a live system runnable directly from \CD; in order to make +this fit, we omitted the very large collection of \acro{CJK} (Chinese, +Japanese, Korean) language support, support for typesetting music, some +less-commonly used fonts, and included executables only for Linux, +\MacOSX, and Windows systems. + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file in this top-level directory. + + +\subsection{Top level directories} + +Here is a brief listing and description of the top level directories in +the \TeXLive{} distribution. + +\smallskip +\begin{tabular}{>{\ttfamily}lp{.8\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +Books & Examples from some of the books about \TeX\ (see + \filename{Books/README}). \\ +FAQ & Current versions of major FAQ collections. \\ +info & A few manuals in \acro{GNU} Info format, where available. \\ +\MacOSX & Supporting software for \MacOSX (see + section~\ref{sec:mac-install} on p.~\pageref{sec:mac-install}). \\ +man & Unix man pages. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & assorted auxiliary packages and programs. These are + \emph{not} installed by default. This includes + \cmdname{Ghostscript}, \cmdname{netpbm}, and assorted editors and + \TeX\ shells. \\ +texmf & root of installed packages, fonts, config files, etc. \\ +usergrps & Material about a few of the \TeX\ user groups. (Visit + \url{http://tug.org/usergroups.html} for a current list.) \\ +xemtex & The \cmdname{XEmacs} editor and other support programs for + Windows (see section~\ref{sec:win-xemtex} on p.~\pageref{sec:win-xemtex}). + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} + + +\subsection{Extensions to \TeX} +\label{sec:tex-extensions} + +\TeXLive{} contains three extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful set of new primitives +\label{text:etex} +(related to macro expansion, character scanning, classes of marks, +additional debugging features, and more) and the \TeXXeT{} extensions +for bidirectional typesetting. In default mode, \eTeX{} is 100\% +compatible with ordinary \TeX. See +\OnCD{texmf/doc/etex/base/etex_man.pdf}. \eTeX{} is now the default for +\LaTeX{} and pdf\LaTeX{}. + +\item [pdf\TeX] writes Acrobat PDF format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/pdftex-l.pdf} and +\OnCD{texmf/doc/pdftex/base/example.tex}. + +\item [\OMEGA\ (Omega)] based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\end{description} + + +\subsection{Other notable programs in \protect\TeXLive} + +Here are a few other commonly-used programs included in \TeXLive{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] HP LaserJet driver. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfm] convert \dvi{} to PDF, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and PDF processor. + +\item [tex4ht] \TeX{} to HTML converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} on p.~\pageref{sec:basic}, +\TeXLive{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the \CD{}s on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Linux, Free\acro{BSD}, Sun, \acro{SGI} and +Alpha systems should be able to use the \CD{}s without problems. We +would appreciate receiving detailed advice from users on other systems +who succeed, for future versions of this documentation. + +\leavevmode\quad +The discussion below assumes you have been able to mount +the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TeXLive{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{demo} +\CD{} or the \pkgname{live} \DVD{}, without installing the distribution +to disk. (Thus the name `\TeXLive', in fact.) It is \emph{not} +possible to run \TeX{} directly from the \pkgname{inst} \CD (see +section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). +} + +Only Linux, \MacOSX, and Windows binaries are included on the demo \CD; +if you want to run live on other Unix systems, you'll need to use the +\DVD. + +\def\startinst{% repeated in other subsections +To start, we must mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is \underline{underlined}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\startinst + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh} +Welcome to TeX Live... +\end{alltt} + +\def\firstinstcommand{% +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets. Either uppercase or lowercase is ok; we'll use lowercase in +our examples. +} +\firstinstcommand + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. We'll use +\dirname{/usr/local/texmf-local} in this example. (If the default value +of \dirname{/usr/TeX} works for you, then you can skip this step.) +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/TeX +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/TeX]: \Ucom{/usr/local/texmf-local} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live system! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{VARTEXMF}, to the value specified above. See +table~\ref{tab:archlist} for a list of the architecture names for the +different systems, and whether they are available on the \pkgname{demo} +\CD. All systems are available in the \pkgname{inst} and \pkgname{live} +distributions. (In addition to the version-specific names listed here, +there are generic names without the version numbers. For instance, +\dirname{sparc-solaris} links to \dirname{sparc-solaris2.7}. The +generic names can be used to protect against the version numbers +changing in the future, if you wish.) + +\def\runtexconfig{% +After the main installation has completed, and environment variables +have been set, the next step is to run \cmdname{texconfig} to customize +your installation for your needs. This is explained in +section~\ref{sec:texconfig}, p.~\pageref{sec:texconfig}. +} +\runtexconfig + +\begin{table*}[ht] +\caption{Supported system architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}lll} +alpha-linux & HP Alpha Linux & \\ +alphaev5-osf4.0d & HP Alphaev5 OSF & \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 & \\ +i386-freebsd4.8 & Intel x86 FreeBSD & \\ +i386-linux & Intel x86 GNU/Linux & demo \CD\\ +i386-openbsd3.3 & Intel x86 OpenBSD & \\ +i386-solaris2.8 & Intel x86 Solaris & \\ +mips-irix6.5 & SGI IRIX & \\ +powerpc-aix4.3.3.0 & IBM RS/6000 AIX & \\ +powerpc-darwin6.3 & \MacOSX & demo \CD\\ +sparc-solaris2.7 & Sun Sparc Solaris & \\ +sparc64-linux & Sun Sparc Linux & \\ +win32 & Windows (32-bit) & demo \CD\\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\Ucom{\emph{archname}}:$PATH; export PATH +VARTEXMF=/usr/local/texmf-local/texmf-var; export VARTEXMF +\end{alltt} + +\noindent For C shell-compatible shells (csh, tcsh), put the following +into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\Ucom{\emph{archname}}:$PATH +setenv VARTEXMF /usr/local/texmf-local/texmf-var +\end{alltt} + +\def\donewithinst{% +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install} on p.~\pageref{sec:test-install}). +} +\donewithinst + +\def\ifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TeXLive{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\ifindoubt + + +% +\subsection{Installing \protect\TeXLive{} to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TeX{} system from the +\TeXLive{} to disk. This can be done either from the \pkgname{live} +\DVD, or the \pkgname{inst} \CD. It can also be done from the +\pkgname{demo} \CD, if you don't need the omitted packages or systems. +(See section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist} +for an explanation of the different distributions.) + +\startinst + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh} +Welcome to TeX Live... +\end{alltt} + +\firstinstcommand + +Here is an introductory list of the options in the main menu. The order +in which you select the options makes little difference, except that +\Ucom{i} must be last. It's reasonable to go through them in the +order presented~here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The system you are running on.\\ +b & The architectures to install binaries for.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the installation scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & General options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, this is +generally unnecessary to override. It's there in case the automatic +detection fails. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or not install the current platforms). This is often useful if you +are sharing a \TeX\ tree across a network of heterogenous machines. For +a list of the supported architectures, see table~\ref{tab:archlist}, +p.~\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall common set of packages. The default is a +recommended set for typical needs, but you can also choose a basic set +to conserve disk space, or a full set to get absolutely everything. The +\pkgname{Live} scheme is used for creating the \TeXLive{} +\pkgname{demo} distribution itself, and isn't generally useful to select +for a particular site. There are also specific sets for Omega and +\acro{XML} users. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the basic scheme's choice of which collections to install. +Each collection\Dash TeX macro files, Metafont font families, and so +on\Dash consists of several packages. In this menu, selection letters +are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic functionality as \Ucom{c}, to override collection choices. In +this case, the collections are specifically for different languages. +Selection letters are case-sensitive here. Here is a list of the +language collections in \TeXLive: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill + (some) African scripts \> + Armenian \> + Chinese,Japanese,Korean \> +Croatian \\ + Cyrillic \> + Czech/Slovak \> + Danish \> +Dutch \\ + Finnish \> + French \> + German \> +Greek \\ + Hungarian \> + Indic \> + Italian \> +Latin \\ + Manju \> + Mongolian \> + Norwegian \> +Polish \\ + Portuguese \> + Spanish \> + Swedish \> +Tibetan \\ + \acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically includes fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenations are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] By default, the top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/TeX}, and is often changed. For example, changing to a +value such as \dirname{/usr/local/texlive2003} would make it possible to +keep different releases of \TeXLive{} separate. You may then wish to +make \dirname{/usr/local/texlive} a symbolic link, after testing the new +release. + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TeXLive{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system scripts install +non-version-specific files, primarily fonts. The default value is +\dirname{TEXDIR/texmf-local}. It's also the recommended location to put +any local packages or configuration settings. Therefore, it's desirable +to change it to a location independent of the current \TeXLive{} +release; for example, \dirname{/usr/local/texmf-local}. + +\item [VARTEXMF] This tree is where the scripts install files that +\emph{are} version-specific, primarily format files and the +configuration files which are modified by \cmdname{texconfig} (see +section~\ref{sec:texconfig}, p.~\pageref{sec:texconfig}). The default +value is \dirname{TEXDIR/texmf-var}, and there's generally no reason to +change it. + +\end{ttdescription} + +\textbf{\optname{o} - General options.} From this menu, you can select +three general options affecting the installation: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{VARTEXMF} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore another location (perhaps machine-specific) must be used for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and/or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +\item [d] Skip installation of the font/macro documentation tree. +This is useful to save space, or if you've previously installed the +documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and/or architectures in some other way, such as \acro{NFS} or +\cmdname{automount}. + +\end{ttdescription} + +\textbf{i - Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +The last step is to include the architecture-specific subdirectory of +\dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +p.~\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to put it in, +depends on the shell you use. If you use a Bourne-compatible shell +(\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et al.), put the following +into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH +\end{alltt} + +\runtexconfig + +Here is a brief annotated example which selects a full installation, +with binaries for the current system only, with directory changes as +recommended above. The prompts and \acro{RETURN} keys are omitted for +brevity. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{s} \Ucom{b} \Ucom{r} # scheme, full, return to main +\Ucom{d} # change directories +\Ucom{1} \Ucom{/usr/local/texlive2003} # top-level dir +\Ucom{2} \Ucom{/usr/local/texmf-local} # TEXMFLOCAL outside TEXDIR +\Ucom{r} # return to main +\Ucom{i} # perform installation +> \Ucom{texconfig} ... +# New PATH, assuming Linux: +> \Ucom{PATH=/usr/local/texlive2003/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\ifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TeXLive{} setup, or an earlier +\TeXLive{} installation. You can do this from the \pkgname{demo} \CD{} +or the \pkgname{live} \DVD{}, but \emph{not} from the \pkgname{inst} +\CD. (See section~\ref{sec:multiple-dist} on +p.~\pageref{sec:multiple-dist}.) + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \emph{options}} +\end{alltt} + +This first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\emph{pkgname}] The individual package to work on. + +\item [-{}-collection=\emph{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\emph{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\emph{dir}] The so-called `lists' directory within +\emph{cddir} from which to read the package information. The default is +\texttt{\emph{cddir}/texmf/tpm/lists}; the only reason to change it is +if you're making changes to \TeXLive{} yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\emph{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\ifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TeXLive{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{VARTEXMF} (if you are running live). +See ``Installation directories'' on p.~\pageref{text:instdir}. + +Unfortunately, the details can vary widely, and so we do not attempt to +address them here. Please see +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +for a good description, and +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for font creation +and installation information in particular. + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\emph{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most commonly used: + +\begin{ttdescription} + +\item [texconfig dvips paper letter] Set default paper size for +\cmdname{dvips} to be letter-size. + +\item [texconfig xdvi us] Likewise, for \cmdname{xdvi}. + +\item [texconfig rehash] Update all the \TeX{} system filename databases. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in the \dirname{FAQ} subdirectory +of \TeXLive.) + +\item [texconfig help] Output help information. + +\end{ttdescription} + +Of course, \cmdname{texconfig} only supports changing a few of the many +options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TeXLive{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and/or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We described the Unix commands; under \MacOSX{} and +Windows, you're more likely to run the tests through a graphical +interface, but the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX (Web2c 7.5.2) 3.141592 +kpathsea version 3.5.2 +Copyright (C) 1997-2003 D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on p.~\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +>TeX (Web2c 7.5.2) 3.141592 +... +Output written on sample2e.dvi (3 pages, 7256 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Under Windows, the analogous command is \cmdname{windvi}. You should +see a new window with a nice document explaining some of the basics of +\LaTeX{}. (Well worth reading, 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 Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TeXLive{}, so you must install them separately. See +\url{http://wwwthep.physik.uni-mainz.de/~plass/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [docstrip.tex] Produce \TeX{} source or documentation from a +\samp{.dtx} file. +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html}. We especially recommend the +\textsl{Formatting Information} manual by Peter Flynn, available at +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +\TeXLive{} supports \MacOSX, but no prior Macintosh versions. (If you +are running an older Mac version, you can view the files by installing +the Joliet system extension available from +\url{http://www.tempel.org/joliet}; however, the \TeXLive{} binaries +will not run.) + +Installation of \TeX{} under \MacOSX{} can be done in two ways: + +\begin{enumerate} +\item With the \filename{install*} scripts, as with Unix. +\item With the \cmdname{i-Installer} included in +\filename{MacOSX/II2.dmg}. +\end{enumerate} + +\noindent Each of these is described in a following section. + +In addition, typical use of \TeX{} under \MacOSX\ goes through a +\emph{frontend}. This is also described below. + + +\subsection{\protect\cmdname{i-Installer}: Internet installation} +\label{sec:i-Installer} + +The \cmdname{i-Installer} is included in the \TeXLive{} distribution as +an alternative to normal installation. It does not use the contents of +the \TeXLive{} distribution at all; instead, the system (approximately +70 megabytes) is downloaded over the Internet. + +One advantage of \cmdname{i-Installer} is that it makes updates +relatively painless. If you are interested, please see the +\cmdname{i-Installer} \TeX{} home page at \url{http://www.rna.nl/tex.html}. + +To use it, mount \filename{./MacOSX/II2.dmg}. Read the documentation, +launch it, and install at least \emph{TeX Foundation} and \emph{TeX +Programs}. The first will finish without configuration, as soon as the +second is installed you will be presented with a graphical interface to +setting up your \TeX{} system. + +The \cmdname{i-Installer} distribution uses the \teTeX{} \dirname{texmf} +tree with some additions. Due to differences between \TeXLive{} and +\teTeX{} you cannot update a \TeXLive{} installation with an +\cmdname{i-Installer} \emph{TeX Programs} i-Package. + + +\subsection{\protect\cmdname{install*.sh}: \protect\TeXLive{} installation} + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; please see the +subsection~\ref{sec:mac-bash} (p.~\pageref{sec:mac-bash}) below for +instructions on installing bash \cmdname{bash}. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +p.~\pageref{sec:unix-install}; \MacOSX-specific notes are included where +needed. + + +\subsection{\MacOSX{} frontends} + +Using \TeX{} on a Macintosh typically goes through a front end program, +comprising an execution shell, editor, previewer, and other facilities. +Here are the principal frontends: + +\begin{cmddescription} +\item [TeXShop] Included in \TeXLive{} as +\filename{./MacOSX/texshop.dmg}. See +\url{http://www.uoregon.edu/~koch/texshop/texshop.html}. + +\item [ITeXMac] Included in \TeXLive{} as +\filename{./MacOSX/iTeXMac-*.dmg}. See +\url{http://itexmac.sourceforge.net}. + +\item [Mac-emacs] A port of Emacs to \MacOSX{}, integrating +\pkgname{AucTeX}. See \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. + +\end{cmddescription} + +The frontends use \dirname{/usr/local/teTeX} as the default location; +therefore, you must either install \TeXLive{} there, or change the +configuration of the frontend. + + +\subsection{\cmdname{bash} installation for older \MacOSX{} versions} +\label{sec:mac-bash} + +\MacOSX{} versions 10.1 and earlier do not include \cmdname{bash} by +default, and the default shell does not run the \TeXLive{} installation +scripts properly. This section explains how to install \cmdname{bash}. + +First, check if bash is already installed. `Launch Terminal' +(\filename{/Applications/utilities/Terminal}) and type \code{rehash; +which bash}. If the answer is a filename (for example, +\code{/bin/bash}), then \cmdname{bash} is already installed, and you're done +here; go back to the main installation instructions. +If the answer is \code{bash: command not found}, proceed here. + +There are two ways to install \cmdname{bash} if you need it\Dash via the +\acro{GUI} or via command line. + +To install via \acro{GUI}, double-click the \filename{MacOSX/bash.dmg} +file in \TeXLive{}. The disk image (volume) will be mounted. Then +start the \cmdname{i-Installer} application on that volume. You will be +asked to authenticate; if you have never seen that before, you might not +have enough privileges to install. Just enter your own user name and +password. Hit install. Bash will be installed on your system. + +To install via command line: +\begin{enumerate} +\item ensure you have admin privileges: log in as the +\code{admin} user, the System Administrator, a user with Admin +privileges, using \cmdname{sudo}, etc. + +\item copy \filename{MacOSX/bash.tar.gz} from the \TeXLive{} +distribution to your home directory. + +\item Launch Terminal, and run: +\begin{alltt} +(cd /usr/local/; sudo tar xvzf ~/bash.tar.gz) +\end{alltt} +You'll be asked for your password, and then \cmdname{bash} will be +installed. + +\item Quit Terminal. + +\end{enumerate} + +After using either installation method, be sure to recheck that +\cmdname{bash} is installed with \code{rehash; which bash} in a new +Terminal window. + + +\section{Windows installation} +\label{sec:win-install} + +\TeXLive{} can be installed on systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +It is necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD{}s; simply look at the \CD{} +in Explorer and see whether it shows long, mixed-case, file names. If it +does not, you must install the Joliet extensions. + +The Windows \TeX{} system included in \TeXLive{} is no more and no less +than the \fpTeX{} distribution. It includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 551 534]{../pictures/Welcome-to-TeXLive.jpg} + \else + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TeXLive'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a dialog +box with a menu bar will popup on the screen, and you will have several +choices from there: + +\begin{itemize} +\item Install \TeX{} on your hard disk +\item Do maintenance on your \TeX{} system. +\item Remove the \TeX{} system. +\item Use \TeX{} off the \TeXLive{} \CD{} or \DVD{}. +\item Browse documentation: \TeXLive{} documentation, TUG web + pages, \fpTeX web pages. +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection{Running \protect\TeXLive{} directly from media (Windows)} + +\runlive + +To run live under Windows, from the menu, chose \verb|Explore CD-Rom|, then +\verb|Run TeX off CD-Rom|. This will launch the \cmdname{XEmacs} editor. + +%% To run live under Windows, do the following: + +%% \begin{enumerate} +%% \item from the menu, chose \verb|Explore CD-Rom|, then +%% \verb|Run TeX off CD-Rom|, that will launch the \cmdname{XEmacs} editor. + +%% This program needs to be a \TeX{} oriented editor. It must be able +%% to run the \TeX{} compiler, previewer and any other needed tool. If +%% you don't have one already installed on your system, you can install +%% one from the \CD{}, details section~{\ref{sec:texlive-install}}. + +%% \emph{There is no way we can guess if the program you will +%% select is actually a text editor, so be careful}. +%% Here is a list of frequently used \TeX{} editors: +%% \begin{center} +%% \begin{tabular}[H]{ll} +%% GNU Emacs & \path|c:\Program Files\NTEmacs\bin\runemacs.exe| \\ +%% XEmacs & \path|c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe| \\ +%% WinShell & \path|c:\Program Files\WinShell\WinShell.exe| \\ +%% WinEdt & \path|c:\Program Files\WinEdt Team\WinEdt\WinEdt.exe|\\ +%% TeXnicCenter & \path|c:\Program Files\TeXnicCenter\TEXCNTR.exe| +%% \end{tabular} +%% \end{center} +%% The program +%% selected will be memorized as the editor to use for future runs. + +%% \item from the menu, chose \verb|Explore CD-Rom|, then +%% \verb|Run TeX off CD-Rom|. The environment will be modified, a small +%% temporary directory created and some configuration files copied +%% there. Then, the selected editor selected will be launched, and you +%% will be able to type in some text, let \TeX{} typeset it and the +%% view it or print it. + +%% If Ghostscript is not detected on your machine, you will be warned +%% that rendering your DVI files might fail. You can install it from +%% the \path|Install|, \path|Support| menu item. See +%% section~\ref{sec:texlive-install} for details. + +%% \item you can select a different text editor any time you want. + +%% \item if you chose \verb|Cleanup CD-Rom setup|, everything \TeX{} +%% needed will be removed, comprised the selection of your text +%% editor, but not the extra packages you may have downloaded and +%% installed. If you installed \cmdname{WinShell} or \cmdname{NTEmacs}, +%% they won't be removed. +%% \end{enumerate} + +XEmacs startup file will set the environment variables needed. XEmacs will also +setup a temporary \acro{TDS} compliant texmf tree in the temporary area of your +computer. It is needed to store files that may be built on the fly, such as +\path|pk| bitmap fonts, or format files. Configuration files are copied from +the \CD{} to this texmf tree, so that you can edit them if needed. The +\path|ls-R| database is computed for this texmf tree. The AUC-\TeX{} mode will +be entered Whenever you will visit or create a \TeX{} file, providing all the +bells and whistles for \TeX{} support XEmacs is capable of. + +If you run 'M-x shell' within XEmacs, then you will have access to all the TeXLive +tools from the command line provided by XEmacs. + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can also + use the small batch file \path|mkloctex.bat| to be called in a + directory \path|bin\win32| of the \CD. From the Start menu select + `Run', then browse the \acro{CD} drive and select + \path|mkloctex.bat|. Before starting it, you should add two parameters + separated by a space: the letter of your \acro{CD} drive and the + letter of the drive where you want to install the \TeX\ directory. + The whole line should read, e.g., \verb+d:\bin\win32\mkloctex.bat d c+. + When installation is complete, please read carefully the information + on screen. If you are running Windows 9x/\acro{ME}, then you will have to + restart Windows.} + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TeXLive installation needs support packages that are not +commonly found on a Windows machine. +Many scripts are written using the Perl language. Some important tools require +the Ghostscript \PS{} interpreter to render or to convert files. A graphic +file toolbox is also needed in some cases. Last but not least, a \TeX-oriented +editor makes it easy to type in your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to make +your life even easier, we have put such a set of tools on \TeXLive: +\begin{itemize} +\item \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TeXLive{} +Perl scripts +\item a subset of \cmdname{ImageMagick} 5.5.6 +\item the \cmdname{ISpell} checker +\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +\TeX{} typesetting. +\end{itemize} + +These packages should be installed only all at once. The bundle is +known as the \XEmTeX{} bundle. + +If you didn't install \XEmTeX{}, \cmdname{Perl} and \cmdname{Ghostscript} are +installed anyway if they are not detected on your machine. This is because they are +required by many important tools. The \envname{PERL5LIB} and \verb|GS_LIB| +environment variables will be set too. + +When you are under +\cmdname{XEmacs}, the tools provided shadow any other version you might +have installed previously. The point here is that \path|TeXSetup.exe| +will not install anything outside of the \TeXLive location, neither will +it run foreign installers, nor will it try to autodetect installed +products using unreliable rules of thumb. The \XEmTeX{} bundle is +standalone and is meant to evolve in the future. The reference site is +\url{http://www.fptex.org/xemtex/}. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TeXLive{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize} + \item \cmdname{GNU Emacs} is available natively under Windows, the + reference url is + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, the + reference url is \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TeXLive in the \path|support| + directory, the reference url is \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item TeXnicCenter is available from + \url{http://www.toolscenter.org/products/texniccenter/} + \item \cmdname{Vim} is available on \TeXLive{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following Debian's guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TeXLive{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +%% \subsection{Installing editors or support packages} +%% \label{sec:texlive-install} + +%% You can use the \path|TeXSetup.exe| program to install a +%% single (not \TeX{}-dependent) package. This might be an editor +%% such as \cmdname{WinShell} or \cmdname{NTEmacs}, +%% or a support package like \cmdname{NetPBM} +%% (graphics formats conversion) or \cmdname{Ghostscript}. + +%% Some of the packages are not free, or not with the same meaning as for +%% the rest of the \CD{}. These packages have been made available through +%% the Internet. You need to enable an Internet connection in order to +%% install them. Chosing the \path|Enable Internet access| subitem will +%% search your system for an active Internet connection, or start one if +%% possible. \emph{If your computer is not connected to the Internet, +%% then the timeout might be long, 30s or more}. So try to enable it +%% only if you know you have a connection. + +%% Only a few packages are available from the \CD{}, but the most +%% important of them: \cmdname{NTEmacs} and \cmdname{WinShell} for the +%% editors, \cmdname{Ghostscript} and \cmdname{NetPBM} for the other +%% support packages. \cmdname{NetPBM} is needed for running \TeX{}4ht. + +%% The downloadable packages are sometimes huge: \cmdname{Perl} is 10Mb, +%% \cmdname{XEmacs} is 50Mb, so be warned that it can take a lot of time +%% to install such things. \path|TeXSetup.exe| does not yet provide an +%% estimation of the time needed to complete the download. + +%% When installing these packages, \path|TeXSetup| is working in +%% unattended mode. However, the programs that have their own installer +%% like WinEdt or Ghostscript for example will require human interaction. + +%% Those packages who have no specific installer will be unpacked and configured +%% for your system. You will be required to select some directory where +%% they will be installed. The directory to select should be the root +%% directory of the whole installation. Assuming you want to install +%% NTEmacs and NetPBM, the archive files already contain the +%% \path|NTEmacs\| and \path|NetPBM\| part, so the directory you have to +%% select is something like \path|c:\Local| or \path|c:\Program Files|. + +\subsection{Installing \TeXLive{} to disk} + +\textbf{Warning: Win9x users must ensure they have enough environment + space before undertaking installation. The \cmdname{TeXSetup.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add "SHELL=<path>COMMAND.COM /E:4096 /P" in the + config.sys file in order to increase your environment size.} + +Installation is started by letting the media autostart. The program run +is \path|TeXSetup.exe| if you are using the inst disk. If you are using +the live or the demo disk, you will have to select the item +\path|TeXLive Software| from the menu, then the subitem \path|Install on +Hard Disk|. This will invoke \path|TeXSetup.exe|. You can also find it +in the \path|bin/win32| directory and run it, if the autostart fails for +any reason. \path|TeXSetup.exe| is a Windows wizard and it will display +several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + here. In this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). If you have enough privileges (administrator or power user + rights) under a Windows version where this is applicable, then you can + decide to install the \TeXLive{} for all users or for yourself only by + checking the appropriate box. + For installing the whole \XEmTeX{} bundle (XEmacs, Ghost\-script, + Perl, ImageMagick and Ispell) you can check \emph{Install XEmTeX + Support} box. + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TeXLive{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/setup-wizard.jpg} +\includegraphics[bb=0 0 506 403]{../pictures/source-for-texlive.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive} + \fi + \fi + \caption{The \TeXLive{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TeXLive{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + +Why do we need both these directories? The files consisting of the +\TeXLive{} system are on the \CD{}, of course, but some other useful +packages are not, either because of space lacking or because their +license was not compatible with \TeXLive{}. You need to enable Internet +downloading if you want to install these packages that are marked with a +specific ``remote'' icon. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} (for example), but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing from the demo \CD{} or the \fpTeX{} distribution), + \item the Internet; in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/root-of-installation.jpg} +\includegraphics[bb=0 0 506 403]{../pictures/scheme-selection.jpg} + \else + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection} + \fi + \fi + \caption{\TeXLive-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{tex-xemtex} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript (the \PS{} + interpreter), XEmacs editor preconfigured for \TeX{}, tools like Perl, + ImageMagick, Ispell. \emph{None of these packages are selected by + default}. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still possible to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/package-selection.jpg}\hfill% +\includegraphics[bb=0 0 506 403]{../pictures/win32-support.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TeXLive{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/review-settings.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/file-copy.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/configuration.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/congratulations.jpg} + \else + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to four times the +amount of space used on the \CD. + + +\section{Windows maintenance and post-installation} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TeXLive{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files.}. For + this reason, you can combine the \path|-multiple-occurences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behaviour: + \begin{itemize} +%% \item the \path|-fmt| option behaves differently. Previously and +%% with the regular \Webc{} distribution, this option has 2 different +%% meanings when you are in ``ini'' or ``vir'' mode. Under Win32, it +%% has the same meaning: preload the format file specified with the +%% argument. The meaning of building a format of such name in ini +%% mode is obtained by the new \path|-job-name| option. +%% \item \path|-job-name| option: allows to set the name of the file +%% resulting from the compilation process. In normal mode, it will +%% change the base name of all files produced (\path|.dvi|, +%% \path|.aux|, etc.), while in ini mode, it will set the name of +%% the format file written. + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \guiseq{TeXLive} menu (or go to +\guiseq{Start\arw Programs \arw TeXLive \arw Add TeX package} menu) to +run \file{TeXSetup.exe} in maintenance mode. The steps are almost the +same as in the initial installation. + +We'll discuss differences below, but first, whatever changes you make, +\textbf{do not forget to rebuild the ls-R database files}. Otherwise, +your new files will not be found. You can do this either via the +\acro{GUI} (\guiseq{Start \arw Programs \arw TeXLive \arw Maintenance +\arw Rebuild ls-R}), or manually running the \file{mktexlsr} command. + +The main difference is in the packages selection page. In maintenance +mode, the list of installed packages is compared to the list of packages +available from your source directories. Packages that are not installed +will be displayed in green, out of date packages will be displayed in +red and up-to-date, installed packages are displayed in black. + +This way, you can choose to add or upgrade components, either from +\TeXLive{} or from the Internet, where you are likely to find some more +recent version of your packages. + +It is up to you to select which packages you want to install. The rest +of the process is similar to the first installation. + +If you want to add files that are not provided by the \TeXLive{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TeXLive{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\Program +Files\TeXLive\texmf-local\doc\latex\maple\| + +\subsection{Uninstalling \protect\TeXLive{}} + +The uninstall procedure is available either from the \file{TeXLive.exe} +program, from the \path|TeXLive| menu or from the control panel +(\guiseq{Start \arw Control Panel, Add/Remove Programs}). This procedure +will cleanup your hard disk of most of the \TeXLive{} files. However, +\TeX{} is a system that is creating files and there is no mechanism to +keep track of all of them. Moreover, Win32 support packages have their +own uninstall procedure, which you will have to run separately (provided +you want to get rid of them). Last, the files you may have stored in +\path|$TEXMFLOCAL| won't be removed. So, even if the vast majority of +files are automatically removed by the uninstall procedure, you will +have to do some manual cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other useful +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--with-xemtex|] selects the \XEmTeX{} bundle; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory <url>|] this is the base url for the remote packages; +\item[\path|--local-source-directory <dir>|] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory <dir>|] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TeXLive+; +\item[\path|--texmfmain-directory <dir>|] +\item[\path|--texmflocal-directory <dir>|] +\item[\path|--texmfextra-directory <dir>|] +\item[\path|--texmfhome-directory <dir>|] +\item[\path|--vartexmf-directory <dir>|] +\item[\path|--vartexfonts-directory <dir>|] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder <folder>|] the name of the folder under + which you will find the menus; +\item[\path|--add-package <pkg>|] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme <pkg>|] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed. This option is still a bit crude in this release; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TeXLive{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal configurations} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TeXLive{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg+ and +change \samp{page\_width} and \samp{page\_height}. These entries should read: +\begin{alltt} +page_width 8.5 true in +page_height 11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no longer included in +\TeXLive{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it with \guiseq{Start\arw Programs\arw TeXLive\arw DVI Viewer}. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All configuration settings for \cmdname{Windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{Windvi}, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +on p.~\pageref{sec:test-install}. This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, it will create fonts because +screen fonts were not installed. After a while, you will have created most +of the fonts you use, and you will rarely see the font-creation window. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +%If you use \cmdname{WinShell} and a \PS{} printer, probably the +%most convenient way to print is to add an icon to the \cmdname{WinShell} +%toolbar that invokes dvips in a way that sends the output directly to a +%default printer. For detailed instructions on how to do this, see +%the next section. + +%% \subsection{\cmdname{WinShell}} +%% \label{winshell:more} + +%% \subsubsection{Configuring \cmdname{WinShell}} +%% \label{sec:winshell} + +%% Start this program from the Start menu or from the Desktop shortcut. +%% Go to \guiseq{Options \arw Program Calls}. + +%% \begin{itemize}\itemsep 0pt +%% \item In the DVIWin tab, if the filename is \filename{yap}, replace it +%% with \filename{windvi.exe}. +%% \item In the Ghostview tab, make sure it gives the correct path for +%% gsview32.exe:\\ +%% \hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (for 3.6, the +%% current version)\\ +%% or \\ +%% \hspace*{1em} \verb+C:\gstools\gsview\gsview32.exe+ (for the older +%% version) + +%% \end{itemize} + +%% Click \guiseq{OK}. + +%% Note that the install process sets all files with the \texttt{.tex} +%% extension to open with \cmdname{WinShell}. Unless you plan to use another editor +%% (such as WinEdt or Emacs), this is appropriate. + +%% Unfortunately, \cmdname{WinShell} does not have a spell-checking +%% feature. However, if you have installed the \path|tex-extrabin| +%% collection, your installation includes \cmdname{Ispell} (a spell +%% checking program found on most Unix systems). The executable is in your +%% PATH so \verb+ispell.exe+ will be found if you invoke it from a DOS +%% window. If you installed documentation, look at \path|C:\Program +%% Files\TeXLive\texmf\doc\html\manpages\ispell.html|for information on +%% Ispell. (Otherwise, you can find \verb+ispell.html+ on the CD.) If you +%% rely on spell checking, you may want to add an Ispell icon to +%% \cmdname{WinShell}. See subsection~\ref{winshell:ispell} of this +%% document for how to do that. + +%% For an excellent commercial (but inexpensive) spelling checker, +%% see \url{http://www.microspell.com}. + +%% \cmdname{WinShell} also has on-line help, which you can access via the +%% $\textbf{\underbar{?}}$ on the menu bar. + +%% Other information about using \cmdname{WinShell} can be found in +%% section \ref{winshell:more} on p.~\pageref{winshell:more}. + + +%% \subsubsection{Installing Bug Fixes} + +%% \cmdname{WinShell}'s author (\href{mailto:idb@winshell.de}{Ingo de Boer}, +%% thanks to him) sometimes releases beta versions of the next \cmdname{WinShell} +%% version which are also bug fixes. You can grab them from +%% \url{http://www.winshell.de}. Usually they are \file{.zip} files that +%% only require to be unpacked in \cmdname{WinShell} directory (\path|c:\Program +%% Files\WinShell| by default), either using WinZip or a similar tool, or +%% by using \file{unzip} on the command line. If you got some +%% \file{winshellbugfix.zip} file and that you saved it in the \cmdname{WinShell} +%% directory, then you need to run: +%% \begin{verbatim} +%% c:\>cd c:\"Program Files"\WinShell +%% c:\>c:\local\bin\unzip winshellbugfix.zip +%% \end{verbatim} +%% Say \optname{yes} if you are asked if some files should be overwritten. The +%% \path|unzip.exe| programme can be found in the +%% \path|support/gnu-utils| package. If you +%% do not have it on your machine, you can use any archiver tool like +%% WinZip to achieve the same effect. + +%% \subsubsection{The \cmdname{Project} feature: organizing many files} + +%% If your document is split into several files (for example a thesis), +%% look into \cmdname{WinShell}'s \cmdname{Project} feature. From the +%% \guiseq{Project} menu, you give the project a name (e.g., \code{Thesis}), +%% supply the name of the main (or root) file, and then \code{add} other +%% files. These filenames display on the left of the screen where you can +%% double click the names to view and switch between them. Clicking the +%% \guiseq{\LaTeX} icon always processes the main file. + +%% Note the icons on the toolbar for toggling the project space (on the left) +%% and the log space (at the bottom). If you are not using the Project +%% feature, you may want to toggle off the space on the left, using the full +%% screen width to display your file. + +%% \subsubsection{Printing from \cmdname{WinShell} to a \PS{} Printer} +%% \label{winshell:print} + +%% The Dvips icon on the \cmdname{WinShell} toolbar puts the \PS{} output +%% in a file, which you can then view with GSView and print from there if +%% you choose. However, it's convenient to add a \cmdname{WinShell} +%% ``program call'' to dvips which sends the output directly to a +%% designated \PS{} printer. The steps below show how to do this for the +%% printer \optname{vclw}; you should substitute the name of your most +%% frequently-used printer. +%% \begin{enumerate} +%% \item Make the program aware of the printer: +%% \begin{itemize} + +%% \item Open \cmdname{WinShell}, go to \guiseq{Options\arw Program +%% Calls\arw User defined}. + +%% \item Click on \guiseq{Tool 1} in the list on the right and fill in the +%% fields to the left as follows:\vspace{-6pt} +%% \begin{quote} +%% Name: \verb+Print+\\ +%% exe file: \verb+dvips+\\ +%% cmd-line: \verb+ -D600 %m -o vclw+\\ +%% Uncheck the box for \guiseq{DVIPS first} +%% \end{quote}%\vspace{-12pt} +%% \item Click \guiseq{OK} +%% \end{itemize} +%% \item Add \guiseq{Print} to the toolbar: +%% \begin{itemize} +%% \item Go to \guiseq{Options\arw View\arw Customize}. +%% \item In the \guiseq{Category} box, select \guiseq{User-Programs}. +%% \item Select \guiseq{Print} and drag it to the toolbar, placing it just to +%% the right of the \cmdname{GSView} icon. +%% \item You then have a choice of \guiseq{Image only}, \guiseq{Text only}, +%% or \guiseq{Image and Text}. The easiest is to select \guiseq{Text only} +%% and click \guiseq{OK}. You should then see \guiseq{Print} on the +%% toolbar. (If you prefer, you can select \guiseq{Image only\arw Edit}, +%% and edit the displayed picture to your satisfaction.) +%% \end{itemize} +%% \end{enumerate} +%% Now, to print a \LaTeX\ document, just click on the \guiseq{Print} icon +%% to send to your selected printer. To use a different printer, you will +%% need to click on the \guiseq{Dvips} icon to print to a file. Then click +%% on the \cmdname{GSView} icon and use \cmdname{GSView} to send to any +%% printer you have installed on your \acro{PC}. + +%% \subsubsection{Adding Ispell to \cmdname{WinShell}} +%% \label{winshell:ispell} +%% \begin{enumerate} +%% \item Add Ispell to User Tools: +%% \begin{itemize} +%% \item Open \cmdname{WinShell}, go to \guiseq{Options\arw Program +%% Calls\arw User defined}. +%% \item In the list on the right, click on \guiseq{Tool~1} (or +%% \guiseq{Tool~2} if you have already used \guiseq{Tool~1}) and fill in +%% the fields to the left as follows:\vspace{-6pt} +%% \begin{quote} +%% Name: \verb+Ispell+\\ +%% exe file: \verb+ispell+\\ +%% cmd-line: \verb+ -t -d american %c.tex+\\ +%% Uncheck the boxes for \guiseq{LaTeX first} and \guiseq{DVIPS first} +%% \end{quote} +%% \item Click \guiseq{OK}. +%% \end{itemize} + +%% \item Add Ispell to the toolbar: +%% \begin{itemize}\itemsep 0pt +%% \item Go to \guiseq{Options\arw View\arw Customize}. +%% \item In the \guiseq{Category} box, select \guiseq{User-Programs}. +%% \item Select \guiseq{Ispell} and drag it to the toolbar, placing it just to +%% the right of the \cmdname{GSView} icon (or the last icon you added). +%% \item You then have a choice of `\guiseq{mage only}, \guiseq{Text only}, +%% or \guiseq{Image and Text}. The easiest is to select \guiseq{Text only} +%% and click \guiseq{OK}. You should then see \guiseq{Ispell} on the +%% toolbar. (If you prefer, you can select \guiseq{Image only\arw Edit}, +%% and edit the displayed picture to your satisfaction.) +%% \end{itemize} +%% \end{enumerate} +%% Now, when you have a \LaTeX\ document open, you can click on +%% \guiseq{Ispell} to perform spell checking. Ispell will open another +%% window and display the first misspelled word on the left with the +%% filename on the right. Below that you will see the context in which the +%% misspelling appears; often several suggestions for replacements are also +%% displayed. To replace the word, enter the number corresponding to the +%% desired replacement. Other possible responses are listed below; for +%% example, you can press the space bar to ignore the misspelled word. For +%% more information on Ispell, read the manual page: +%% \verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+. + +%% Note that when you replace a word, you will not see the correction in +%% your \cmdname{WinShell} window until you close the file (click the +%% \guiseq{X} in the upper right corner) and then open it again (use the +%% \guiseq{File} menu). + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behaviour, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses many many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TeXLive{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do that. But +the trick will work for any console.}. For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{TeXSetup.exe} program? You can find this by searching for the +string \samp{Error}. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\item Check the web pages at +\url{http://www.fptex.org/}, or consider subscribing to the \fpTeX{} +mailing list, via \url{http://tug.org/mailman/listinfo/fptex}. + +\end{enumerate} + + +The \TeXLive{} software consists of hundreds and programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (see section~\ref{sec:help} on p.~\pageref{sec:help}.) + + +\subsection{Compiling the source files} + +You have the whole set of source files, in the +\path|source/source.tar.bz2| archive available in the distribution together with +a patch file for Win32. To +be able to compile the whole distribution for Windows, you will need: + +\begin{itemize} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net 2003 +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item to adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|mswin32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\mswin32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information} + +The Windows \TeX{} system included on \TeXLive{} is also known as +\fpTeX. The packaging differs, but \fpTeX{} is no more no less than the +current \TeXLive\ release for Windows. + +The \fpTeX{} home page is \url{http://www.fptex.org}. + +The current \fpTeX release is available from any \CTAN site in +\url{htp://www.ctan.org/tex-archive/systems/win32/fptex}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} +from where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by all \CTAN{} sites at +\path|systems/win32/fptex|. + +The \TeX{} Users Group is kindly hosting a mailing list dedicated to +\fpTeX. It is used for announcements, bug reports, enhancement requests, +and general discussion about \fpTeX. To subscribe, visit +\url{http://tug.org/mailman/listinfo/fptex}. The mailing list +address is \email{fptex@tug.org}. + + +\section{A user's guide to \protect\Webc{}} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TeXLive{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system adapting change files +under Unix, which were primarily the work of Howard Trickey and Pavel +Curtis. Tim Morgan became the maintainer of the system, and during this +period the name changed to Web-to-C\@. In 1990, Karl Berry took over +the work, assisted by dozens of additional contributors, and in 1997 he +handed the baton to Olaf Weber. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \acro{GNU} options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +configuration files to optimize searching the (huge) collection of +\TeX{} files. \Webc{} can look at more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two distinct trees. To speed up +file searches the root of each tree has a file \file{ls-R}, containing +an entry showing the name and relative pathname for all files under that +root. + +\subsection{\protect\KPS\ path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{../examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{../examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place: it checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarises the meaning of special characters +in \KPS{} configuration files. + +\newcommand{\CODE}[1]{\makebox[2.5em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion. +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{\dots\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{Filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && ls -LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU}'s \code{ls} is all right). To ensure that the database is always +up-to-date, it is easiest to rebuild it regularly via \code{cron}, so +that for changes in the installed files\Dash perhaps after installing or +updating a \LaTeX{} package\Dash the file \file{ls-R} is automatically +updated. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + found in the first column of Table~\ref{tab:kpathsea}, which lists + currently recognized names, a description, possible file extensions, + and associated environment variables. +\end{ttdescription} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types.}\label{tab:kpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps} + and \file{psfonts.map}} + {TEXCONFIG} + {.map} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated \PS{} figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\emph{program}FONTS \textrm{(\texttt{\emph{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {\PS{} header} + {30} + {downloadable \PS{}} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {Type~1 fonts} + {32} + {Type 1 \PS{} outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 \PS{} outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + + The last two entries in Table~\ref{tab:kpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + The \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. + +\begin{ttdescription} + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{TEXMF} root +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +> \Ucom{kpsewhich array.sty} + /usr/local/texmf/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} + /usr/local/texmf/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} + /usr/local/texmf/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +The latter is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files on our system (since we use the Type~1 versions included in \TeXLive{}). +\begin{alltt} +> \Ucom{kpsewhich ecrm1000.pk} +\ifSingleColumn /usr/local/texmf/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk +\else +/usr/local/texmf/fonts/pk/ljfour/jknappen/ +... ec/ecrm1000.600pk +\fi\end{alltt} +For the extended Computer Modern files we had to generate \samp{.pk} +files, and since the default \MF{} mode on our installation is +\texttt{ljfour} with a base resolution of 600\dpi{} (dots per inch), +this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 ecrm1000.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. In fact, a program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the \texttt{.pk} files at the required +resolution using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the +\PS{} font map \file{psfonts.map}. As the \samp{.ps} suffix is +ambiguous we have to specify explicitly which type we are considering +(\optname{dvips config}) for the file \texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/dvips/base/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} +/usr/local/texmf/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" utm.map} +/usr/local/texmf/dvips/psnfss/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf/fonts/type1/urw/utm/utmr8a.pfb +\else /usr/local/texmf/fonts/type1/ +...urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these few examples how you can easily locate +the whereabouts of a given file. This is especially important if you +suspect that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as the \file{ls-R} + database, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient value touse. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{../examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{../examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{../examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{SExamplesofuse} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \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 +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TeXLive{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf} (compare the generic value + and the huge one instantiated by \texttt{hugetex}, + etc.). +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. You can see that both the + \cmdname{hugetex} and \cmdname{pdflatex} program invocations ask for + an extra 15,000 control sequences (the default value of + \texttt{hash\_extra} is zero). +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since this is extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\section{Building on a new Unix platform} + +If you have a platform for which we have not created executables, you +will need to compile \TeX{} and friends from scratch. This is not as +hard as it sounds. What you need is all in the directory \texttt{source} +in the distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TeXLive{} to your disk (see +section~\ref{sec:unix-install-disk} on +p.~\pageref{sec:unix-install-disk}). You may wish to skip installing +any of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \acro{GNU} style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \emph{TEXDIR}/bin/\emph{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +on p.~\pageref{sec:postinstall}. + + +\section{Last words} + +This edition of \TeXLive{} is edited by Sebastian Rahtz, with the major +contributors being Fabrice Popineau, who has worked away unceasingly at +the Windows part of the package (especially the setup!)\ and contributed +in many different ways with ideas, advice and code, and Staszek +Wawrykiewicz, who provided great testing feedback, and co-ordinated the +Polish contributions. + +Kaja Christiansen performed a vital role in endless recompilations on +assorted Unix platforms. Vladimir Volovich did great work on cleaning +the source and making other improvements, while Gerben Wierda did all +the work for \MacOSX. + +\subsection{Acknowledgements} + +\TeXLive{} is a joint effort by virtually all \TeX{} Users Groups. In +particular, we are very grateful for past and present help from: + +\begin{itemize} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware the \TeXLive{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} president Volker Schaa +coordinated production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we use to +manage. + +\item Karl Berry, who provided the original \Webc{} distribution, and +has continued to give invaluable advice, encouragement, and help. + +\item Mimi Burbank, who arranged access at the Florida State University +School of Computational Science and Information Technology to a slew of +different computers to compile \TeX{} on, and acted as an essential +guinea-pig whenever asked. + +\item Thomas Esser, without whose marvellous \teTeX{} package \TeXLive{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Olaf Weber, for his patient assembly and maintenance of Web2c. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize} + +In addition, Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +Chleb\'\i{}kov\'a, Staszek Wawrykiewicz, Erik Frambach, and Ulrik Vieth +kindly translated documentation at various times into their respective +languages, checked other documentation, and provided very welcome +feedback. + + +\subsection{Release history} +\label{sec:history} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TeXLive. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TeXLive{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TeXLive{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +In 2003, with the continuing flood of updates and additions, we found +that \TeXLive{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:multiple-dist} on p.~\pageref{sec:multiple-dist}). In +addition: + +\begin{itemize} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + p.~\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TeXLive{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output 8-bit input + characters as themselves in output (e.g., \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TeXLive{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TeXLive{} 2003. +\end{itemize} + + +\subsection{Future releases} + +\emph{\TeXLive{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX'ing!} + +\end{multicols} +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2004.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2004.tex new file mode 100644 index 00000000000..10e50ee5832 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2004.tex @@ -0,0 +1,3854 @@ +% $Id$ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TK{} 2004}} +} + +\author{Sebastian Rahtz \& Karl Berry, editors \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{November 2004} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash a \TeX{} and \LaTeX{} distribution for Linux and other +Unix flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is +not especially useful for older Mac or \acro{MS-DOS} systems.) + +\TL{} includes precompiled binaries for \TeX{}, \LaTeXe{}, \MF, \MP, +\BibTeX{} and many other programs; an extensive collection of macros, +fonts and documentation; and support for typesetting in many different +scripts from around the world. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}), a cooperative effort by the \TeX\ user +groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org} + +For a brief summary of the major changes in this edition of \TL{}, +see section~\ref{sec:history} (\p.\pageref{sec:history}). + + +\subsection{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, as you might expect, and gives you +immediate access to everything in \TL{}. Of course performance +will be worse than running on local disk, but you may well find it +acceptable. + +\item You can install all or part of \TL{} to a local disk. This +is the most common use of \TL. You will need (approximately) a +minimum of 100 megabytes, 310 megabytes for a recommended system, and +730 megabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}; + +\item The single package installation script is \texttt{install-pkg.sh}. + +\item Unfortunately, this version of \TL{} has no Windows installer, due +to technical difficulties. See section~\ref{sec:win-install} below +for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +serious questions end up getting answered. However, the support is +informal, done by volunteers and casual readers, so it's especially +important that you do your homework before asking. (If you prefer +guaranteed commercial support, you can forego \TL{} completely and +purchase a vendor's system; \url{http://tug.org/interest.html#vendors} +has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium of +answers to all sorts of questions, from the most basic to the most +arcane. It is included on \TL{} in \OnCD{texmf-doc/doc/english/FAQ-en}, and is +available on the Internet through \url{http://www.tex.ac.uk/faq}. +Please check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge list of all \TeX{}-related items. See +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry for advice on asking questions +in such a way that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, you are better off writing to that program's maintainer or +mailing list. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. Welcome to +\TeX{}! + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, entirely independent of +\TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +Unfortunately, this release of \TL{} does not include a Windows +installer, due to technical difficulties. (We hope there will be an +installer again in a few months.) Therefore, when the \DVD{} is mounted +on Windows, the setup program offers to start the \pkgname{protext} +installation (see below), and also mentions \CTAN{} and \TL{}, which are +in subdirectories of the top level of the \DVD{}. + +\CTAN{} and \texttt{texmf-extra} do not follow the same copying +conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Furthermore, it can only be installed on Unix +(including Linux, \MacOSX, etc.)\ systems, not Windows, although a set +of experimental Windows binaries is included (for sharing across +platforms). Installation is described in subsequent sections. + +\item [protext] An enhancement of the \MIKTEX\ system, for Windows. +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute, at its own +discretion. (\acro{TUG} is sending all three discs above to all of its +members.) + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. This has changed considerably in 2004: the +single \texttt{texmf} tree has been split into several smaller trees. + +Also, on the \pkgname{live} \DVD, the entire \TL{} hierarchy is in a +subdirectory \dirname{texlive2004}, not at the top level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +MacOSX & Supporting software for \MacOSX (see + section~\ref{sec:mac-install}, \p.\pageref{sec:mac-install}). \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. \\ +texmf-dist & The main tree of formats and packages. \\ +texmf-doc & Tree for self-contained pure documentation, with no other + installed files.\hfil\break Arranged by language. \\ +texmf-var & Tree for files automatically generated and stored. \\ +xemtex & The \cmdname{XEmacs} editor and other support programs for + Windows. + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The (new) \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] writes Acrobat \acro{PDF} format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/manual/pdftex-a.pdf} (A4 paper) or +\OnCD{texmf/doc/pdftex/manual/pdftex-l.pdf} (letter paper), and +\OnCD{texmf/doc/pdftex/examples/example.tex}. + +\item [pdfe\TeX] combines the pdf\TeX\ and \eTeX\ extensions. This is +the default program for all formats except plain \TeX. +See above for documentation. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfm] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the \CD{}s on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Linux, \acro{BSD}, Sun, and \acro{SGI} +systems should be able to use the \CD{}s without problems. We +would appreciate receiving detailed advice from users on other systems +who succeed, for future versions of this documentation. + +\leavevmode\quad +The discussion below assumes you have been able to mount +the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. + +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets. Either uppercase or lowercase is ok; we'll use lowercase in +our examples. +} + +\runlive +\startinst + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. We'll use +\dirname{/usr/local/texmf-local} in this example. (If the default value +of \dirname{/usr/TeX} works for you, then you can skip this step.) +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/TeX +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/TeX]: \Ucom{/usr/local/texmf-local} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{VARTEXMF}, to the value specified above. See +table~\ref{tab:archlist} for a list of the architecture names for the +different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} to customize +your installation for your needs. This is explained in +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures. In addition to the version-specific names listed here, +there are generic names without the version numbers. For instance, +\texttt{sparc-solaris} links to \texttt{sparc-solaris2.7}. The generic +names can be used to protect against the version numbers changing in the +future, if you wish.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ +i386-freebsd4.10 & Intel x86 FreeBSD \\ +i386-linux & Intel x86 GNU/Linux \\ +%i386-openbsd3.3 & Intel x86 OpenBSD \\ +%i386-solaris2.8 & Intel x86 Solaris \\ +mips-irix6.5 & SGI IRIX \\ +powerpc-aix4.3.3.0 & IBM RS/6000 AIX \\ +powerpc-darwin6.8 & \MacOSX \\ +sparc-solaris2.7 & Sun Sparc Solaris \\ +sparc64-linux & Sun Sparc GNU/Linux \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & Intel/AMD 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +VARTEXMF=/usr/local/texmf-local/texmf-var; export VARTEXMF +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv VARTEXMF /usr/local/texmf-local/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TeX{} system from the +\TL{} to disk. This can be done either from any of the \TK{} discs. +(See section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, +for an explanation of the different distributions.) + +\startinst + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is generally +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or not install the current platforms). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall common set of packages, called a ``scheme''. The +default \optname{recommended} scheme suffices for typical needs, but you +can also choose the \optname{basic} scheme if you are low on disk space, +or \optname{full} to get absolutely everything. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the base scheme's set of collections to install. Collections +are one level lower than schemes\Dash collections consist of +one or more packages, where packages (the lowest level grouping in \TL) +contain the actual \TeX\ macro files, font families, and so on. +In this menu, selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the base scheme. In this case, +the collections are specifically for different languages. Selection +letters are case-sensitive here. Here is a list of the language +collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hungarian \> +Indic \> +Italian \\ +Latin \> +Manju \> +Mongolian \> +Norwegian \\ +Polish \> +Portuguese \> +Spanish \> +Swedish \\ +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/TeX}, and is often changed. For example, changing to a +value such as \dirname{/usr/local/texlive2003} would make it possible to +keep different releases of \TL{} separate. (You may then wish to make +\dirname{/usr/local/texlive} a symbolic link, after testing the new +release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +installation, but rather over time) puts non-version-specific files, +primarily fonts. The default value is \dirname{TEXDIR/texmf-local}. +However, it's also the recommended location to put any local packages or +configuration settings. Therefore, it's desirable to change it to a +location independent of the current \TL{} release; for example, +\dirname{/usr/local/texmf-local}. + +\item [VARTEXMF] This tree is where the system puts files that +\emph{are} version-specific, primarily format files and the +configuration files which are modified by \cmdname{texconfig} (see +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}). The default +value is \dirname{TEXDIR/texmf-var}, and there's generally no reason to +change it. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{VARTEXMF} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended more for having the links in +standard directories known to users, such as \dirname{/usr/local/bin}, +which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no VARTEXMF, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a brief annotated example which selects a full installation, +with binaries for the current system only, with directory changes as +recommended above. The prompts and \acro{RETURN}s are omitted for +brevity. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{s} \Ucom{b} \Ucom{r} # scheme, full, return to main +\Ucom{d} # change directories +\Ucom{1} \Ucom{/usr/local/texlive2003} # top-level dir +\Ucom{2} \Ucom{/usr/local/texmf-local} # TEXMFLOCAL outside TEXDIR +\Ucom{r} # return to main +\Ucom{i} # perform installation +> \Ucom{texconfig} ... +# New PATH, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive2003/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\textifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{VARTEXMF} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for font creation +and installation information in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (a \TL{} installation is configured for the A4 paper +size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig localsetup] Verify that paths are set ok. + +\item [texconfig rehash] Update all the \TeX{} system filename databases. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.3) +kpathsea version 3.5.3 +Copyright (C) 1997-2004 D.E. Knuth. +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{windvi}.) 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 Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://wwwthep.physik.uni-mainz.de/~plass/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html}. We especially recommend the +\textsl{Formatting Information} manual by Peter Flynn, available at +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +\TL{} supports \MacOSX, but no prior Macintosh versions. (If you +are running an older Mac version, you can view the files by installing +the Joliet system extension available from +\url{http://www.tempel.org/joliet}; however, the \TL{} binaries +will not run.) + +Installation of \TeX{} under \MacOSX{} can be done in two ways: + +\begin{enumerate} +\item With the \filename{install*} scripts, as with Unix. +\item With the \cmdname{i-Installer} included in +\filename{MacOSX/II2.dmg}. +\end{enumerate} + +\noindent Each of these is described in a following section. + +In addition, \TeX{} under \MacOSX\ typically uses a ``frontend''. This +is also described below. + + +\subsection{\protect\cmdname{i-Installer}: Internet installation} +\label{sec:i-Installer} + +The \cmdname{i-Installer} is included in the \TL{} distribution as +an alternative to normal installation. It does not use the contents of +the \TL{} distribution at all; instead, the system (approximately +70 megabytes) is downloaded over the Internet. + +One advantage of \cmdname{i-Installer} is that it makes updates +relatively painless. If you are interested, please see the +\cmdname{i-Installer} \TeX{} home page at \url{http://www.rna.nl/tex.html}. + +To use it, mount \filename{./MacOSX/II2.dmg}. Read the documentation, +launch it, and install at least \texttt{TeX Foundation} and \texttt{TeX +Programs}. The first will finish without configuration, as soon as the +second is installed you will be presented with a graphical interface to +setting up your \TeX{} system. + +The \cmdname{i-Installer} distribution uses the \teTeX{} \dirname{texmf} +tree with some additions. Due to differences between \TL{} and +\teTeX{} you cannot update a \TL{} installation with an +\cmdname{i-Installer} \texttt{TeX Programs} i-Package. + + +\subsection{\protect\cmdname{install*.sh}: \protect\TL{} installation} + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + + +\subsection{\MacOSX{} frontends} + +Using \TeX{} on a Macintosh typically goes through a front end program, +comprising an execution shell, editor, previewer, and other facilities, +with a graphical interface. Here are the principal frontends: + +\begin{cmddescription} +\item [TeXShop] Included in \TL{} as \filename{./MacOSX/texshop.dmg}. + \\See \url{http://www.uoregon.edu/~koch/texshop/texshop.html}. + +\item [ITeXMac] Included in \TL{} as \filename{./MacOSX/iTM-*.dmg}. + \\See \url{http://itexmac.sourceforge.net}. + +\item [Mac-emacs] A port of Emacs to \MacOSX{}, integrating \pkgname{AucTeX}. + \\See \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. + +\end{cmddescription} + +The frontends use \dirname{/usr/local/teTeX} as the default location; +therefore, you must either install \TL{} there, or change the +configuration of the frontend. + + +\section{Windows installation} +\label{sec:win-install} + +Unfortunately, this release of \TL{} does not include a Windows +installer, due to technical difficulties. We hope that an installer +will be available again in a few months. (It is being completely +rewritten to use standard Microsoft libraries, instead of the homegrown +\filename{TeXSetup.exe}.) + +A set of experimental Windows binaries is included, nevertheless. You +can install them with the Unix \filename{install-tl.sh} script: select +the \optname{win32} system from the \optname{S} option of the top-level +menu. The \pkgname{XEmacs} package is not included, however, due to +space. + +(Meanwhile, if you are an experienced Windows programmer and would like +to help with the project, email us!) + + +\begin{comment} +\TL{} can be installed on systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +It is necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD{}s; simply look at the \CD{} +in Explorer and see whether it shows long, mixed-case, file names. If it +does not, you must install the Joliet extensions. + +The Windows \TeX{} system included in \TL{} is no more and no less +than the \fpTeX{} distribution. It includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 551 534]{pictures/Welcome-to-TeXLive.jpg} + \else + \includegraphics[width=.7\textwidth]{pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TL'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a dialog +box with a menu bar will popup on the screen, and you will have several +choices from there: + +\begin{itemize*} +\item Install \TeX{} on your hard disk +\item Do maintenance on your \TeX{} system. +\item Remove the \TeX{} system. +\item Use \TeX{} off the \TL{} \CD{} or \DVD{}. +\item Browse documentation: \TL{} documentation, TUG web + pages, \fpTeX web pages. +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize*} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection{Running \protect\TL{} directly from media (Windows)} + +\runlive + +To run live under Windows, from the menu, chose \verb|Explore CD-Rom|, then +\verb|Run TeX off CD-Rom|. This will launch the \cmdname{XEmacs} editor. + +XEmacs startup file will set the environment variables needed. XEmacs will also +setup a temporary \acro{TDS} compliant texmf tree in the temporary area of your +computer. It is needed to store files that may be built on the fly, such as +\path|pk| bitmap fonts, or format files. Configuration files are copied from +the \CD{} to this texmf tree, so that you can edit them if needed. The +\path|ls-R| database is computed for this texmf tree. The AUC-\TeX{} mode will +be entered Whenever you will visit or create a \TeX{} file, providing all the +bells and whistles for \TeX{} support XEmacs is capable of. + +If you run 'M-x shell' within XEmacs, then you will have access to all the TeXLive +tools from the command line provided by XEmacs. + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can also + use the small batch file \path|mkloctex.bat| to be called in a + directory \path|bin\win32| of the \CD. From the Start menu select + `Run', then browse the \acro{CD} drive and select + \path|mkloctex.bat|. Before starting it, you should add two parameters + separated by a space: the letter of your \acro{CD} drive and the + letter of the drive where you want to install the \TeX\ directory. + The whole line should read, e.g., \verb+d:\bin\win32\mkloctex.bat d c+. + When installation is complete, please read carefully the information + on screen. If you are running Windows 9x/\acro{ME}, then you will have to + restart Windows.} + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. +Many scripts are written using the Perl language. Some important tools require +the Ghostscript \PS{} interpreter to render or to convert files. A graphic +file toolbox is also needed in some cases. Last but not least, a \TeX-oriented +editor makes it easy to type in your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to make +your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} +Perl scripts +\item a subset of \cmdname{ImageMagick} 5.5.6 +\item the \cmdname{ISpell} checker +\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +\TeX{} typesetting. +\end{itemize*} + +These packages should be installed only all at once. The bundle is +known as the \XEmTeX{} bundle. + +If you didn't install \XEmTeX{}, \cmdname{Perl} and \cmdname{Ghostscript} are +installed anyway if they are not detected on your machine. This is because they are +required by many important tools. The \envname{PERL5LIB} and \verb|GS_LIB| +environment variables will be set too. + +When you are under +\cmdname{XEmacs}, the tools provided shadow any other version you might +have installed previously. The point here is that \path|TeXSetup.exe| +will not install anything outside of the \TL location, neither will +it run foreign installers, nor will it try to autodetect installed +products using unreliable rules of thumb. The \XEmTeX{} bundle is +standalone and is meant to evolve in the future. The reference site is +\url{http://www.fptex.org/xemtex/}. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, the + reference url is + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, the + reference url is \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, the reference url is \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item TeXnicCenter is available from\\ + \url{http://www.toolscenter.org} + \item \cmdname{Vim} is available on \TL{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +\textbf{Warning: Win9x users must ensure they have enough environment + space before undertaking installation. The \cmdname{TeXSetup.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=<path>COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size.} + +Installation is started by letting the media autostart. The program run +is \path|TeXSetup.exe| if you are using the inst disk. If you are using +the live or the demo disk, you will have to select the item +\path|TeXLive Software| from the menu, then the subitem \path|Install on +Hard Disk|. This will invoke \path|TeXSetup.exe|. You can also find it +in the \path|bin/win32| directory and run it, if the autostart fails for +any reason. \path|TeXSetup.exe| is a Windows wizard and it will display +several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + here. In this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). If you have enough privileges (administrator or power user + rights) under a Windows version where this is applicable, then you can + decide to install the \TL{} for all users or for yourself only by + checking the appropriate box. + For installing the whole \XEmTeX{} bundle (XEmacs, Ghost\-script, + Perl, ImageMagick and Ispell) you can check \emph{Install XEmTeX + Support} box. + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TL{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/setup-wizard.jpg} +\includegraphics[bb=0 0 506 403]{pictures/source-for-texlive.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{pictures/source-for-texlive} + \fi + \fi + \caption{The \TL{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TL{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + +Why do we need both these directories? The files consisting of the +\TL{} system are on the \CD{}, of course, but some other useful +packages are not, either because of space lacking or because their +license was not compatible with \TL{}. You need to enable Internet +downloading if you want to install these packages that are marked with a +specific ``remote'' icon. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} (for example), but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing from the demo \CD{} or the \fpTeX{} distribution), + \item the Internet; in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/root-of-installation.jpg} +\includegraphics[bb=0 0 506 403]{pictures/scheme-selection.jpg} + \else + \includegraphics[width=.46\textwidth]{pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{pictures/scheme-selection} + \fi + \fi + \caption{\TL-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{tex-xemtex} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript (the \PS{} + interpreter), XEmacs editor preconfigured for \TeX{}, tools like Perl, + ImageMagick, Ispell. \emph{None of these packages are selected by + default}. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still possible to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{pictures/package-selection.jpg}\hfill% +\includegraphics[bb=0 0 506 403]{pictures/win32-support.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TL{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{pictures/review-settings.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{pictures/file-copy.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{pictures/configuration.jpg}\hfill% + \includegraphics[bb=0 0 506 403]{pictures/congratulations.jpg} + \else + \includegraphics[width=.48\textwidth]{pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to four times the +amount of space used on the \CD. + +\end{comment} + + +\section{Windows maintenance and post-installation} + +Although this version of \TL{} cannot be installed on Windows, enough of +this section is relevant to existing installations or cross-mounted +installations that it seemed worth leaving in. + +It will be thoroughly updated when a complete \TL{} Windows distribution +is released. For now, please ignore references to +\filename{TeXSetup.exe}, etc. + + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TL{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files.}. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behavior: + \begin{itemize} + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \guiseq{TeXLive} menu (or go to +\guiseq{Start\arw Programs \arw TeXLive \arw Add TeX package} menu) to +run \file{TeXSetup.exe} in maintenance mode. The steps are almost the +same as in the initial installation. + +We'll discuss differences below, but first, whatever changes you make, +\textbf{do not forget to rebuild the ls-R database files}. Otherwise, +your new files will not be found. You can do this either via the +\acro{GUI} (\guiseq{Start \arw Programs \arw TeXLive \arw Maintenance +\arw Rebuild ls-R}), or manually running the \file{mktexlsr} command. + +The main difference is in the packages selection page. In maintenance +mode, the list of installed packages is compared to the list of packages +available from your source directories. Packages that are not installed +will be displayed in green, out of date packages will be displayed in +red and up-to-date, installed packages are displayed in black. + +This way, you can choose to add or upgrade components, either from +\TL{} or from the Internet, where you are likely to find some more +recent version of your packages. + +It is up to you to select which packages you want to install. The rest +of the process is similar to the first installation. + +If you want to add files that are not provided by the \TL{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\Program +Files\TeXLive\texmf-local\doc\latex\maple\| + +\subsection{Uninstalling \protect\TL{}} + +The uninstall procedure is available either from the \file{TeXLive.exe} +program, from the \path|TeXLive| menu or from the control panel +(\guiseq{Start \arw Control Panel, Add/Remove Programs}). This procedure +will cleanup your hard disk of most of the \TL{} files. However, +\TeX{} is a system that is creating files and there is no mechanism to +keep track of all of them. Moreover, Win32 support packages have their +own uninstall procedure, which you will have to run separately (provided +you want to get rid of them). Last, the files you may have stored in +\path|$TEXMFLOCAL| won't be removed. So, even if the vast majority of +files are automatically removed by the uninstall procedure, you will +have to do some manual cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other useful +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--with-xemtex|] selects the \XEmTeX{} bundle; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory <url>|] this is the base url for the remote packages; +\item[\path|--local-source-directory <dir>|] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory <dir>|] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TL+; +\item[\path|--texmfmain-directory <dir>|] +\item[\path|--texmflocal-directory <dir>|] +\item[\path|--texmfextra-directory <dir>|] +\item[\path|--texmfhome-directory <dir>|] +\item[\path|--vartexmf-directory <dir>|] +\item[\path|--vartexfonts-directory <dir>|] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder <folder>|] the name of the folder under + which you will find the menus; +\item[\path|--add-package <pkg>|] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme <pkg>|] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed. This option is still a bit crude in this release; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal configurations} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\Program Files\TeXLive\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no longer included in +\TL{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it with \guiseq{Start\arw Programs\arw TeXLive\arw DVI Viewer}. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All configuration settings for \cmdname{Windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{Windvi}, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, it will create fonts because +screen fonts were not installed. After a while, you will have created most +of the fonts you use, and you will rarely see the font-creation window. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TL\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do that. But +the trick will work for any console.}. For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{TeXSetup.exe} program? You can find this by searching for the +string \samp{Error}. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\item Check the web pages at +\url{http://www.fptex.org/}, or consider subscribing to the \fpTeX{} +mailing list, via \url{http://tug.org/mailman/listinfo/fptex}. + +\end{enumerate} + + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + + +\subsection{Compiling the source files} + +The whole set of source files is available in the distribution as the +\path|source/source.tar.bz2| archive, together with a separate source +archive for Windows. To be able to compile the whole distribution for +Windows, you will need: + +\begin{itemize*} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net 2003 +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item to adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|mswin32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\mswin32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize*} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information} + +The Windows \TeX{} system included on \TL{} is also known as +\fpTeX. The packaging differs, but \fpTeX{} is no more no less than the +current \TL\ release for Windows. + +The \fpTeX{} home page is \url{http://www.fptex.org}. + +The current \fpTeX release is available from any \CTAN site in +\url{htp://www.ctan.org/tex-archive/systems/win32/fptex}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} +from where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by all \CTAN{} sites at +\path|systems/win32/fptex|. + +The \TeX{} Users Group is kindly hosting a mailing list dedicated to +\fpTeX. It is used for announcements, bug reports, enhancement requests, +and general discussion about \fpTeX. To subscribe, visit +\url{http://tug.org/mailman/listinfo/fptex}. The mailing list +address is \email{fptex@tug.org}. + + +% don't use \Webc so the \uppercase in the headline works. +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \acro{GNU} options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +configuration files to optimize searching the (huge) collection of +\TeX{} files. \Webc{} can look at more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two distinct trees. To speed up +file searches the root of each tree has a file \file{ls-R}, containing +an entry showing the name and relative pathname for all files under that +root. + +\subsection{Kpathsea path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{Filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU} \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + found in the first column of table~\ref{tab:kpathsea}, which lists + currently recognized names, a description, possible file extensions, + and associated environment variables. +\end{ttdescription} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types.}\label{tab:kpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps}} + {TEXCONFIG} + {} +\KpathKey + {enc} + {34} + {Font encoding files} + {ENCFONTS} + {.enc} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated \PS{} figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pdftex config} + {18} + {\textsf{pdftex} configuration files} + {PDFTEXCONFIG} + {} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\var{program}FONTS \textrm{(\texttt{\var{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {\PS{} header} + {30} + {downloadable \PS{}} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {texmfscripts} + {20} + {Scripts distributed in the \file{texmf} tree} + {TEXMFSCRIPTS} + {} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {Type~1 fonts} + {32} + {Type 1 \PS{} outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 \PS{} outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + + The last two entries in table~\ref{tab:kpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + The \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. + +\begin{ttdescription} + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\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} + +That last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\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} + +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{SExamplesofuse} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \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 +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. + etc.). +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \acro{GNU} style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. + + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors are listed below. + +\begin{itemize*} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware for the \TL{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} officers Volker Schaa +and Klaus Hoeppner coordinated production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we used +to manage the \TL{} sources. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Fabrice Popineau, for the Windows side of \TL{} and devising the +new directory layout. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, and +coordinator of the Polish contributions. + +\item Olaf Weber, for his patient assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Manfred Lotz (\pkgname{i386-freebsd}), +Maksym Polyakov (\pkgname{sparc-solaris}), +Fabrice Popineau (\pkgname{win32}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix} and \pkgname{sparc64-linux}), +Staszek Wawrykiewicz (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +Of course the most important acknowledgement must go to Donald Knuth, first +for inventing \TeX, and then for giving it to the world. + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + +\subsection{Present} +\label{tlcurrent} + +2004 saw the usual huge number of updates to packages and programs. +Here are the most notable changes, including one important backward +incompatibility: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:struct-tl} (\p.\pageref{sec:struct-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{multicols} +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2005.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2005.tex new file mode 100644 index 00000000000..5b525535c63 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2005.tex @@ -0,0 +1,3174 @@ +% $Id: live.tex 1513 2006-02-13 00:22:35Z karl $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TK{} 2005}} +} + +\author{Sebastian Rahtz \& Karl Berry, editors \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{October 2005} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and friends for \acro{GNU}/Linux and other Unix +flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is not +especially useful for older Mac or \acro{MS-DOS} systems.) + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, +\BibTeX{} and many other programs; an extensive collection of macros, +fonts and documentation; and support for typesetting in many different +scripts from around the world. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}). Both are cooperative efforts by the \TeX\ +user groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + + +\subsection{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \pkgname{live} \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, and gives you immediate access to +everything in \TL{}. Of course performance will be worse than running +on local disk, but you may well find it useful. + +\item You can install all or part of \TL{} to a local disk, from either +the \DVD\ or the \pkgname{inst} \acro{CD}. This is the most common use +of \TL. You will need (approximately) 100 megabytes for the most +minimal system, and upwards of 1.3 gigabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}. + +\item The single package installation script is \texttt{install-pkg.sh}. + +\item The installation program for Windows is \texttt{tlpmgui.exe}. +It can be used also for adding or removing the packages. +See section~\ref{sec:win-install} below for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +serious questions end up getting answered. However, the support is +informal, done by volunteers and casual readers, so it's especially +important that you do your homework before asking. (If you prefer +guaranteed commercial support, you can forego \TL{} completely and +purchase a vendor's system; \url{http://tug.org/interest.html#vendors} +has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium of +answers to all sorts of questions, from the most basic to the most +arcane. It is included on \TL{} in \OnCD{texmf-doc/doc/english/FAQ-en}, and is +available on the Internet through \url{http://www.tex.ac.uk/faq}. +Please check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry on asking questions in such a +way that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, you are better off writing to that program's maintainer or +mailing list. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. Welcome to +\TeX{}! + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, the \pkgname{protext} +distribution for Windows and the Mac\TeX\ distribution for \MacOSX, entirely +independent of \TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +\CTAN{}, \pkgname{protext}, Mac\TeX, and \texttt{texmf-extra} do not follow +the same copying conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Installation is described in subsequent sections. + +\item [protext] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute, at its own +discretion. (\acro{TUG} is sending all three discs above to all of its +members.) + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texlive2005}, not at the top +level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. + (\texttt{TEXMFMAIN} in the next section.) \\ +texmf-dist & The main tree of formats and packages. + (\texttt{TEXMFDIST} in the next section.) \\ +texmf-doc & Tree for self-contained pure documentation, arranged by + language. \\ +texmf-var & Tree for files automatically generated and stored. + (\texttt{TEXMFSYSVAR} in the next section.) \\ +xemtex & Tree for supporting programs used only in Windows. + These programs generally come pre-installed on Unix systems, or are + at least easy to compile. \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying texmf trees used +by the system, and their intended purpose. The command \texttt{texconfig +conf} shows you the values of these variables, so that you can easily +find out how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+), pool files and + other support files. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable depends on \verb+$HOME+ by default, % $ + which dynamically adjusts for each user to an individual + directory. +\item [TEXMFCONFIG] The tree used by te\TeX's utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSCONFIG] The tree used by te\TeX's utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+ to store (cached) runtime + data such as format files and generated map files. +\end{ttdescription} + +For more discussion of \texttt{texconfig} and related utilities, please +see section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] writes Acrobat \acro{PDF} format as well as \dvi{}. The +\LaTeX{} \pkgname{hyperref} package has an option `\optname{pdftex}' +which turns on all the program features. See +\OnCD{texmf/doc/pdftex/manual/} for the manual, and +\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [pdfe\TeX] combines the pdf\TeX\ and \eTeX\ extensions. This is +the default program for all formats except plain \TeX. +See above for documentation. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the discs on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Modern systems should be able to use the discs without +problems. If troubles, let us know. The discussion below assumes you +have been able to mount the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD{}s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\def\installtlsh{ +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets shown. Either uppercase or lowercase is ok; we'll use +lowercase in our examples. +} + +\runlive +\startinst +\installtlsh + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. + +We'll use \dirname{/opt/texlive2005} in this example. It's good to +include the year in the name, as these generated files are not +compatible from release to release. (If the default value of +\dirname{/usr/local/texlive/2005} works for you, then you can skip this +step.) + +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2005 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/TeX]: \Ucom{/opt/texlive2005} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{TEXMFSYSVAR}, to the value specified above. +See table~\ref{tab:archlist} for a list of the architecture names for +the different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} or +\cmdname{texconfig-sys} to customize your installation to your needs. +This is explained in section~\ref{sec:texconfig}, +\p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ +i386-darwin & Intel x86 \MacOSX \\ +i386-freebsd & Intel x86 FreeBSD \\ +i386-linux & Intel x86 GNU/Linux \\ +%i386-openbsd3.3 & Intel x86 OpenBSD \\ +%i386-solaris2.8 & Intel x86 Solaris \\ +mips-irix & SGI IRIX \\ +powerpc-aix & IBM RS/6000 AIX \\ +powerpc-darwin & PowerPC \MacOSX \\ +sparc-linux & Sun Sparc GNU/Linux \\ +sparc-solaris & Sun Sparc Solaris \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & Intel x86 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2005/texmf-var; export TEXMFVAR +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2005/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TL{} distribution to +hard disk. This can be done from either the \pkgname{live} or +\pkgname{inst} distributions. (See section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}, for an explanation of the different +distributions.) + +\startinst +\installtlsh + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is usually +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or omit installing the current platform). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall set of package collections, called a ``scheme''. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a minimal system, or +\optname{medium} to get something in between. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the scheme's set of collections to install. Collections are +one level more detailed than schemes\Dash collections consist of one or +more packages, where packages (the lowest level grouping in \TL) contain +the actual \TeX\ macro files, font families, and so on. In this menu, +selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the collection set in the chosen +scheme. In this case, the collections are specifically for different +languages. Selection letters are case-sensitive here too. Here is a +list of the language collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hebrew \> +Hungarian \> +Indic \\ +Italian \> +Latin \> +Manju \> +Mongolian \\ +Norwegian \> +Polish \> +Portuguese \> +Spanish \\ +Swedish \> +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/local/texlive/2005}, and is often changed. We recommend +including the year in the name, to keep different releases of \TL{} +separate. (You may wish to make a version-independent name such +\dirname{/usr/local/texlive} via a symbolic link, which you can then +update after testing the new release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +the initial installation, but rather as time goes by) puts +non-version-specific files, primarily fonts. The default value is +\dirname{/usr/local/texlive/texmf-local}, independent of the current +\TL{} release, because it's also the recommended location to put any +local packages or configuration settings. + +\item [TEXMFSYSVAR] This tree is where \cmdname{texconfig-sys} puts +files that \emph{are} version-specific. The default value is +\dirname{TEXDIR/texmf-var}, and there's generally no reason to change +it. There is also \envname{TEXMFSYSCONFIG}, which is where +\cmdname{texconfig} looks for modified configuration data. See +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig} for more +information. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{TEXMFVAR} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended primarily for creating the links +in standard directories that are known to users, such as +\dirname{/usr/local/bin}, which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no TEXMFSYSVAR, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/usr/local/texlive/2005/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /usr/local/texlive/2005/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a minimal annotated example which accepts the default +directories and installs binaries for the current system only. Thus, +only one command is needed, \Ucom{i} for install. The \texttt{>} is the +shell prompt as usual. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # perform installation +> \Ucom{texconfig} ... # see section \ref{sec:texconfig} +# New PATH element, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive/2005/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\textifindoubt + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{TEXMFSYSVAR} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for +installation information for fonts in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (\TL{} is configured for the A4 paper size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig rehash] Update all the \TeX{} ``filename databases'', +after adding or removing files. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + +As of 2005, \cmdname{texconfig} alters files in a user-specific +directory, namely \dirname{$HOME/.texlive2005}. If you install \TeX\ +just for yourself, that is unlikely to make a difference. But if you +install \TeX\ on a multi-user system, you will want to change the +configuration for the whole system. In this case, run +\cmdname{texconfig-sys} instead of \cmdname{texconfig}. + +Likewise, the \cmdname{updmap} and \cmdname{fmtutil} scripts were +changed, to work under \dirname{$HOME/.texlive2005}. To alter system +directories, use \cmdname{updmap-sys} and \cmdname{fmtutil-sys}. + +In particular, for multi-user systems, you will probably want to +pregenerate the standard formats with \texttt{fmtutil-sys --missing}. +Otherwise, each user will end up with their own formats. + +Also, if you have a personally-modified copy of \filename{fmtutil.cnf} +or \filename{updmap.cfg}, instead of using the ones generated by +installation, they must be installed in the tree referenced by the +variable \envname{TEXMFSYSCONFIG}. + +The variables specifying the directories altered by these commands are +listed in section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. +You can see the actual directories by running \texttt{texconfig conf}, +and you can change them by editing \filename{texmf.cnf}. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \cmdname{windvi}.) 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 Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://www.gnu.org/software/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +The recommended way to install \TeX\ on \MacOSX\ is from the Mac\TeX\ +distribution, new in 2005. This is provided on the \pkgname{live} +\DVD{} in the top-level \dirname{mactex/} directory. It contains its +own (native) installer for a full \TeX\ distribution, based on a +combination of te\TeX\ and \TL, along with many additional applications +and documentation. The project web page is \url{http://tug.org/mactex}. + +If you prefer, installation of \TeX{} under \MacOSX{} can also be done +directly from \TL, using the \filename{install*} scripts, as follows. + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + +\section{Windows installation} +\label{sec:win-install} + +In this release of \TL{}, happily, the distribution once +again has a native Windows installer, named \cmdname{tlpmgui.exe}. (See +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, for an +explanation of the different distributions.) + +\cmdname{tlpmgui} has essentially the same options as the Unix +installer, only done through a GUI interface: selecting schemes, +individual collections, installation directories, and so on. +Section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk} describes the basic elements. It +also allows some post-installation activities such as adding/removing +packages, updating the filename database and building formats. +Moreover, \cmdname{tlpmgui} can setup the system for running +programs directly from the \DVD. + +For those who like to look underneath the hood, \cmdname{tlpmgui} uses +as its ``engine'' a command-line Windows program named \cmdname{tlpm}. + +The Windows \TeX{} system included in \TL{} is based on new binaries +borrowed from the \XEmTeX{} project, formerly known as \fpTeX{} (see +\url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). +It also includes some older (but still working) tools, notably +a \texttt{dvi} previewer, \textsf{Windvi}, which is similar in usage to +the established Unix \textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\TL{} can be installed on systems running Windows 98, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +\textbf{Warning:} Win9.x users must ensure they have enough environment + space before undertaking installation. The \cmdname{tlpmgui.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=<path>COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +After inserting the \TL{} CD into the \acro{CD} drive, autostart should +activate \cmdname{tlpmgui}. If it does not, click \guiseq{Start\arw Run}, +then type \verb|<drive letter>:\setup-win32\tplmgui.exe| (or +\verb|<drive letter>:\texlive\setup-win32\tplmgui.exe| if you are +installing from the TeX Collection DVD), where \verb|<drive letter>| +is the drive letter with the TeX Live CD (or TeX Collection DVD), and +then click OK. + +The installation window titled \guiseq{TeX Live installation and maintenance +utility} should open. It contains the following sections: \guiseq{Main +customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select +systems}, \guiseq{Directories} and \guiseq{Options}. + +In the \guiseq{Directories} section the installation drive (directory) next +to the \guiseq{CD/DVD} button should be displayed (e.g., \texttt{F:/} or \texttt{F:/texlive/} for the DVD), but +if it is not, then click the \guiseq{CD/DVD} button and select the \acro{CD/DVD} +drive, with the \TL{} CD (or TeX Collection DVD). + +The directory in which you wish to install the software can be set by +clicking the \guiseq{TLroot} button. This directory will be set as +\path|TLroot| environment variable for later usage. The \path|TEXMFTEMP| and +\path|TEXMFCNF| environment variables as displayed next to the +\guiseq{TEXMFTEMP} and \guiseq{TEXMFCNF} buttons will be adjusted +automatically and set during installation, but they can also be adjusted +manually now to suit special needs. + +In the \guiseq{Select a scheme} section the desired \TL{} installation scheme +should be chosen by clicking the radio button labelled with the installation +scheme name (e.g., \guiseq{scheme-gust}). Each scheme is accompanied by an +\guiseq{Info} button which, when clicked, displays a short description of the +relevant scheme. + +A scheme is a large set of files targeted at some kind of usage. There are +generic schemes for basic, medium and full installations. The remaining ones +are either targeted at certain LUGs (i.e., what GUST or GUTenberg propose +for their members) or application targeted (e.g., for XML and \TeX{} +cooperation). A preselected scheme can be refined. This is done in the +\guiseq{Main customization} section by choosing additional collections from +\guiseq{Standard collections} or \guiseq{Language collections}. For example, +by clicking the \guiseq{Select} button labelled \guiseq{Standard +collections}, additional collections like Metapost, Omega or documentation +in different languages can be selected. + +\textbf{Note:} The \guiseq{Ghostscript}, \guiseq{Perl} and \guiseq{Wintools} +collections are selected by default and should be installed unless they are +already installed and you really know what you are doing. This is because +they are required by many important tools. The \verb|PERL5LIB| and +\verb|GS_LIB| environment variables will be set too. + +Next, clicking the \guiseq{Select} button labelled \guiseq{Language +Collections} in the \guiseq{Main customization} section opens the +\guiseq{Language collections} window in which the installation language can +be chosen by ticking the box next to the language. + +Next, click the \guiseq{Install} button in the \guiseq{Install} section to +start the installation proper process. + +The \TL{} system needs some post-processing steps (format files +generation, ls-R databases generation, environment variables, etc.). All +these operations are done there, some of them can be lengthy. So please wait +until you see a statement about the successfully finished installation. + +The shortcut for \cmdname{tlpmgui} will be added to the +\guiseq{Start\arw Programs\arw TeXLive2005} menu. + +If it is needed (Win9x/WinME), you will be asked to reboot your computer. + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. Many scripts are written using the Perl +language. Some important tools require the Ghostscript \PS{} interpreter to +render or to convert files. A graphic file toolbox is also needed in some +cases. Last but not least, a \TeX-oriented editor makes it easy to type in +your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to +make your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item GNU \cmdname{Ghostscript} 7.07 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} + Perl scripts. +\item win-tools is a set of small programs (bzip2, gzip, jpeg2ps + and tiff2png) +%\item a subset of \cmdname{ImageMagick} 5.5.6 +%\item the \cmdname{ISpell} checker +%\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +%\TeX{} typesetting. +\end{itemize*} + +These packages are borrowed from the \XEmTeX{} distribution +(the successor of fp\TeX). + +Perl and Ghostscript are installed by default; you may explicitly +deselect them during installation if you already have them. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} is available natively under Windows, see + \url{http://www.xemacs.org/} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, see \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item \cmdname{Vim} is available on \TL{} in the + \path|support\vim| directory and the + reference site is \url{http://www.vim.org} + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the proTeXt distribution. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\section{Maintenance of the installation in Windows} + +If you have TeX Live installed, you can use \cmdname{tlpmgui} again +for modyfying and maintaining your installation. + +\subsection{Adding/removing packages} + +As the \cmdname{tlpmgui} shortcut is available in the \guiseq{Start\arw +Programs\arw TeXLive2005} menu, start it from here. The maintenance window +titled \guiseq{TeX Live installation and maintenance utility} shows. It +contains several tabs: \guiseq{Add Packages}, \guiseq{Remove packages}, +\guiseq{Manage installation}, \guiseq{Remove installation}. + +Click the tab labelled \guiseq{Add packages} or \guiseq{Remove packages} +to enter the relevant functionality and then: + +\begin{itemize} +\item In the first tab select the proper \CD{} drive (or \DVD with + \texttt{texlive} directory) by pressing the \guiseq{CD/DVD} button. +\item Click the \guiseq{Search} button in the \guiseq{Buttons} section to +display or refresh in the \guiseq{Select packages to\dots} section the +list of packages to install or remove. + +When adding packages, the list of installed packages is compared to the list +of packages available from your \CD/\DVD. Only packages not already installed are +displayed. It is up to you to select which packages you want to +install. + +When removing individual packages, only a list of installed packages +will be displayed. + +Please note that for both \guiseq{Add packages} and \guiseq{Remove packages} +the collections are listed first. + +\item Select a package by clicking on the name of the package. Clicking the +\guiseq{Info} button in the \guiseq{Buttons} section displays a short +description of the selected package in the window located in the \guiseq{Info +about the selected item} section. To select several packages at once hold +down one of the Ctrl or Shift keys at your keyboard while holding down the +left mouse button or drag the mouse pointer while holding down the left mouse +button. + +\item Click the \guiseq{Install} or \guiseq{Remove} button in the +\guiseq{Buttons} section to perform the appropriate action. +\end{itemize} + +\subsection{Configuring and other management tasks} + +The functions available in the tab labelled \guiseq{Manage the installation} +are helpful in performing actions needed when you want to add support for a +language which was not selected during the installation, or add/regenerate a +format which was not selected during the installation or was modified after +the installation. + +The following actions can be performed: + +\begin{itemize} +\item Refresh the \filename{ls-R} database +\item Create formats (All or Missing) +\item Edit \filename{language.dat} +\item Edit \filename{fmtutil.cnf} +\item Edit \filename{updmap.cfg} +\end{itemize} + +Note: you can close the Edit\dots{} window with the \guiseq{Cancel} or +\guiseq{Done} button; the latter will start rebuilding the format files +(or the fontmap files if you have edited \filename{updmap.cfg}), followed by a +\filename{ls-R} database files refresh. + +For more information about the configuration see section~\ref{sec:persconf}, +\p.\pageref{sec:persconf}. + +\subsection{Uninstalling \protect\TL{}} + +The tab labelled \guiseq{Remove the TeX Live installation} opens a window +which contains functionality not worth describing and we do not know who would +need it and what it is for\dots :-) + +Anyway, if you have the \path|texmf-local| directory for your local additions, +the removal procedure will not wipe it out or delete things in it. The \path|setup-win32| +directory containing \cmdname{tlpmgui} and related files will not be deleted. You will have to do some manual cleanup to +actually remove them. + +\subsection{Adding your own packages to the installation} + +First, whatever changes you make, \textbf{do not forget to rebuild the ls-R +database files}. Otherwise, your new files will not be found. You can do this +either via the \cmdname{tlpmgui} run and selection of the appropriate action +from the \guiseq{Manage the installation} tab, or manually running the +\file{mktexlsr} command. + +If you want to add files that are not provided by the \TL{} distribution, +it is recommended to put them in the \path|$TEXMFLOCAL| directory. This +way, you will be safe against upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\TeXLive2005\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\TeXLive2005\texmf-local\doc\latex\maple\| + +\subsection{Running \texttt{tlmp.exe} from the command line} +The \cmdname{tlpm.exe} program which is used as engine by \cmdname{tlpmgui} +has a number of other useful options. You can get the list by running: +\begin{verbatim} +tlpm --help +\end{verbatim} + +More information and examples of use can be found in \path|tlpm.readme|. + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the OS and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$TEXMFVAR| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\KPS{}] The hash-tables that \KPS{} builds are quite large for + the \TL{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the subprograms is + reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files). It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have a few more options than in Unix + \Webc{}, and one option with a different behavior: + \begin{itemize} + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. +\item \path|-oem| use the DOS codepage for console output. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Personal configurations} +\label{sec:persconf} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\TeXLive2005\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making +always up-to-date fontmaps files for Dvips and Pdftex. This is done by +the \cmdname{updmap} program during installation, as well as during any +font package addition. If you add new packages by hand, edit the file +\verb+updmap.cfg+ in \path|$TEXMFVAR/web2c|. + +\subsubsection{PdfTeX} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\TeXLive2005\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries +should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no +longer included in \TL{}. + +If you may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{tlpmgui.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}, but it doesn't make an icon +on the desktop, so please do it yourself. + +Open \cmdname{windvi} by clicking an icon or from the command line. + +You can set it for US letter-size paper by going to \guiseq{View\arw +Options\arw Papertype} and selecting US (8.5\verb+"+ x 11\verb+"+) (and +then \optname{OK}. Exit \cmdname{windvi}. + +You can change other parameters from there as well, such as the ability +to execute system commands specified by the document (disabled by +default for security reasons). Also, the first time you view any .dvi +file, you may find the magnification too large. Zoom out until you get +an appropriate size. + +All configuration settings for \cmdname{windvi} are stored in a file +named \path|windvi.cnf| file. You can find it by running this command at +the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with \cmdname{windvi}, please remove the +configuration file and test your problem against a vanilla configuration. + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\TeXLive2005\texmf-dist\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (Windvi) icon (WinShell). + +At first, when you preview files with Windvi, it will create fonts because +screen fonts were not installed. After a while, you will have created most +of the fonts you use, and you will rarely see the font-creation window. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from Windvi. In this case, printing will be done +using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set (subsection~\ref{sub:windvi}), else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments. They are the latest\Dash and hopefully + last\Dash metamorphosis of \acro{DOS}. This can be more or less proven + by the fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (\acro{DOS}) version and it will answer something + like \samp{MS-DOS 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question. The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the progrm name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2005\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\TeXLive2005\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +18/09/2005 14:19 3 584 latex.exe +18/09/2005 14:19 3 584 pdfetex.exe +18/09/2005 14:19 524 288 tl90pdfetex.dll +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|pdfetex.exe| using the same core \path|tl90pdfetex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs +which are linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|irun.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, \cmdname{kpsewhich} outputs debug information +to stderr, and the older Windows consoles do not know how to redirect stderr +to a file. (NT and Windows 2000 consoles know how to do that. But +the trick will work for any console.) For diagnostic purposes you can +temporarily set an environment variable (in a \acro{DOS} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible +Windows, then do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/TeX|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/TeX/texmf-var/web2c;| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/TeX/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/TeX/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/TeXLive2005/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{tlmpgui.exe} program? +\file{tlmpgui.log} can be found in your +\file{TEMP} directory. You can find this by searching for the +string \samp{Error}. Hint: the log file can show some errors after +building all format files. Please do not panic: perhaps some formats +weren't already installed. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\end{enumerate} + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + +% don't use \Webc so the \uppercase in the headline works. +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \acro{GNU} options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +configuration files to optimize searching the (huge) collection of +\TeX{} files. \Webc{} can look at more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two distinct trees. To speed up +file searches the root of each tree has a file \file{ls-R}, containing +an entry showing the name and relative pathname for all files under that +root. + +\subsection{Kpathsea path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(appproximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{Filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU} \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\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} + +That last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\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} + +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{SExamplesofuse} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \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 +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. + etc.). +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \acro{GNU} style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors are listed below. + +\begin{itemize*} + +\item The German-speaking \TeX{} Users (\acro{DANTE} e.V.), who provide +the hardware for the \TL{} source repository; and Rainer Sch\"opf and +Reinhard Zierke who look after it. \acro{DANTE} officers Volker Schaa +and Klaus H\"oppner coordinate production with the Lehmann's Bookstore +(\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}), for providing +a free copy of their excellent change management system, which we use +to manage the \TL{} sources. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Petr Olsak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Fabrice Popineau, for the Windows binaries in \TL{}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Manfred Lotz (\pkgname{i386-freebsd}), +Fabrice Popineau (\pkgname{win32}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, + \pkgname{sparc-solaris}), +Staszek Wawrykiewicz (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +Of course the most important acknowledgement must go to Donald Knuth, first +for inventing \TeX, and then for giving it to the world. + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:struct-tl} (\p.\pageref{sec:struct-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsection{Present} +\label{tlcurrent} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + See section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for DVI output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions yearly, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +Sebastian Rahtz \ / \ 7 Stratfield Road \ / \ Oxford OX2 7BG \ / \ UK \\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2007.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2007.tex new file mode 100644 index 00000000000..8232db8becf --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2007.tex @@ -0,0 +1,3264 @@ +% $Id: live.tex 3938 2007-02-06 01:49:45Z karl $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\begin{document} + +\title{% + {\huge \textit{The \protect\TL{} Guide}\\\strut} + {\LARGE \textsf{\TL{} 2007}} +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{January 2007} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and friends for \acro{GNU}/Linux and other Unix +flavors, \MacOSX, and (32-bit) Windows systems. (Warning: it is not +especially useful for older Mac or \acro{MS-DOS} systems.) + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, +\BibTeX{} and many other programs; an extensive collection of macros, +fonts and documentation; and support for typesetting in many different +scripts from around the world. It is part of the even larger \TK{} +(briefly described below in section~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}). Both are cooperative efforts by the \TeX\ +user groups. + +For newer versions of the packages included here, please check +\acro{CTAN}: \url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + + +\subsection{Basic usage of \protect\TL{}} +\label{sec:basic} + +You can use \TL{} in three principal ways: + +\begin{enumerate} + +\item You can run \TL{} directly from the \pkgname{live} \DVD +(see section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). +This takes almost no disk space, and gives you immediate access to +everything in \TL{}. Of course performance will be worse than running +on local disk, but you may well find it useful. + +\item You can install all or part of \TL{} to a local disk, from either +the \DVD\ or the \pkgname{inst} \acro{CD}. This is the most common use +of \TL. You will need (approximately) 100 megabytes for the most +minimal system, and upwards of 1.3 gigabytes for a full system. + +\item You can integrate a particular package or collection into your +existing \TeX{} system, either a \TL{} system you installed +earlier, or a different system. + +\end{enumerate} + +\noindent All of these are described in detail in the \acro{OS}-specific +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The main installation script for Unix and \MacOSX{} is +\texttt{install-tl.sh}. +GNU/Linux users can also try a new GUI installation program: +run \texttt{setuptl/tlpmgui}. More information +can be found in section \ref{sec:win-install} on +p.~\pageref{sec:win-install}. + +\item The single package installation script is \texttt{install-pkg.sh}. +(After installation on Linux with \texttt{tlpmgui}, you can also try +running \texttt{tlpmgui} again to add or remove individual packages or +collections.) + +\item The installation program for Windows is \texttt{tlpmgui.exe}. +It can be used also for adding or removing the packages. +See section~\ref{sec:win-install} below for more information. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and virtually all +serious questions end up getting answered. However, the support is +informal, done by volunteers and casual readers, so it's especially +important that you do your homework before asking. (If you prefer +guaranteed commercial support, you can forego \TL{} completely and +purchase a vendor's system; \url{http://tug.org/interest.html#vendors} +has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium of +answers to all sorts of questions, from the most basic to the most +arcane. It is included on \TL{} in \OnCD{texmf-doc/doc/english/FAQ-en}, and is +available on the Internet through \url{http://www.tex.ac.uk/faq}. +Please check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\OnCD{texmf-doc/doc/english/catalogue}, or +\url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/groups?group=comp.text.tex} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry on asking questions in such a +way that you're most likely to get an answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, you are better off writing to that program's maintainer or +mailing list. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. Welcome to +\TeX{}! + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Structure of \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +This section describes the structure and contents of \TL{} and the +\TK{} of which it is a part. + +\subsection{Multiple distributions: \protect\pkgname{live}, + \protect\pkgname{inst}, + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Space limitations of \acro{CD-ROM} format have forced us to divide +\TK{} into several distributions, as follows. + +\begin{description} + +\item [live] A complete system on \acro{DVD}; it is too large +for \acro{CD}. It can be run live or installed to disk. It also +includes a snapshot of the \CTAN{} repository, the \pkgname{protext} +distribution for Windows and the Mac\TeX\ distribution for \MacOSX, entirely +independent of \TL{}, as well as assorted other packages in a +\texttt{texmf-extra} directory. + +\CTAN{}, \pkgname{protext}, Mac\TeX, and \texttt{texmf-extra} do not follow +the same copying conditions as \TL{}, so be careful when redistributing or +modifying. + +\item [inst(allable)] A complete system on \CD; in order to make this fit, +the packages and programs are compressed. Therefore, it is not possible +to run \TeX\ directly from the installable \CD, you have to install it +to disk (hence its name). Installation is described in subsequent sections. + +\item [protext] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. It can be run live, or installed to disk. +The \ProTeXt\ home page is \url{http://tug.org/protext}. + +\ProTeXt\ is provided as both the top level of the \pkgname{live} \DVD\ +and on its own \CD\ (for those who cannot use the \DVD). + +\end{description} + +\noindent You can tell which type of distribution you're in by looking +for a \texttt{00\var{type}.TL} file at the top of the \TL{} directory. +This file also contains the \TL{} release date. + +Naturally, each user group chooses what to distribute to its own members. + + +\subsection{Top level directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texliveYYYY}, not at the top +level of the disc. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & The \TeX{} system programs, arranged by platform. \\ +source & The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a + \cmdname{bzip2}-compressed tar archive. \\ +setuptl & Installation programs for Linux and Windows. \\ +support & Assorted auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. \\ +texmf & Tree for the programs, along with their support files and + documentation. Does not include \TeX\ formats and packages. + (\texttt{TEXMFMAIN} in the next section.) \\ +texmf-dist & The main tree of formats and packages. + (\texttt{TEXMFDIST} in the next section.) \\ +texmf-doc & Tree for self-contained pure documentation, arranged by + language. \\ +texmf-var & Tree for files automatically generated and stored. + (\texttt{TEXMFSYSVAR} in the next section.) \\ +\end{tabular} +\endgroup + +\smallskip + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains only documentation, but +it does not contain all the documentation. The documentation for the +programs (manuals, man pages, Info files) is in \dirname{texmf/doc}, +since the programs are in \dirname{texmf}. Similarly, the documentation +for \TeX\ packages and formats is in \dirname{texmf-dist/doc}. You can +use the \cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it's located. The comprehensive links in the +top-level file \OnCD{doc.html} may also be helpful. + + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying texmf trees used +by the system, and their intended purpose. The command \texttt{texconfig +conf} shows you the values of these variables, so that you can easily +find out how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+), pool files and + other support files. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable depends on \verb+$HOME+ by default, % $ + which dynamically adjusts for each user to an individual + directory. +\item [TEXMFCONFIG] The tree used by te\TeX's utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSCONFIG] The tree used by te\TeX's utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \verb+$HOME+ by default. %$ +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+ to store (cached) runtime + data such as format files and generated map files. +\end{ttdescription} + +For more discussion of \texttt{texconfig} and related utilities, please +see section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a small but powerful set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}. See +\OnCD{texmf/doc/pdftex/manual/} for the manual, and +\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. This is the +default program for all formats except plain \TeX. + +\item [Xe\TeX] adds support for Unicode input and OpenType fonts, using +third-party libraries. See \url{http://scripts.sil.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} converter. + +\end{cmddescription} + + +\section{Unix installation} +\label{sec:unix-install} + +As introduced in section~\ref{sec:basic} (\p.\pageref{sec:basic}), +\TL{} has three principal uses: + +\begin{enumerate} +\item Run directly from media. +\item Install to disk. +\item Integrate a particular package or collection into your existing +\TeX{} installation. +\end{enumerate} + +\noindent The following sections describes the Unix-specific procedures +for each of these. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Warning: } The \TK{} \CD{}s and \DVD{} are in ISO 9660 (High Sierra) +format, \emph{with} Rock Ridge (and Joliet, for Windows) +extensions. Therefore, in order to take full advantage of the \TK{} +under Unix, your system needs to be able to use the Rock Ridge +extensions. Please consult the documentation for your \cmdname{mount} +command to see how to do this. If you have several different machines +on a local network, you may be able to mount the discs on one which +does support Rock Ridge, and use this with the others. + +\leavevmode\quad Modern systems should be able to use the discs without +problems. If troubles, let us know. The discussion below assumes you +have been able to mount the \CD{}s with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Running \protect\TL{} directly from media (Unix)} + +\def\runlive{% text repeated in windows section +It is possible to use the \TeX{} system directly from the \pkgname{live} +\DVD{}, without installing the distribution to disk. (Thus the name +\TeX\ `Live', in fact.) It is \emph{not} possible to run \TeX{} +directly from the other \CD{}s (see section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). +} + +\def\startinst{% repeated in other subsections +To start, you mount the \CD{} or \DVD{}, with Rock Ridge extensions +enabled. The exact command to do this varies from system to system; the +following works under Linux, except the name of the device +(\filename{/dev/cdrom}, here) may vary. (All our examples will use +\texttt{>} as the shell prompt; user input is +\Ucom{\texttt{underlined}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Change the current directory to the mount point: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Under \MacOSX, the directory is typically under +\dirname{/Volumes}, and the media will be mounted automatically. +} + +\def\installtlsh{ +Run the installation script \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent After various greeting messages and a list of the main menu +options, the installation will ask you to enter a command. Do this by +typing the desired character and hitting return; don't type the angle +brackets shown. Either uppercase or lowercase is ok; we'll use +lowercase in our examples. +} + +\runlive +\startinst +\installtlsh + +For running live, our first command will be \Ucom{d} and then the +subcommand \Ucom{1} to set directories. Even in this case, we must +choose a directory on the local disk to place files that the \TeX{} +system itself generates, such as fonts and formats, and also to provide +a place for updated configuration files, if need be. + +We'll use \dirname{/opt/texlive2007} in this example. It's good to +include the year in the name, as these generated files are not +in general compatible from release to release. (If the default value of +\dirname{/usr/local/texlive/2007} works for you, then you can skip this +step.) + +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2007 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/TeX]: \Ucom{/opt/texlive2007} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Back at the main menu, our second and last command is +\Ucom{r}, to set up for running live off the media without installing +to disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to TeX Live! +> +\end{alltt} + +\noindent And we are back at the system prompt, as shown. + +Next, it is necessary to alter two environment variables: +\envname{PATH}, to an architecture-dependent value (so that we can run +the programs), and \envname{TEXMFSYSVAR}, to the value specified above. +See table~\ref{tab:archlist} for a list of the architecture names for +the different systems. + + +\def\textruntexconfig{% +After the main installation has completed, and environment variables +have been set, the last step is to run \cmdname{texconfig} or +\cmdname{texconfig-sys} to customize your installation to your needs. +This is explained in section~\ref{sec:texconfig}, +\p.\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[Supported system architectures.]{Supported system +architectures.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +hppa-hpux & HPPA HP-UX \\ +i386-darwin & x86 \MacOSX \\ +i386-freebsd & x86 FreeBSD \\ +i386-linux & x86 GNU/Linux \\ +i386-openbsd & x86 OpenBSD \\ +i386-solaris & x86 Solaris \\ +mips-irix & SGI IRIX \\ +powerpc-aix & IBM RS/6000 AIX \\ +powerpc-darwin & PowerPC \MacOSX \\ +powerpc-linux & PowerPC GNU/Linux \\ +sparc-linux & Sun Sparc GNU/Linux \\ +sparc-solaris & Sun Sparc Solaris \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & x86 64-bit GNU/Linux \\ +\hline +\end{tabular} +\end{table*} + +\label{text:path} +The syntax for setting the environment variables, and the initialization +file to put them in, depends on the shell you use. If you use a +Bourne-compatible shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, et +al.), put the following into your \filename{$HOME/.profile} file: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2007/texmf-var; export TEXMFSYSVAR +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2007/texmf-var +\end{alltt} + +\noindent Then log out, log back in, and test your installation +(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textifindoubt{% +If in doubt, please ask any local system gurus to help you with +problems; for example, the way to mount the \TL{} media, which +directory or directories to use, and precise details of the changes to +your personal initialization files can and do vary from site to site. +} +\textifindoubt + + +% +\subsection{Installing \protect\TeX\protect\ Live to disk} +\label{sec:unix-install-disk} + +It is possible, indeed typical, to install the \TL{} distribution to +hard disk. This can be done from either the \pkgname{live} or +\pkgname{inst} distributions. (See section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}, for an explanation of the different +distributions.) + +\startinst +\installtlsh + +Table~\ref{tab:main-menu-options} briefly lists the options in the main +menu. The order in which you select the options makes little +difference, except that \Ucom{i} must be last. It's reasonable to go +through them in the order presented here. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Main menu options for the installation.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & The platform you are running on.\\ +b & The architectures for which to install binaries.\\ +s & The base installation scheme to use (minimal, recommended, + full, etc.)\\ +c & Override the base scheme for individual collections.\\ +l & Override for language collections.\\ +d & Directories in which to install.\\ +o & Other options.\\ +i & Perform the installation.\\ +\end{tabular} +\end{table} + +Here are further details on each option. + +\textbf{\optname{p} -- Current platform.} Since the installation script +automatically guesses which platform you're running on, it is usually +unnecessary to use this option. It's there in case you need to override +the automatic detection. + +\textbf{\optname{b} -- Binary architectures.} By default, only the +binaries for your current platform will be installed. From this menu, +you can select installation of binaries for other architectures as well +(or omit installing the current platform). This can be useful if you are +sharing a \TeX\ tree across a network of heterogenous machines. For a +list of the supported architectures, see table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}. + +\textbf{\optname{s} -- Base installation scheme.} From this menu, you +can choose an overall set of package collections, called a ``scheme''. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a minimal system, or +\optname{medium} to get something in between. There are also specific +sets for Omega and \acro{XML}. + +\textbf{\optname{c} -- Individual collections.} From this menu, you can +override the scheme's set of collections to install. Collections are +one level more detailed than schemes\Dash collections consist of one or +more packages, where packages (the lowest level grouping in \TL) contain +the actual \TeX\ macro files, font families, and so on. In this menu, +selection letters are case-sensitive. + +\textbf{\optname{l} -- Language collections}. This menu has the same +basic purpose as \Ucom{c}, to override the collection set in the chosen +scheme. In this case, the collections are specifically for different +languages. Selection letters are case-sensitive here too. Here is a +list of the language collections in \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \= +\hspace{.25\linewidth} \kill +(some) African scripts \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hebrew \> +Hungarian \> +Indic \\ +Italian \> +Latin \> +Manju \> +Mongolian \\ +Norwegian \> +Polish \> +Portuguese \> +Spanish \\ +Swedish \> +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Language collections typically include fonts, macros, +hyphenation patterns, and other support files. (For instance, +\pkgname{frenchle.sty} is installed if you select the \optname{French} +collection.) In addition, installing a language collection will alter +the \filename{language.dat} configuration file controlling which +hyphenation patterns are loaded. + +\textbf{\optname{d} -- Installation directories}. Three directories can +be changed here: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] The top-level directory under which +everything else will be installed. The default value is +\dirname{/usr/local/texlive/2007}, and is often changed. We recommend +including the year in the name, to keep different releases of \TL{} +separate. (You may wish to make a version-independent name such +\dirname{/usr/local/texlive} via a symbolic link, which you can then +update after testing the new release.) + +Under \MacOSX, the usual frontends look for \TeX{} in +\dirname{/usr/local/teTeX}, so you may wish to install \TL{} there. + +\item [TEXMFLOCAL] This tree is where the \TeX{} system (not as part of +the initial installation, but rather as time goes by) puts +non-version-specific files, primarily fonts. The default value is +\dirname{/usr/local/texlive/texmf-local}, independent of the current +\TL{} release, because it's also the recommended location to put any +local packages or configuration settings. + +\item [TEXMFSYSVAR] This tree is where \cmdname{texconfig-sys} puts +files that \emph{are} version-specific. The default value is +\dirname{TEXDIR/texmf-var}, and there's generally no reason to change +it. There is also \envname{TEXMFSYSCONFIG}, which is where +\cmdname{texconfig} looks for modified configuration data. See +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig} for more +information. + +\end{ttdescription} + +\textbf{\optname{o} -- Other options.} From this menu, you can select +the following general options: + +\begin{ttdescription} +\item [a] Specify an alternate directory for generated fonts. +The default is to use the \envname{TEXMFVAR} tree, as explained above. +Setting this is useful if you plan to mount the main tree read-only, and +therefore you need another location (perhaps host-specific) for +dynamically created fonts. + +\item [l] Create symbolic links for the binaries, man pages, +and\slash or \acro{GNU} Info files in other locations. For example, you may +wish to make the man pages available under \dirname{/usr/local/man} and +the Info files available under \dirname{/usr/local/info}. (Of course +you need appropriate privileges to write in the specified directories.) + +It is not advisable to overwrite a \TeX\ system that came with your +system with this option. It's intended primarily for creating the links +in standard directories that are known to users, such as +\dirname{/usr/local/bin}, which don't already contain any \TeX\ files. + +\item [d] Skip installation of the font/macro documentation tree. +This is useful if you need to save space, or if you've previously +installed the documentation elsewhere. + +\item [s] Skip installation of the main font/macro source +tree. This is useful if you are arranging to share that tree between +machines and\slash or architectures in some other way, such as \acro{NFS}. + +\end{ttdescription} + +\textbf{i -- Perform installation.} When you're satisfied with your +configuration options, enter \Ucom{i} to actually do the installation +from the media to your chosen locations. + +% text is similar to above, but no TEXMFSYSVAR, so we have to write out. +After the installation completes, your next step is to include the +architecture-specific subdirectory of \dirname{TEXDIR/bin} in your +\envname{PATH}, so the newly-installed programs can be found. The +architecture names are listed in table~\ref{tab:archlist}, +\p.\pageref{tab:archlist}, or you can simply list the directory +\dirname{TEXDIR/bin}. + +The syntax for doing this, and the initialization file to use, depends +on your shell. If you use a Bourne-compatible shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, et al.), put the following into your +\filename{$HOME/.profile} file: + +\begin{alltt} +PATH=/usr/local/texlive/2007/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent For C shell-compatible shells (\cmdname{csh}, \cmdname{tcsh}), +put the following into your \filename{$HOME/.cshrc} file: +\begin{alltt} +setenv PATH /usr/local/texlive/2007/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Here is a minimal annotated example which accepts the default +directories and installs binaries for the current system only. Thus, +only one command is needed, \Ucom{i} for install. The \texttt{>} is the +shell prompt as usual. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # perform installation +> \Ucom{texconfig} ... # see section \ref{sec:texconfig} +# New PATH element, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +If your Unix system supports the \cmdname{manpath} command (type \code{man +manpath} to learn more), you can make the \TL\ manual pages available +system-wide via the normal \cmdname{man} command by editing the file +\filename{/etc/manpath.config}; you might need root permissions for this. +With the following entry in \filename{/etc/manpath.config} the \TL\ +manual pages will be found at their original places within the \TL\ tree +(adapt the binary path for your system architecture): + +\begin{verbatim} +MANPATH_MAP /usr/local/texlive/2007/bin/i386-linux \ + /usr/local/texlive/2007/texmf/doc/man +\end{verbatim} + +\textifindoubt + + +\subsubsection{Non-interactive installation} +\label{sec:noninteractive-install} + +It is possible to override the default directories with environment +variables, and then install non-interactively. Example: +\begin{alltt} +> \Ucom{TEXLIVE_INSTALL_PREFIX=/opt/texlive} +> \Ucom{export TEXLIVE_INSTALL_PREFIX} +> \Ucom{echo i | sh install-tl.sh} +\end{alltt} + +The \envname{TEXLIVE\_INSTALL\_PREFIX} variable overrides the default +location of \dirname{/usr/local/texlive}, leaving all else +unchanged---so with the above invocation, the main installation will go +to \dirname{/opt/texlive/2007}. + +In the usual Unix way, the final \Ucom{echo i} can be replaced by any +sequence of input commands via a here document, so any sequence of +commands can be scripted. + +Here are all the possible overrides: + +\begin{ttdescription} +\item [TEXLIVE\_INSTALL\_PREFIX] + Override \dirname{/usr/local/texlive}. +\item [TEXLIVE\_INSTALL\_TEXDIR] + Override \dirname{\$TEXLIVE_INSTALL_PREFIX}/2007. +\item [TEXLIVE\_INSTALL\_TEXMFLOCAL] + Override \dirname{\$TEXLIVE_INSTALL_PREFIX/texmf-var}. +\item [TEXLIVE\_INSTALL\_TEXMFSYSVAR] + Override \dirname{\$TEXLIVE_INSTALL_TEXDIR/texmf-var}. +\item [TEXLIVE\_INSTALL\_TEXMFHOME] + Override \dirname{\$HOME/texmf}. +\end{ttdescription} + +It would be better to support a standard \acro{GNU}-style +\filename{configure} with options, instead of these environment +variables. Volunteers are welcome! + + +% +\subsection{Installing individual packages to disk} + +You can add individual packages or collections from the current +distribution to an existing non-\TL{} setup, or an earlier +\TL{} installation. + +\startinst + +Run the installation script \filename{install-pkg.sh} (not +\filename{install-tl.sh}, which is intended for complete installations +only): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +The first set of options controls what gets read: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] The individual package to work on. + +\item [-{}-collection=\var{colname}] The individual collection to work on. + +\item [-{}-nodoc] Exclude documentation files from the operation. + +\item [-{}-nosrc] Exclude source files from the operation. + +\item [-{}-cddir=\var{dir}] Source directory to read from; defaults +to the current directory. If you followed the instructions above, that +will be the distribution directory, and won't need to be changed. + +\item [-{}-listdir=\var{dir}] The so-called `lists' directory within +\var{cddir} from which to read the package information. The only +reason to change the default is if you're making changes to \TL{} +yourself. + +\end{ttdescription} + +What actually happens is controlled by the following options. If +neither of these are specified, the default action is to install the +selected files. The main destination tree is found by expanding +\envname{\$TEXMFMAIN} with \cmdname{kpsewhich}. You can override it by +setting either the environment variable \envname{TEXMFMAIN} or +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] List the files that would be installed, but don't +actually install anything. + +\item [-{}-archive=\var{tarfile}] Instead of installing the files into +the \TeX{} system, make a \cmdname{tar} archive. + +\end{ttdescription} + +Additional options: + +\begin{ttdescription} + +\item [-{}-config] After installation, run \code{texconfig init}. + +\item [-{}-nohash] After installation, don't run \cmdname{mktexlsr} to +rebuild the filename database. + +\item [-{}-verbose] Give more information as the script runs. + +\end{ttdescription} + +Here are some usage examples: + +\begin{enumerate} + +\item To see the files in the package \pkgname{fancyhdr} without +installing it: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf/doc/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Install the \LaTeX{} package \pkgname{alg} without source files or +documentation: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Install all the packages in the collection of additional +plain \TeX\ macros: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Write all files in the \pkgname{pstricks} package to a +\cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + + +% +\section{Post-installation} +\label{sec:postinstall} + +After the main installation is done, for any operating system, the +remaining steps are to configure the system for your local needs, and +perform some basic tests. + +Another sort of post-installation is to acquire packages, fonts, or +programs that were not included in \TL{}. The basic idea is to +install such additions in the \envname{TEXMFLOCAL} tree (if you +installed to disk), or \envname{TEXMFSYSVAR} (if you are running live). +See the ``Installation directories'' option on \p.\pageref{text:instdir}. + +Unfortunately, the details can and do vary widely, and so we do not attempt to +address them here. Here are some external links to descriptions: +\begin{itemize*} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} for +installation information for fonts in particular. +\end{itemize*} + + +\subsection{The \protect\cmdname{texconfig} program} +\label{sec:texconfig} + +At any time after installation, you can and should use the program +\cmdname{texconfig} to configure the system to fit your local needs. It +is installed in the architecture-specific subdirectory +\texttt{TEXDIR/bin/\var{arch}} along with everything else. + +If you run it without arguments, it will enter full-screen mode and +allow you to view and change options interactively. + +You can also run it with various command-line options. Here are some of +the most common (\TL{} is configured for the A4 paper size by default): + +\begin{ttdescription} + +\item [texconfig paper letter] Set default paper size for +various programs and drivers (\cmdname{pdftex}, \cmdname{dvips}, +\cmdname{dvipdfm}, \cmdname{xdvi}) to be \acro{US} letter. The other +allowable size is \optname{a4}, which is the default. + +\item [texconfig rehash] Update all the \TeX{} ``filename databases'', +after adding or removing files. + +\item [texconfig faq] Show the \teTeX{} \acro{FAQ}. +(See also the main \TeX{} \acro{FAQ} in \OnCD{texmf-doc/doc/english/FAQ-en}.) + +\item [texconfig help] Output help information for \cmdname{texconfig}. + +\end{ttdescription} + +Of course, \cmdname{texconfig} can only support changing a few of the +many options and configuration parameters in a \TeX{} system. The main +configuration file for the base \Webc{} programs is named +\filename{texmf.cnf}. You can find its location by running +\samp{kpsewhich texmf.cnf}; it contains many comments explaining the +default settings and useful alternatives. + +\cmdname{texconfig} alters files in a user-specific directory, as in +\dirname{$HOME/.texlive2007}. If you install \TeX\ just for yourself, +that is unlikely to make a difference. But if you install \TeX\ on a +multi-user system, you will want to change the configuration for the +whole system. In this case, run \cmdname{texconfig-sys} instead of +\cmdname{texconfig}. + +Likewise, the \cmdname{updmap} and \cmdname{fmtutil} scripts were +changed, to work under \dirname{$HOME/.texliveYYYY}. To alter system +directories, use \cmdname{updmap-sys} and \cmdname{fmtutil-sys}. + +In particular, for multi-user systems, you will probably want to +pregenerate the standard formats with \texttt{fmtutil-sys --missing}. +Otherwise, each user will end up with their own formats. + +Also, if you have a personally-modified copy of \filename{fmtutil.cnf} +or \filename{updmap.cfg}, instead of using the ones generated by +installation, they must be installed in the tree referenced by the +variable \envname{TEXMFSYSCONFIG}. + +The variables specifying the directories altered by these commands are +listed in section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. +You can see the actual directories by running \texttt{texconfig conf}, +and you can change them by editing \filename{texmf.cnf}. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, most likely you don't have the correct +\dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{text:path}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, perhaps +you have interference from old environment variables or configuration +files. For a deep analysis, you can always ask \TeX{} to report on +exactly what it is searching for, and finding; see ``Debugging actions'' +on page~\pageref{Debugging}. + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \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 Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://www.gnu.org/software/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. + +\item Other standard test files you may find useful: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} +You can process these in the same way as we did with +\filename{sample2e.tex}. + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually +constructing \TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{\MacOSX{} installation} +\label{sec:mac-install} + +The recommended way to install \TeX\ on \MacOSX\ is from the Mac\TeX\ +distribution, new in 2005. This is provided on the \pkgname{live} +\DVD{} in the top-level \dirname{mactex/} directory. It contains its +own (native) installer for a full \TeX\ distribution, based on a +combination of te\TeX\ and \TL, along with many additional applications +and documentation. The project web page is \url{http://tug.org/mactex}. + +If you prefer, installation of \TeX{} under \MacOSX{} can also be done +directly from \TL, using the \filename{install*} scripts, as follows. + +In order to run the installation scripts under \MacOSX, you need to have +the \cmdname{bash} shell installed. If you are running \MacOSX~10.2 +or later, you have \cmdname{bash}, and can proceed. If you're running +an earlier \MacOSX{} version, however, the default shell is +\cmdname{zsh}, which won't work; you'll need to get \cmdname{bash} from +the Internet, or more likely upgrade your system. + +Once you have \cmdname{bash}, the Unix installation documentation in the +previous section can be followed. See section~\ref{sec:unix-install} on +\p.\pageref{sec:unix-install}; \MacOSX-specific notes are included there +where needed. + +\section{Windows installation} +\label{sec:win-install} + +In this release of \TL{}, happily, the distribution once +again has a native Windows installer, named \cmdname{tlpmgui.exe}. (See +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}, for an +explanation of the different distributions.) + +\cmdname{tlpmgui} has essentially the same options as the Unix +installer, only done through a GUI interface: selecting schemes, +individual collections, installation directories, and so on. +Section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk} describes the basic elements. It +also allows some post-installation activities such as adding/removing +packages, updating the filename database and building formats. +Moreover, \cmdname{tlpmgui} can setup the system for running +programs directly from the \DVD. + +For those who like to look underneath the hood, \cmdname{tlpmgui} uses +as its ``engine'' a command-line Windows program named \cmdname{tlpm}. + +The Windows \TeX{} system included in \TL{} is based on new binaries +borrowed from the \acro{W32TEX} distribution, kindly provided by Akira Kakuto. +It also includes some older (but still working) tools made by Fabrice +Popineau, and also a new \texttt{dvi} previewer, \textsf{dviout} by +Toshio Oshima. + +\TL{} can be installed on systems running Windows 98, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Older versions of Windows (3.1x) +and \acro{MS-DOS} are not supported. + +\textbf{Warning:} Win9.x users must ensure they have enough environment + space before undertaking installation. The \cmdname{tlpmgui.exe} + program won't change the environment size for them. A few environment + variables will be created and it is possible you run out of + environment space. Add \texttt{SHELL=<path>COMMAND.COM /E:4096 /P} in the + config.sys file in order to increase your environment size. + +\subsection{Installing \protect\TeX\protect\ Live to disk} + +After inserting the \TL{} \acro{CD} into the \acro{CD} drive, autostart should +activate \cmdname{tlpmgui}. If it does not, click \guiseq{Start\arw Run}, +then type \verb|<drive letter>:\setuptl\tplmgui.exe| (or +\verb|<drive letter>:\texlive\setuptl\tplmgui.exe| if you are +installing from the \TeX\ Collection \acro{DVD}), where \verb|<drive letter>| +is the drive letter with the \TeX\ Live \acro{CD} (or TeX Collection +\acro{DVD}), and then click \acro{OK}. + +The installation window titled \guiseq{TeX Live installation and maintenance +utility} should open. It contains the following sections: \guiseq{Main +customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select +systems}, \guiseq{Directories} and \guiseq{Options}. + +By default, \cmdname{tlpmgui} tries to detect if \TeX{} is already +installed and depending on the result starts either in fresh +installation or maintenance mode. If you have \TeX{} already installed +but want to install the new version nevertheless, you can use +\texttt{tlpmgui~--install-mode} to force installation mode; but you +should know what you are doing, as the new \TL{} installation will +override the environment variables and other settings of the existing +installation; reverting to your old installation is not automatically +supported. + +Diagnostic information is collected by \cmdname{tlpmgui} in a log file +which is deleted at the end of the run, along with any other temporary +files. Invoking with \texttt{--debug} displays the names and contents +of all \cmdname{tlpmgui} temporary files in a separate window. + +In the \guiseq{Directories} section the installation drive (directory) +next to the \guiseq{CD/DVD} button should be displayed (e.g., +\texttt{F:/} or \texttt{F:/texlive/} for the \acro{DVD}), but if it is not, +then click the \guiseq{CD/DVD} button and select the \acro{CD/DVD} +drive, with the \TL{} \acro{CD} (or \TeX\ Collection \acro{DVD}). + +The directory in which you wish to install the software can be set by +clicking the \guiseq{TLroot} button. This directory will be set as +\path|TLroot| environment variable for later usage. + +In the \guiseq{Select a scheme} section the desired \TL{} installation scheme +should be chosen by clicking the radio button labelled with the installation +scheme name (e.g., \guiseq{scheme-gust}). Each scheme is accompanied by an +\guiseq{Info} button which, when clicked, displays a short description of the +relevant scheme. + +A scheme is a large set of files targeted at some kind of usage. There are +generic schemes for basic, medium and full installations. The remaining ones +are either targeted at certain LUGs (i.e., what GUST or GUTenberg propose +for their members) or application targeted (e.g., for XML and \TeX{} +cooperation). A preselected scheme can be refined. This is done in the +\guiseq{Main customization} section by choosing additional collections from +\guiseq{Standard collections} or \guiseq{Language collections}. For example, +by clicking the \guiseq{Select} button labelled \guiseq{Standard +collections}, additional collections like Metapost, Omega or documentation +in different languages can be selected. + +\guiseq{Wintools} collection is selected by default as it contains many small +programs, usually absent in Windows, which can be handy, like graphics +converters: \cmdname{sam2p}, \cmdname{jpeg2ps}, \cmdname{tiff2png}; +(de)compression programs: \cmdname{bzip2}, \cmdname{gzip}, \cmdname{unzip}, +and \cmdname{wget} which is needed for \cmdname{getnonfreefonts} (new) +utility. + +Next, clicking the \guiseq{Select} button labelled \guiseq{Language +Collections} in the \guiseq{Main customization} section opens the +\guiseq{Language collections} window in which the installation language can +be chosen by ticking the box next to the language. + +Next, click the \guiseq{Install} button in the \guiseq{Install} section to +start the installation proper process. + +\textbf{Note:} The \guiseq{Perl} and \guiseq{Ghostscript} are installed only +on demand. They should be installed unless they are already installed and you +really know what you are doing. Both programs are required by many important +tools. The \verb|PERL5LIB| and \verb|GS_LIB| environment variables will be +set too, as well the path to Ghostscript binaries will be added to the +\verb|PATH| variable. + +The \TL{} system needs some post-processing steps (format files +generation, ls-R databases generation, environment variables, etc.). All +these operations are done there, some of them can be lengthy. So please wait +until you see a statement about the successfully finished installation. + +The shortcut for \cmdname{tlpmgui} (and also \cmdname{dviout}, if installed) +will be added to the menu \guiseq{Start\arw Programs\arw TeXLive2007}. + +If it is needed (Win9x/WinME), you will be asked to reboot your computer. + +\subsection{Support packages for Windows} +\label{sec:win-xemtex} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. Many scripts are written using the Perl +language. Some important tools require the Ghostscript \PS{} interpreter to +render or to convert files. A graphic file toolbox is also needed in some +cases. Last but not least, a \TeX-oriented editor makes it easy to type in +your \TeX{} files. + +All these tools are quite easy to find for Windows, but in order to try to +make your life even easier, we have put such a set of tools on \TL: +\begin{itemize*} +\item GNU \cmdname{Ghostscript} 8.54 +\item a minimal \cmdname{Perl} 5.8, sufficient to run all the \TL{} + Perl scripts. +\item win-tools is a set of small programs (bzip2, gzip, jpeg2ps + and tiff2png) +%\item a subset of \cmdname{ImageMagick} 5.5.6 +%\item the \cmdname{ISpell} checker +%\item \cmdname{XEmacs} 21.5.14 with a selection of packages to support +%\TeX{} typesetting. +\end{itemize*} + +Perl and Ghostscript are installed upon request; you may explicitly +deselect them during installation if you already have them. + +If you don't want to install this bundle, then you are on your own to +install the required tools to complete your \TL{} system. Here is a +list of places to get those tools: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (but you might need some + supplementary packages from CPAN: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] alternatively, you could use NetPBM instead of ImageMagick to + process or convert your graphic files. NetPBM home page is + \url{http://netpbm.sourceforge.net/} +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{Emacs} with AucTeX is available natively under Windows, see + \url{ftp://alpha.gnu.org/gnu/auctex} + \item \cmdname{WinShell} is available on \TL in the \path|support| + directory, see \url{http://www.winshell.de} + \item \cmdname{WinEdt} is shareware available from \url{http://www.winedt.com} + \item \cmdname{Vim} is available from \url{http://www.vim.org} + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the proTeXt distribution. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd} + \item \cmdname{SciTE} is available from \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +You might want to install other tools that are not free\footnote{Not +free, that is, in the sense of freedom to modify and redistribute, +following free software guidelines. This does not mean you can't acquire +them for no money.} and therefore not included on \TL{}, such as +\cmdname{GSView}, the \cmdname{Ghostscript} companion to more +conveniently view PS/PDF files. \cmdname{GSView} is available from +\url{http://www.cs.wisc.edu/~ghost/gsview/} or any \acro{CTAN} site. + +\section{Maintenance of the installation in Windows} + +If you have \TeX\ Live installed, you can use \cmdname{tlpmgui} again +for modifying and maintaining your installation. + +\subsection{Adding/removing packages} + +As the \cmdname{tlpmgui} shortcut is available in the \guiseq{Start\arw +Programs\arw TeXLive2007} menu, start it from here. The maintenance window +titled \guiseq{TeX Live installation and maintenance utility} shows. It +contains several tabs: \guiseq{Add Packages}, \guiseq{Remove packages}, +\guiseq{Manage installation}, \guiseq{Remove installation}. + +Click the tab labelled \guiseq{Add packages} or \guiseq{Remove packages} +to enter the relevant functionality and then: + +\begin{itemize} +\item In the first tab select the proper \CD{} drive (or \DVD with + \texttt{texlive} directory) by pressing the \guiseq{CD/DVD} button. +\item Click the \guiseq{Search} button in the \guiseq{Buttons} section to +display or refresh in the \guiseq{Select packages to\dots} section the +list of packages to install or remove. + +When adding packages, the list of installed packages is compared to the list +of packages available from your \CD/\DVD. Only packages not already installed are +displayed. It is up to you to select which packages you want to +install. + +When removing individual packages, only a list of installed packages +will be displayed. + +Please note that for both \guiseq{Add packages} and \guiseq{Remove packages} +the collections are listed first. + +\item Select a package by clicking on the name of the package. Clicking the +\guiseq{Info} button in the \guiseq{Buttons} section displays a short +description of the selected package in the window located in the \guiseq{Info +about the selected item} section. To select several packages at once hold +down one of the Ctrl or Shift keys at your keyboard while holding down the +left mouse button or drag the mouse pointer while holding down the left mouse +button. + +\item Click the \guiseq{Install} or \guiseq{Remove} button in the +\guiseq{Buttons} section to perform the appropriate action. +\end{itemize} + +\subsection{Configuring and other management tasks} + +The functions available in the tab labelled \guiseq{Manage the installation} +are helpful in performing actions needed when you want to add support for a +language which was not selected during the installation, or add/regenerate a +format which was not selected during the installation or was modified after +the installation. + +The following actions can be performed: + +\begin{itemize} +\item Refresh the \filename{ls-R} database +\item Create formats (All or Missing) +\item Edit \filename{language.dat} +\item Edit \filename{fmtutil.cnf} +\item Edit \filename{updmap.cfg} +\end{itemize} + +Note: you can close the Edit\dots{} window with the \guiseq{Cancel} or +\guiseq{Done} button; the latter will start rebuilding the format files +(or the fontmap files if you have edited \filename{updmap.cfg}), followed by a +\filename{ls-R} database files refresh. + +For more information about the configuration see section~\ref{sec:persconf}, +\p.\pageref{sec:persconf}. + +\subsection{Uninstalling \protect\TL{}} + +The tab labelled \guiseq{Remove the TeX Live installation} opens a window +which contains functionality not worth describing and we do not know who would +need it and what it is for\dots :-) + +Anyway, if you have the \path|texmf-local| directory for your local additions, +the removal procedure will not wipe it out or delete things in it. However, +it will be done only if you select it explicitly. The \path|setuptl| +directory containing \cmdname{tlpmgui} and related files will not be deleted. +You will have to do some manual cleanup to actually remove them. + +\subsection{Adding your own packages to the installation} + +First, whatever changes you make, \textbf{do not forget to rebuild the ls-R +database files}. Otherwise, your new files will not be found. You can do this +either via the \cmdname{tlpmgui} run and selection of the appropriate action +from the \guiseq{Manage the installation} tab, or manually running the +\file{mktexlsr} command. + +If you want to add files that are not provided by the \TL{} distribution, +it is recommended to put them in the \path|$TEXMFLOCAL| directory. This +way, you will be safe against upgrades of the \TL{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If, +for example, you want to add the support file for the Maple symbolic +computation program, you will have to put the style files in:\\ +\path|c:\TeXLive2007\texmf-local\tex\latex\maple\|\\ and the +documentation files in:\\ \path|c:\TeXLive2007\texmf-local\doc\latex\maple\| + +\subsection{Running \texttt{tlmp.exe} from the command line} +The \cmdname{tlpm.exe} program which is used as engine by \cmdname{tlpmgui} +has a number of other useful options. You can get the list by running: +\begin{verbatim} +tlpm --help +\end{verbatim} + +More information and examples of use can be found in \path|tlpm.readme|. + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TL{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the OS and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$TEXMFVAR| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{What's different in Windows?} + +The Windows version of \Webc{} has some specific features that should be +pointed out. + +\begin{description} +\item[\cmdname{kpsecheck}] This command provides some options that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files). It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism; fortunately, \KPS{} never looks for these files. For + this reason, you can combine the \path|-multiple-occurrences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of shared + memory: in use or not used. That might be useful to know because if + the status reported is \samp{in use}, that means one or several + processes are working, and the effect of any \cmdname{mktexlsr} + command will be delayed until the next time where no \KPS{} linked + process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] The engines have one more option than in Unix \Webc: + \begin{itemize} + \item \path|-proctimes| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Personal configurations} +\label{sec:persconf} + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\TeXLive2007\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor + %(\cmdname{WinShell} will do fine) + and change some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case \cmdname{dvips} needs to generate PK fonts. By default it + is configured to use Type~1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by default. If + the \optname{o} option is not followed by a printer name, then a + \file{.ps} \PS{} file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with \code{@}. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +The current \TL{} distribution implements the procedure of making always +up-to-date fontmaps files for Dvips and Pdftex. This is done by the +\cmdname{updmap} program during installation. +If you add new font packages using the installation program or by hand, +edit the file \verb+updmap.cfg+ in \path|$TEXMFVAR/web2c|. + +\subsubsection{PdfTeX} + +If you use the program pdf{}latex to write \acro{PDF} format directly, +and you are using \acro{US} letter-size paper, edit the file +\verb+C:\TeXLive2007\texmf-var\tex\generic\config\pdftexconfig.tex+ and +change \samp{\bs pdfpagewidth} and \samp{\bs pdfpageheight}. These entries +should read: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Save the file and exit the editor. + +\subsubsection{Xe\TeX} +Xe\TeX{} for Windows is linked statically with fontconfig 2.4.2. +A configuration file for fontconfig is \verb+fonts.conf+. For details, +see the file \verb+fonts.conf+ itself which is in a directory shown by +the command \texttt{kpsewhich --var-value=FONTCONFIG\_PATH}. + +\subsubsection{GSView} +GSView is now distributed under the Aladdin License, and therefore is no +longer included in \TL{}. + +You may want to change the page size to US letter size. If so, open +GSView from the \guiseq{Start} menu, and select \guiseq{Media\arw Letter}. + +Also, there are menu settings that are supposed to give you the most +readable screen image. On \guiseq{Media \arw Display Settings}, set both +\optname{Text Alpha} and \optname{Graphics Alpha} to 4~bits. + +Note that the installation process has set all \code{.ps} and +\code{.eps} files to automatically open with \cmdname{GSView}. + +For printing instructions, see section~\ref{printing} below. + + +\subsection{Testing} + +For generic verification procedures, see section~\ref{sec:test-install} +(\p.\pageref{sec:test-install}). This section describes +Windows-specific tests. + +Open the file \verb+sample2e.tex+ in your editor (Xemacs, WinShell), +found in \path|C:\TeXLive2007\texmf-dist\tex\latex\base|. The \LaTeX\ source +should appear on the screen. Process it by clicking on the +\guiseq{Command\arw LaTeX} menu (XEmacs) or \LaTeX\ icon on the toolbar +(WinShell), then view it by clicking on the \guiseq{Command\arw View DVI} +menu (XEmacs) or Preview (dviout) icon (WinShell). + +At first, when you preview files with \cmdname{dviout}, it will create fonts +because screen fonts were not installed. After a while, you will have created +most of the fonts you use, and you will rarely see the font-creation window. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press Ctrl-z to quit. + + +\subsection{Printing} +\label{printing} + +It is possible to print from \cmdname{dviout}. In this case, printing +will be done using the Windows unified printer driver. By definition, it is +compatible with all printers. However, there is some drawback: it can +generate some huge spool files, and some (older) versions of Windows +just don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the printer +parameters are correctly set, else you +will get scaled printing (printing at 600\dpi{} on a 300\dpi{} printer +will give you only one quadrant of your page). + +Printing is faster and more reliable if you run \cmdname{dvips} to make +a \filename{.ps} file and then print from \cmdname{GSView}. In +\cmdname{GSview}, select \guiseq{File\arw Print\ldots}. A \guiseq{Print} +window will appear. + +If you are using a \PS{} printer, \textit{be sure to select +\guiseq{\PS{} Printer}}. This is done in the \guiseq{Print Method} box +at the bottom left of the \guiseq{Print} window. You can then select any +of the printers that you have previously installed. If you fail to +check the box for \optname{\PS{} Printer}, printing will not work. + +If you will be using your own non-\PS{} printer, select +\guiseq{Ghostscript device} in the \guiseq{Print Method} box, then click +on the button to the right labelled \guiseq{djet500} and select your +printer type from the list that pops up. (In the older version of +\cmdname{GSView}, make sure \optname{\PS{} Printer} is \textit{not} +selected, then select your printer type from the \guiseq{Device} list.) + +\subsection{Tips and tricks for Win32} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a large +set of functions (around 12,000 in the header files of the Microsoft +\acro{SDK}) that you can use to write programs for different operating +systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and Win\acro{ME}, which \emph{are not true multitasking, + multithreading} environments, but rather updated incarnations of + \acro{DOS}. This can be more or less proven by the fact that when + booting, the PC will load the \path|command.com| interpreter, and if + you stop the boot process at this point, you can ask for the current + (\acro{DOS}) version and it will answer something like \samp{MS-DOS + 7.0} (at least for the old versions of Win9x). +\item Windows \acro{NT}, which is a new operating system written from + scratch, capable of true multitasking behavior, and including many + high level features. +\item Windows 2000, based on \acro{NT}, with all the bells and + whistles of Win98. +\item Windows \acro{XP}, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and + \acro{NT} based). \acro{XP} is based on \acro{NT}. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the \acro{GDI} (Graphical Device Interface) +manage limited resources like bitmaps, fonts, pens and so on for the set +of all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kB. This explains the +performance tool and the fact that you can put your system on his knees +by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You may wonder, ``Why would I need to use a command line prompt when +I have Windows?'' + +Good question! The problem is of very general nature. Not all operations +can be done easily using only a \acro{GUI}. Command line gives you +programming power\Dash assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because they are +independent of any \acro{GUI} problems, and \acro{GUI} tools can be +designed to interface to the command line tools. This is the case for +\TeX{}, where you will mostly interact with it through a \acro{GUI} text +editor. + +However, you may need to use the command line prompt in a number of +situations. One is when you are having difficulties and want to debug +your setup. + +\begin{description} + \item[Win9x] You can open a command line prompt by looking either for + the \acro{MS-DOS} icon in the \guiseq{Start\arw Programs} menu, + or by choosing \guiseq{Start\arw Run} menu typing in + \path|command.com| as the program name. + \item[NT, 2K, XP] You can open a command line prompt by looking for + \guiseq{Command Prompt} in the \guiseq{Start\arw Accessories} menu. + You can also choose \guiseq{Start\arw Run} and type in + \path|cmd.exe|, which is the name of the brand new command + interpreter for \acro{NT} (thus, it is untrue to call this a + \emph{DOS} box!). +\end{description} + +These locations may change across different Windows versions. + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as PATH +separators. But the command interpreters do not! So whenever a path name +is used programmatically, you can use both separators, and even mix them +up in the same path name. But on the command line, you must type +\path|\| as path separator. The reason is compatibility: the command +processor used \samp{/} to introduce arguments to commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; Windows-\TL{} is a port of \Webc, and aims to be +compatible across platforms. For this reason, all the configuration files +that need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worst feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses very many small files, with size +around 1--3kB. The \acro{FAT} file system is old, and predates by +decades the multi-gigabytes hard disks we have today. As a result, it +cannot manage efficiently the tens of thousands of \TeX{} files found in +\TL{}. The \acro{FAT} file system allocates a minimum of 32kB for +\emph{any} file on a huge partition. It means that \TeX{} will use much +more disk space than it actually needs. + +The other, more modern, file systems available, \acro{FAT32} and +\acro{NTFS}, do not have this drawback. They manage clusters of 4kB +only. (You can lower the limit to 512 bytes on \acro{NTFS}.) + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2007\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \guiseq{Start \arw Settings \arw Control Panel}. Now the + window with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab \textsf{Environment} + or look for a button named \guiseq{Environment Variables} among the + dialog boxes. Now you can change the environment variables for your + user account. Note: There are also displayed the environment settings + for the system. Normally, you can't change the system variables + unless you have administrator rights on your machine. If you want to + change the \texttt{PATH} for all users, you will have to contact your + system administrator or be the system administrator yourself\Dash in + the latter case you should know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\TeXLive2007\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic +links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +2006-11-23 07:06 2 560 latex.exe +2007-01-06 23:54 1 073 664 pdftex.dll +2006-01-28 08:05 2 560 pdftex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|pdftex.exe| using the same core \path|pdftex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs +which are linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|irun.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not find your files?} + +\begin{itemize} + +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. However, \cmdname{kpsewhich} outputs debug information to +stderr, and the older Windows consoles do not know how to redirect +stderr to a file. (Windows NT and later do support redirections, but +the trick below will work for any console.) For diagnostic purposes you +can temporarily set an environment variable (in a \acro{DOS}/\acro{cmd} box): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Similarly, to redirect stderr to stdout: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. +\item Assuming the installation has been done in \path|c:/TeX|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/TeX| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/TeX/texmf....| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/TeX/texmf-var/web2c;| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\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/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \TeX{} and friends + should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +Here are several questions to investigate: + +\begin{enumerate} +\item Is \file{tex.exe} in my \path|PATH|? + +\item Is the \path|TEXMFCNF| variable correctly set to +\path|c:/TeXLive2007/texmf-var/web2c| (default value)? + +\item Are there any errors in the log file generated by the +\file{tlmpgui.exe} program? +\file{tlmpgui.log} can be found in your +\file{TEMP} directory. You can find this by searching for the +string \samp{Error}. Hint: the log file can show some errors after +building all format files. Please do not panic: perhaps some formats +weren't already installed. + +\item Are there any relevant bug fixes at \url{http://tug.org/texlive/}? +(Unlikely, but it doesn't hurt to check.) + +\end{enumerate} + +The \TL{} software consists of hundreds of programs and tens of +thousands of files, all from varying sources. So it is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you. (See section~\ref{sec:help}, \p.\pageref{sec:help}.) + +% don't use \Webc so the \uppercase in the headline works. +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in \web{} and translates them into C source +code. The core \TeX{} programs are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \acro{GNU} options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +configuration files to optimize searching the (huge) collection of +\TeX{} files. \Webc{} can look at more than one directory tree +simultaneously, which is useful in maintaining \TeX's standard +distribution and local extensions in two distinct trees. To speed up +file searches the root of each tree has a file \file{ls-R}, containing +an entry showing the name and relative pathname for all files under that +root. + +\subsection{Kpathsea path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(appproximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{Filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU} \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\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} + +That last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\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} + +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{SExamplesofuse} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \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 +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \acro{GNU} version of these programs +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:unix-install-disk} on +\p.\pageref{sec:unix-install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \acro{GNU} style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \acro{GNU} \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Sebastian Rahtz and Karl Berry. +The other principal contributors are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which together provide the necessary technical +and administrative infrastructure. Please join your local user group! + +\item The \acro{CTAN} team, which distributes the \TL{} images and +provides the common infrastructure for package updates, upon which \TL{} +depends. + +\item Peter Breitenlohner and the \eTeX\ team for the stable foundation +of future \TeX's. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would certainly not exist, and whose continual help makes it a better +product. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item Hans Hagen, for major testing and making the \ConTeXt\ format +conform to \TL's needs. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team for continuing +enhancements of \TeX's abilities. + +\item Taco Hoekwater, for renewed development efforts on MetaPost and +\TeX\ itself. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}. + +\item Akira Kakuto, for great assistance in incorporating the Windows +binaries from his \acro{W32TEX} distribution +(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). + +\item Jonathan Kew and his employer \acro{SIL}, for the major new +development of Xe\TeX{} and taking the time and trouble to integrate it +in \TL{}. + +\item Reinhard Kotucha, for helping with the massive task of updating +packages in \TL{}, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Fabrice Popineau, for the original Windows support in \TL{}. + +\item Norbert Preining, for helping with the \TL{} infrastructure and +package updates, and coordinating the Debian version of \TL{} (together +with Frank K\"uster), making many suggestions for improvement along the +way. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient assembly and maintenance of Web2C, +upon which all else depends. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Tigran Aivazian and Hartmut Henkel (\pkgname{x86\_64-linux}), +Akira Kakuto and Fabrice Popineau (\pkgname{win32}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, + \pkgname{sparc-solaris}), +Karl Berry (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). + +Of course the most important acknowledgement must go to Donald Knuth, first +for inventing \TeX, and then for giving it to the world. + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:struct-tl} (\p.\pageref{sec:struct-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + See section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for DVI output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsection{Present} +\label{tlcurrent} + +In 2006--2007, the major new addition to \TL{} was the Xe\TeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}) + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +The installation scripts now accept various environment variables to +allow for non-interactive installation; see +section~\ref{sec:noninteractive-install}. + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://www.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \acro{GNU}/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more +help material, more utilities, more installation programs, and (of +course) an ever-improved and checked tree of macros and fonts. This work +is all done by hard-pressed volunteers in their limited spare time, and +a great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Please send corrections, suggestions, and offers of help to:\hfill\null +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-2008.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2008.tex new file mode 100644 index 00000000000..a172d5f409e --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/live-2008.tex @@ -0,0 +1,2951 @@ +% $Id: live.tex 9531 2008-07-13 21:12:58Z siepo $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\begin{document} + +\title{% + {\huge \textit{The \TeX\ Live Guide}\\\smallskip}% + {\LARGE \textsf{\TL{} 2008}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{August 2008} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live and the \TeX\ Collection} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and related programs for \GNU/Linux +and other Unix flavors, \MacOSX, and Windows systems. + +You may have acquired \TL{} by downloading, or on the \TK{} \DVD, +which \TeX{} usergroups distribute among their members. Section +\ref{sec:tl-coll-dists} briefly describes the contents of this \DVD. +Both \TL{} and the \TK{} are cooperative efforts by the \TeX{} user +groups. This document mainly describes \TL{} itself. + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} and many other programs; an extensive collection +of macros, fonts and documentation; and support for typesetting in +many different scripts from around the world. + +\TL{} packages are regularly updated from +\acro{CTAN}: \url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + +\subsection{Operating system support} +\label{sec:os-support} + +\TL{} contains binaries for many Unix-based architectures, +including \MacOSX. The included sources should enable installation +on platforms for which we do not have binaries. + +As to Windows: only Windows 2000 and later are supported. Windows +9\textit{x}, ME and NT have been dropped. Because of this +change, Windows requires much less special treatment compared to +the Unix systems. There are no 64-bit executables for Windows, but the +32-bit executables should run on 64-bit systems. + +See section~\ref{sec:tl-coll-dists} for alternate solutions +for Windows and \MacOSX. + +\subsection{Basic installation of \protect\TL{}} +\label{sec:basic} + +You can install \TL{} either from \DVD{} or over the Internet. The net +installer itself is small, and downloads everything requested from the +Internet. The net installer is an attractive option if you need only a +fraction of the complete \TL. + +The \DVD{} installer lets you install to a local disk, but you can +also run \TL{} directly from the \DVD{} (or from a \DVD{} image, if +your system supports that). + +\noindent This is described in the +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in both a \GUI{} mode (default for Windows) and + a text mode (default for everything else). You can force one mode or + the other with the options \code{-gui} and \code{-no-gui}, respectively. + +\item One of the installed items is a new program, the `\TL\ Manager', + named \prog{tlmgr}. Like the installer, it can be used in both \GUI{} + mode and in text mode. You can use it to install and uninstall + packages and do various configuration tasks. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and most serious +questions end up getting answered. However, the support is informal, +done by volunteers and casual readers, so it's especially important that +you do your homework before asking. (If you prefer guaranteed +commercial support, you can forego \TL{} completely and purchase a +vendor's system; \url{http://tug.org/interest.html#vendors} has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium + of answers to all sorts of questions, from the most basic to the + most arcane. It is included on \TL{} in + \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html}, and is available + on the Internet through \url{http://www.tex.ac.uk/faq}. Please + check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\url{http://www.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/group/comp.text.tex/topics} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry, to maximize +your chances of getting a useful answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, please write to that program's maintainer or +mailing list. Often running a program with the \code{-{}-help} option +will provide a bug reporting address. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Overview of \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +This section describes the contents of \TL{} and the \TK{} of which it +is a part. + +\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +The \TK{} \DVD{} comprises the following: + +\begin{description} + +\item [\TL] A complete \TeX{} system which can be run live or + installed to disk. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://www.tug.org/mactex/}. + +\item [pro\TeX{}t] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. The \ProTeXt\ home page is +\url{http://tug.org/protext}. + +\item [CTAN] A snapshot of the \CTAN{} repository. + +\item [\texttt{texmf-extra}] A directory with assorted additional packages. + +\end{description} + +\CTAN{}, \pkgname{protext}, and \dirname{texmf-extra} do not +necessarily follow the same copying conditions as \TL{}, so be careful +when redistributing or modifying. + + +\subsection{Top level \TL{} directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texlive}, not at the top +level of the disc. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme.html] Web pages with a quick introduction and useful links, +in various languages. +% +\item[source] The source to all included programs, including the main \Webc{} + \TeX{} and \MF{} distributions. +% +\item[support] Various auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[texmf-doc] Tree for self-contained pure documentation, arranged by + language. +% +\item[tlpkg] Scripts, programs and data for managing the + installation. It also contains private copies of + Perl and Ghostscript for Windows, which are invisible outside \TL, + and a new Windows PostScript viewer PSView. +\end{ttdescription} + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains documentation which does +not belong to any particular package or program. The documentation +for the programs (manuals, man pages, Info files) is in +\dirname{texmf/doc}. The documentation for \TeX\ packages and +formats is in \dirname{texmf-dist/doc}. You can use the +\cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it is located. The comprehensive links in +the top-level file \OnCD{doc.html} may also be helpful. + +This \TL\ documentation itself is in \dirname{texmf-doc} and is +available in several languages: + +\begin{itemize*} +\item{Simplified Chinese:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{Czech/Slovak:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\item{English:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{French:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{German:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{Polish:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{Russian:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default +layout of a \TL{} system. The command \texttt{texconfig conf} shows +you the values of these variables, so that you can easily find out +how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+) and other + support files and their documentation. Does not include + \TeX\ formats and packages. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable dynamically adjusts for each user to + their own individual directory. +\item [TEXMFCONFIG] The tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSCONFIG] The tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+, and also by \verb+tlmgr+, to + store (cached) runtime data such as format files and generated map files. +\end{ttdescription} + +\noindent +The default layout is: +\begin{description} + \item[system-wide root] can span multiple \TL{} releases: + \begin{ttdescription} + \item[2007] A previous release. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] The current release. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf] This is \envname{TEXMFMAIN}. + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, intended to be + retained from release to release. + \end{ttdescription} + \item[user's home] (\texttt{\$HOME} or + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2007] Privately generated and configuration data + for a previous release. + \item[.texlive2008] Privately generated and configuration data + for the current release. + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Personal macros. + \textit{etc.} + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TeX{} itself is frozen, apart from rare bug fixes. It is still present +in \TL\ as the program \prog{tex}, and will remain so in the +foreseeable future. \TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}. This is the program +invoked for most formats, e.g., \prog{etex}, \prog{latex}, +\prog{pdflatex}. See \url{http://www.pdftex.org/}. +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} for the manual, and +\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} for example usage +of some of its features. + +\item [Lua\TeX] is the designated successor of pdf\TeX, with which it +is intended to be backward-compatible. It should also supersede Aleph, +see below. The incorporated Lua interpreter (see +\url{http://www.lua.org/}) enables elegant solutions for many thorny +\TeX{} problems. When called as \filename{texlua}, it functions as a +standalone Lua interpreter, and is already used as such within \TL. See +\url{http://www.luatex.org/} and +\OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] adds support for Unicode input and OpenType- and system +fonts, implemented using standard third-party libraries. See +\url{http://scripts.sil.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec, texmfstart] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} (and \acro{XML} and more) converter. + +\end{cmddescription} + + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} comes with many high-quality scalable fonts. See +\url{http://tug.org/fonts} and +\OnCD{texmf-doc/doc/english/free-math-font-survey}. + + + +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To start with, get the \TK{} \DVD{} or download the \TL{} net installer, +and locate the installer script: \filename{install-tl} for Unix, +\filename{install-tl.bat} for Windows. + +\begin{description} +\item [Net installer:] Download from \CTAN, under +\dirname{systems/texlive/tlnet}; the url +\url{http://mirror.ctan.org/systems/texlive/tlnet} will automatically +redirect to a nearby, up-to-date, mirror. You can retrieve either +\filename{install-tl.zip} which can be used under Unix and Windows and +\filename{install-unx.tar.gz} which is considerably smaller, for Unix +only. After unpacking, \filename{install-tl} and +\filename{install-tl.bat} will be in the \dirname{install-tl} +subdirectory. + +\item [\TeX{} Collection \DVD:] go to its \dirname{texlive} +subdirectory. Under Windows, the installer should start automatically +when you insert the \DVD. You can get the \DVD\ by becoming a member of +a \TeX\ user group (highly recommended, +\url{http://tug.org/usergroups.html}), or purchasing it separately +(\url{http://tug.org/store}), or burning your own from the \ISO\ +image (\url{http://tug.org/texlive/acquire.html}). + +\end{description} +The following sections explain in more detail. + +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Main \GUI{} installer screen (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +Starting in a terminal window on a Unix-compatible system, the simplest +way: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Or you can invoke \Ucom{perl /path/to/installer/install-tl}, or +\Ucom{./install-tl} if it stayed executable, etc.; we won't repeat all +these variations.) + +To install in \GUI\ mode (you'll need the \dirname{Perl/TK} module), use: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Warning about Unix permissions:} Your \code{umask} at the time +of installation will be respected by the \TL{} installer. Therefore, if +you want your installation to be usable by users other than you, make +sure your setting is sufficiently permissive, for instance, \code{umask +002}. For more information about \code{umask}, consult your system +documentation. + + +\subsubsection{Mac\,OS\,X} + +As mentioned in section~\ref{sec:tl-coll-dists}, a separate distribution +is prepared for \MacOSX, named Mac\TeX\ (\url{http://tug.org/mactex}). +We recommend using the native Mac\TeX\ installer instead of the \TL\ +installer on \MacOSX, because the native installer can make a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, gw\TeX, +Fink, MacPorts, \ldots). + +Mac\TeX\ is firmly based on \TL, and the main \TeX\ trees are precisely +the same. It does add a few extra folders with Mac-specific +documentation and applications. + + +\subsubsection{Windows} + +If you are using the net installer, or the \DVD\ installer failed to +start automatically, double-click \filename{install-tl.bat}. + +You can also start the installer from the command-prompt. Below, +\texttt{>} denotes the prompt; user input is \Ucom{\texttt{bold}}. If +you are in the installer directory, run just: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Or you can invoke it with an absolute location, such as: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +for the \TK\ \DVD, supposing that \dirname{D:} is the optical drive. + +To install in text mode, use: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +Unix. + +This is only a command-line installer; there is no cursor support at +all. For instance, you cannot tab around checkboxes or input fields. +You just type something (case-sensitive) at the prompt and press the +Enter key, and then the entire terminal screen will be rewritten, with +adjusted content. + +The text installer interface is this primitive for a reason: it +is designed to run on as many platforms as possible, even with a +very barebones Perl (for Windows, a Perl subset is included). + +\subsubsection{The graphical installer} + +Figure~\ref{fig:gui-main} displays the graphical installer under +Windows. Most differences in available options are due to this +screenshot being from Windows, and the previous text screen being +from \GNU/Linux. + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory. Still, a few +quick notes about the various options and submenus: + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Binaries menu}\label{fig:bin-text} +\end{figure} + +Figure~\ref{fig:bin-text} displays the text mode binaries menu. By +default, only the binaries for your current platform will be installed. +From this menu, you can select installation of binaries for other +architectures as well. This can be useful if you are sharing a \TeX\ +tree across a network of heterogenous machines, or for a dual-boot +system. + +\subsubsection{Selecting what is going to be installed} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Scheme menu}\label{fig:scheme-text} +\end{figure} + +Figure~\ref{fig:scheme-text} displays the \TL\ scheme menu; from here, +you choose a ``scheme'', which is an overall set of package collections. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a small system, +\optname{minimal} for testing purposes, and \optname{medium} or +\optname{teTeX} to get something in between. There are also various +specialized and country-specific schemes. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Collections menu (Linux)}\label{fig:collections-gui} +\end{figure} + +You can refine your scheme selection with the `standard collections' and +`language collections' menus (figure~\ref{fig:collections-gui}, shown in +\GUI\ mode for a change). + +Collections are one level more detailed than schemes\Dash in essence, a +scheme consists of several collections, a collection consists of one or +more packages, and a package (the lowest level grouping in \TL) contains +the actual \TeX\ macro files, font files, and so on. + +If you want more control than the collection menus provide, you can use +the \prog{tlmgr} program after installation (see +section~\ref{sec:tlmgr}); using that, you can control the installation +at the package level. + +\subsubsection{Directories} +\label{sec:directories} + +The default layout is described in section~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. The default location of +\dirname{TEXDIR} is different between Windows +(|%PROGRAMFILES%\texlive\2008|) and Unix +(\dirname{/usr/local/texlive/2008}). + +The main reason to change this default is if you lack write permission +for the default location. You don't have to be root or adminstrator to +install \TL, but you do need write access to the target directory. + +A logical alternate choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2008|'. + +We recommend including the year in the name, to enable keeping different +releases of \TL{} side by side. (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.) + +Changing \dirname{TEXDIR} in the installer will also change +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} and +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} is the recommended location for personal +macro files or packages. The default value is |~/texmf|. In +contrast to \dirname{TEXDIR}, here a |~| is preserved in the +newly-written configuration files, since it usefully refers to the home +directory of each individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Options menu (Unix)}\label{fig:options-text} +\end{figure} + +Figure~\ref{fig:options-text} displays the text mode options menu. +Three of the options here need mentioning: + +\begin{description} +\item[use letter size instead of A4 by default:] The usual default paper + size selection. Of course, individual documents can specify a specific + paper size, if desired. + +\item[create all format files:] Although unnecessary format files + take time to generate and disk space to store, it is still recommended + to leave this option checked: if you don't, then format files will be + generated in people's private \dirname{TEXMFVAR} tree as they are + needed. In that location, they will not be updated automatically if + (say) binaries or hyphenation patterns are updated in the + installation, and thus could end up with incompatible format files. + +\item[create symlinks in standard directories] (Unix only): + This option bypasses the need to change environment + variables. Without this option, \TL{} directories have to be added + to \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will + need write permissions to the target directories. It is not + advisable to overwrite a \TeX\ system that came with your system + with this option. It is intended primarily for creating the links + in standard directories that are known to users, such as + \dirname{/usr/local/bin}, which don't already contain any + \TeX\ files. +\end{description} + +Now when all these settings are to your liking, you can type `I' to +start the installation process. When it is done, skip to +section~\ref{sec:postinstall} to read what else needs to be done, if +anything. + +\subsubsection{Set up for running from DVD{} (text mode only)} +\label{sec:fromdvd} + +Type `|V|' to select this option. This changes the main menu into something +like figure~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{The main menu with \optname{from DVD} + set}\label{fig:main-fromdvd} +\end{figure} + +Note the changes: all options about what to install have +disappeared, and the directories section now talks about +\dirname{TEXDIRW} or writable root. The symlinks option has also +disappeared. + +The installer will still create various directories and +configuration files, but won't copy \dirname{texmf}, +\dirname{texmf-dist} or \dirname{texmf-doc} to hard disk. + +Post-install configuration for Unix will be slightly more complicated, +because now the directory layout deviates from the default; see +section~\ref{sec:postinstall}. + +Due to time constraints, this option didn't make it into the \GUI{} +installer, but it is available both for Unix and for +Windows. Windows users have to start the installer from a command +prompt, see section~\ref{sec:cmdline}. + +Section \ref{sec:portable-unix} describes a more strictly portable +way to run \TL, which doesn't make or require changes in the +system's configuration, but doesn't allow any configuration either. + +\subsection{Command-line install options} +\label{sec:cmdline} + +Type +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +for a listing of command-line options. Either |-| or |--| can be used +to introduce option names. These are the more +interesting ones: + +\begin{ttdescription} +\item[-gui] If possible, use the \GUI{} installer. This requires the + Perl/Tk module (\url{http://tug.org/texlive/distro.html#perltk}); + if Perl/Tk is not available, installation continues in text mode. +\item[-no-gui] Force using the text mode installer, even under + Windows; you'll need this if you want a `from \DVD' installation, + since that is not available in \GUI{} mode. +\item[-lang {\sl LL}] Specify the installer interface + language as its standard two-letter code \textsl{LL}. Currently + supported languages: English (\texttt{en}, default), German + (\texttt{de}), French (\texttt{fr}), Dutch (\texttt{nl}), Polish + (\texttt{pl}), Slovenian (\texttt{sl}) and Vietnamese + (\texttt{vi}). The installer tries to determine the right language + itself but if it fails, or if the right language is not available, + then it uses English as a fallback. +\item[-profile {\sl profile}] The installer always writes a file + \filename{texlive.profile} to the \dirname{2008/tlpkg}- or + \dirname{tlpkg} subdirectory of your installation. This option tells + the installer to re-use such a profile file. Here's an excerpt: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + Thus, using this option you can install in batch mode on + subsequent systems, reproducing the choices you made for the + original installation. +\item [-location {\sl url/path}] Specify a non-default source for + packages; see below. +\end{ttdescription} + +\subsubsection{The \optname{location} parameter} +\label{sec:location} + +The location value can be a url starting with \texttt{ftp:}, +\texttt{http:}, or \texttt{file:/} url, or a plain path. If the given +argument is on a local drive (either a path or a \texttt{file:/} url), +the installation type (compressed or live) is automatically determined: +if an \dirname{archive} subdirectory with \filename{.tar.lzma} files is +found then it will be used, even if uncompressed files are available as +well. + +When giving an \texttt{http:} or \texttt{ftp:} location, trailing +`\texttt{/}' characters and/or a trailing `\texttt{/tlpkg}' component +are ignored. For example, you could choose a particular \CTAN\ mirror +with something like: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}, +substituting of course a proper hostname and its particular top-level +\CTAN\ path (the list of \CTAN\ mirrors is maintained at +\url{http://ctan.org/mirrors}) for |ctan.example.org/tex-archive|. The +default is to pick a mirror automatically, using +\url{http://mirror.ctan.org}; in any case, the chosen host is used for +the entire download. + + +\subsection{Post-install actions} +\label{sec:postinstall} + +Some post-install may be required. + +\subsubsection{Windows} + +But on Windows, the installer takes care of everything. + +\subsubsection{If symlinks were created} + +If you elected to create symlinks in standard directories (mentioned in +section~\ref{sec:options}), then there is no need to edit environment +variables. + +\subsubsection{Environment variables for Unix} +\label{sec:env} + +The directory of the binaries for your platform must be added to +the search path. Each supported platform has its own subdirectory +under \dirname{TEXDIR/bin}. See figure~\ref{fig:bin-text} for the +list of subdirectories and corresponding platforms. + +You can also add the documentation man and Info directories to their +respective search paths, if you want the system tools to find them. + +For Bourne-compatible shells such as \prog{bash}, and using Intel x86 +GNU/Linux and a default directory setup as an example, the file to edit +might be \filename{$HOME/.profile} (or another file sourced by +\filename{.profile}, and the lines to add would look like this: + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +For csh or tcsh, the file to edit is typically \filename{$HOME/.cshrc}, and +the lines to add might look like: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Of course, you may well already have settings somewhere in your ``dot'' +files, and so then the \TL\ directories should simply be merged in as +appropriate. + +\subsubsection{Environment variables: global configuration} +\label{sec:envglobal} + +If you want to make these changes globally, or for a user newly added to +the system, then you are on your own; there is just too much variation +between systems in how and where these things are configured. + +Our two hints are: 1)~you may want to check for a file +\filename{/etc/manpath.config} and, if present, add lines such as + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + +And 2)~check for a file \filename{/etc/environment} which may define the +search path and other default environment variables. + + +\subsubsection{When running from DVD} + +Normally, a \TL{} program consults a file \filename{texmf.cnf} for the +location of the various trees. It looks for this file in a series of +locations relative to its own location. However, this scheme breaks down +when a program is run from \DVD{}: the \DVD{} is read-only. Some of the +paths to be recorded in \filename{texmf.cnf} are only known at +installation time, so this file cannot be on the \DVD{} and must be +placed somewhere else. This makes it necessary to define an environment +\envname{TEXMFCNF} variable which tells \TL{} programs in what directory +to find this \filename{texmf.cnf}. It is also still necessary to modify +the \envname{PATH} environment variable, as described before. + +At the end of the installation, the installer should have printed a +message giving the value to which \envname{TEXMFCNF} should be set. In +case you missed it: this value is \dirname{$TEXMFSYSVAR/web2c}. For the +default, \dirname{/usr/local/texlive/2008/texmf-var/web2c}, you need the +lines +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +or, for [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + + +\subsubsection{\ConTeXt{} Mark IV} + +The `old' \ConTeXt{} should run out of the box. The new `Mark IV' +\ConTeXt{} will require manual setup; see +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Integrating local and personal macros} +\label{sec:local-personal-macros} + +This is already mentioned implicitly in section~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (by default, +\dirname{/usr/local/texlive/texmf-local} or +\verb|C:\Program Files\texlive\texmf-local|) + +is intended for system-wide local fonts and macros; and +\dirname{TEXMFHOME} (by default, \dirname{$HOME/texmf} or +\verb|%USERPROFILE%\texmf|), is for personal fonts and macros. These +directories are intended to stick around from release to release, and +have their content seen automatically by a new \TL{} release. +Therefore, it is best to refrain from changing the definition of +\dirname{TEXMFLOCAL} to be too far away from the main \TL{} directory, +or you will need to manually change future releases. + +For both trees, files should be placed in their proper subdirectories; +see \url{http://tug.org/tds} or consult +\filename{texmf/web2c/texmf.cnf}. For instance, a \LaTeX{} class file or +package should be placed in \dirname{TEXMFLOCAL/tex/latex} or +\dirname{TEXMFHOME/tex/latex}, or a subdirectory thereof. + +\dirname{TEXMFLOCAL} requires an up-to-date filename database, or files +will not be found. You can update it with the command +\cmdname{mktexlsr} or use the `Reinit file database' button on the +configuration tab of \prog{tlmgr} in \GUI\ mode. + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a very complicated and messy topic. Forget +about it unless you really know your way around blindfolded in a +\TeX{} installation. Don't forget to check first what you get for +free: see section~\ref{sec:tl-fonts}. + +A possible alternative is to use \XeTeX (see +section~\ref{sec:tex-extensions}), which lets you use operating system +fonts without any installation in \TeX. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands here; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, or with an older version, most likely you don't +have the correct \dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{sec:env}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, most +likely you have interference from old environment variables or +configuration files; we recommend unsetting all \TeX-related environment +variables for a start. (For a deep analysis, you can ask \TeX{} to +report on exactly what it is searching for, and finding; see ``Debugging +actions'' on page~\pageref{sec:debugging}.) + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \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 Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://www.gnu.org/software/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. (There are plenty of +other \acro{PDF} viewers, too.) + +\item Standard test files you may find useful in addition to +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually writing +\TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{Network installations} +\label{sec:netinstall} + +\TL{} has been designed to be shared between different users, and even +different systems on a network. With a standard directory layout, no +hard paths are configured: the locations for files needed by \TL{} +programs are defined relative to the places of those programs. You can +see this at work in the configuration file +\filename{$TEXMFMAIN/web2c/texmf.cnf}, which contains lines such as +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +This means that other systems or other users merely need to add the +directory for \TL{} binaries for their platform to their search path. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +Of course, Windows users have different expectations. The directory +\dirname{texmf-doc/source/texlive/texlive-common/w32client} contains a +sample script \filename{install-w32client} which creates settings and +menu shortcuts for using an existing \TL{} installation on a +\acro{LAN}. It is to be invoked through a batch file +\filename{install-w32client.bat} in the same directory. + +You can read more about \TL{} configuration and path searching in +section~\ref{sec:kpathsea}. + +\section{Maximally portable \protect\TL{} on DVD and USB} +\label{sec:portable-unix} + +The `running from \DVD{}' option described in +section~\ref{sec:fromdvd} is fine for your own system, but if you +are a guest on somebody else's system then you would probably like +something with minimal side effects. + +In the root of the \TL{} \DVD, or the \dirname{texlive} subdirectory of +the \TK{} \DVD, are a \filename{tl-portable} script (Unix) and a +\filename{tl-portable.bat} batchfile (Windows) which start up a +secondary shell\slash command prompt with environment settings suitable +for directly accessing the \TL{} on the \DVD. + +When it runs for the first time, some files will be generated in a +directory \dirname{~/.tlportable2008}, which will take a little time. +On subsequent runs, though, it will start almost instantaneously. + +The rest of the system will be unaware of \TL. If you want your editor +to be aware of this \TL, then you can start it from a second, parallel, +such \filename{tl-portable} session. + +You can also use \filename{tl-portable} to run \TL{} on a +\acro{USB} stick. In this case, copy all the top-level files and +the contents of the \dirname{bin}, \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{tlpkg} directories (at least) to +the stick. This may take quite a while! If you are copying to a +\acro{FAT}32-formatted \acro{USB} stick, make sure to dereference +symbolic links (\code{cp -L}). A \dirname{texmf-local} directory on +the stick will also be found and used. + +Then run \filename{tl-portable} from the root of the stick, as above. +In this case, the script will notice that the stick is writable and use +it for generated files. You could burn the resulting contents of the +stick back to \DVD{} if that is more convenient to (for example) give to +others. + + +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode. The list of + packages/collections/schemes only shows up after clicking the + `Load' button.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} in GUI mode: Configuration tab}\label{fig:tlmgr-config} +\end{figure} + +The installer installs a program named \prog{tlmgr} for managing \TL{} +after the initial installation. The programs \prog{updmap}, +\prog{fmtutil} and \prog{texconfig} are still included and will be +retained in the future, but \prog{tlmgr} is now the preferred interface. +Its capabilities include: + +\begin{itemize*} +\item listing schemes, collections and packages; +\item installing, updating, backing up, restoring and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for packages; +\item listing and adding architectures; +\item changing installation options such as paper size and source + location (see section~\ref{sec:location}). +\end{itemize*} +\textit{Warning:} \prog{tlmgr} has not been designed for or tested +with installations which run from \DVD. + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages\Dash the latter +prepended with `(i)'. This assumes of course that the installation +source is valid and reachable. + +Figure~\ref{fig:tlmgr-config} shows the configuration tab. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +This example adds several packages, including a new `engine', from a +non-default location: + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +It generates the following output: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +As you see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. (Here we generated new formats for \XeTeX.) + +This example installs a new language. This also triggers format +regeneration: +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +To describe a package: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +which produces +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +Updating your entire installation to the latest versions available: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +If this makes you nervous, first try +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +or +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +For full documentation: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Notes on Windows} +\label{sec:windows} + +\TL\ has a single installer which runs on both Windows and Unix. This +was only possible by dropping support for older Windows versions, so +\TL\ can now be installed only on Windows 2000 and later. + + +\subsection{Windows-specific features} +\label{sec:winfeatures} + +Under Windows, the installer does some extra things: +\begin{description} +\item[Menus and shortcuts.] A new `\TL{}' submenu of the + Start menu is installed, which contains entries for some \GUI{} programs + (\prog{tlmgr}, \prog{texdoctk}, the PS\_View PostScript previewer) + and some documentation. PS\_View also gets a shortcut on the + desktop as a drag-and-drop target for PostScript files. +\item[Automatic setting of environment variables.] No manual + configuration steps are required. +\item[Uninstaller.] The installer creates an entry under `Add/Remove + Programs' for \TL. The uninstall tab of\prog{tlmgr} refers to + this. +\end{description} + +\subsection{Additional included software} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. \TL{} provides the missing +pieces: +\begin{description} +\item[Perl and Ghostscript.] Because of the importance of Perl and + Ghostscript, \TL{} includes `hidden' copies of these + programs. \TL{} programs that need them know where to find them, + but they don't betray their presence through environment variables + or registry settings. They aren't full-scale distributions, and + shouldn't interfere with any system installations of Perl or + Ghostscript. +\item[Command-line tools.] A number of Windows ports of common Unix + command-line programs are installed along with the usual \TL{} + binaries. These include \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} and the + command-line utilities from the \cmdname{xpdf} suite. (The + \cmdname{xpdf} viewer itself is not available for Windows, but the + Sumatra \acro{PDF} viewer is based on it: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] helps \XeTeX{} to handle fonts more + efficiently. +\item[PS\_View.] Also installed is PS\_View, a new PostScript viewer + with a free license; see figure~\ref{fig:psview}. +\end{description} +\begin{description} +\item[The \texttt{support} directory,] already mentioned in + section~\ref{sec:tld}. This directory contains various programs + which can be useful in connection with \TeX, in particular a + number of \TeX-aware editors and \TeX{} frontends. The software in + this directory isn't covered by the installer. This directory also + contains the \cmdname{dviout} \dvi{} previewer; see the next section. +\end{description} + +\subsection{The Dviout previewer} + +This \TL{} release unfortunately doesn't offer a preinstalled \dvi{} +previewer for Windows. However, you can install \prog{dviout} by +Toshio Oshima from the \path{support/dviout/} directory, which +contains also a short \filename{README} describing how to install +and configure \prog{dviout} for \TL. Please read this carefully +before installation. + +At first, when you preview files with \cmdname{dviout}, it will create fonts, +because screen fonts were not installed. After a while, you will have created +most of the fonts you use, and you will rarely see the font-creation window. +More information can be found in the (very good) on-line help. + +\subsection{Links for additional downloadable software} + +Urls for some other tools you may consider installing: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} with + supplementary packages from \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, for graphics + processing and conversion +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, also for graphics. + +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection, in no particular order: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} with Auc\TeX\ for Windows is available in \TL's + \path{support} directory; its home page is + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} is available in \TL's \path|support| + directory; its home page is \url{http://www.winshell.de}. + \item \cmdname{WinEdt} is shareware available from + \url{http://www.winedt.com}. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the pro\TeX{}t distribution. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} is available from + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize*} +\end{description} + + +\subsection{User Profile is Home} +\label{sec:winhome} + +The Windows counterpart of a Unix home directory is the +\verb|%USERPROFILE%| directory. Under Windows XP and Windows 2000, this +is usually \verb|C:\Documents and Settings\<username>|, and under +Windows Vista \verb|C:\Users\<username>|. In the +\filename{texmf.cnf} file, and \KPS{} in general, \verb|~| will expand +appropriately on both Windows and Unix. + + +\subsection{The Windows registry} +\label{sec:registry} + +Windows stores nearly all configuration data in its registry. The +registry contains a set of hierarchically organized keys, with several +root keys. The most important ones for installation programs are +\path{HKEY_CURRENT_USER} and \path{HKEY_LOCAL_MACHINE}, \path{HKCU} and +\path{HKLM} in short. The \path{HKCU} part of the registry is in the +user's home directory (see section~\ref{sec:winhome}). \path{HKLM} is +normally in a subdirectory of the Windows directory. + +In some cases, system information could be obtained from environment +variables but for other information, for example the location of +shortcuts, it is necessary to consult the registry. Setting environment +variables permanently also requires registry access. + + +\subsection{Windows permissions} +\label{sec:winpermissions} + +In later versions of Windows, a distinction is made between regular +users and administrators, where only the latter have free access to the +entire operating system. 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. Nevertheless, we have made +an effort to make \TL{} installable without administrative privileges. + +If the user is an administrator, shortcuts are created for all users, +and the system environment is modified. Otherwise, shortcuts and menu +entries are created for the current user, and the user environment is +modified. Use the \optname{non-admin} option to \prog{install-tl} if +you prefer per-user settings even as an administrator. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%PROGRAMFILES%|. The installer +always tests whether the root is writable for the current user. + +A problem may arise if the user is not an administrator and \TeX{} +already exists in the search path. Since the effective path consists of +the system path followed by the user path, the new \TL{} will never get +precedence. As a workaround, in this case the installer creates +shortcuts to the command-prompt in which the new \TL{} binary directory +is prepended to the local searchpath. The new \TL{} will be usable when +run in a command-line session started from such a shortcut. + + +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. The home +page for \Webc{}, with the current manual and more, is +\url{http://tug.org/web2c}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber, who returned it to Karl in +2006. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in the \web{} literate programming system +and translates them into C source code. The core \TeX{} programs +handled in this way are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \GNU options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{} (\url{http://tug.org/kpathsea}). This library uses a combination +of environment variables and a configuration files to optimize searching +the (huge) collection of \TeX{} files. \Webc{} can look at many +directory trees simultaneously, which is useful in maintaining \TeX's +standard distribution and local and personal extensions in distinct +trees. To speed up file searches, the root of each tree has a file +\file{ls-R}, containing an entry showing the name and relative pathname +for all files under that root. + + +\subsection{Kpathsea path searching} +\label{sec:kpathsea} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{sec:filename-database}) applies to \var{p}, i.e., if the +database is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{sec:path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given search path by +using the debugging options (see ``Debugging actions'' on +page~\pageref{sec:debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{sec:path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{sec:default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{sec:path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(appproximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{sec:subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{sec:filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{sec:ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\GNU \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{sec:invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The most common options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{sec:examples-of-use} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\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} + +By the way, that last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\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} +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prologue \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{sec:debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\item[\texttt{64}] Variable values. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/dvips/dvips.pdf}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{sec:examples-of-use} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \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 +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +the date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all \acro{TFM} files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Only $\approx$10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \GNU version of these programs +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:install-disk} on +\p.\pageref{sec:install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \GNU style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \GNU \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\ifx\HCode\undefined\else\HCode{<a id="ack"></a>} +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Karl Berry. The other principal +contributors, past and present, are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which provide the necessary technical and administrative +infrastructure. Please join the \TeX\ user group near you! (See +\url{http://tug.org/usergroups.html}.) + +\item The \acro{CTAN} team, most notably Robin Fairbairns, Jim Hef{}feron, +and Rainer Sch\"opf, which distributes the \TL{} images and provides the +common infrastructure for package updates, upon which \TL{} depends. + +\item Peter Breitenlohner (and the \eTeX\ team) for the stable foundation +of future \TeX's, and Peter specifically for stellar help with the GNU +autotools usage throughout \TL. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would have never existed. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, and for incorporating +\ConTeXt\ into \TL. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}, used in past releases. + +\item Akira Kakuto, for providing the Windows +binaries from his \acro{W32TEX} distribution for Japanese \TeX\ +(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}), and many +other contributions. + +\item Jonathan Kew and \acro{SIL}, for the major new development of +\XeTeX{} and taking the time and trouble to integrate it in \TL{}, as +well as the initial version of the Mac\TeX\ installer. + +\item Dick Koch, for maintaining Mac\TeX\ (\url{http://tug.org/mactex}) +in very close tandem with \TL{}, and for his great good cheer in doing +so. + +\item Reinhard Kotucha, for major contributions to the \TL{} 2008 +infrastructure and installer, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Siep Kroonenberg, also for major contributions to the \TL{} 2008 +infrastructure and installer, especially on Windows, and for the bulk of +work updating this manual describing the new features. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Manuel P\'egouri\'e-Gonnard, for helping with package updates, +documentation improvements, and \cmdname{tldoc} development. + +\item Fabrice Popineau, for the original Windows support in \TL{} and +work on the French documentation. + +\item Norbert Preining, the principal architect of the \TL{} 2008 +infrastructure and installer, and also for coordinating the Debian +version of \TL{} (together with Frank K\"uster), making many suggestions +along the way. + +\item Sebastian Rahtz, for originally creating \TL{} and maintaining it +for many years. + +\item Vladimir Volovich, for substantial help with porting and other +maintenance issues, and especially for making it feasible to include +\cmdname{xindy}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient maintenance of \Webc. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the \TeX\ Catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Reinhard Kotucha (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +For information on the \TL{} build process, see +\url{http://tug.org/texlive/build.html}. + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo (French), +Klaus H\"oppner (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). The \TL{} documentation web page +is \url{http://tug.org/texlive/doc.html}. + +Of course the most important acknowledgement must go to Donald Knuth, +first for inventing \TeX, and then for giving it to the world. + + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for \dvi\ output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsubsection{2006--2007} + +In 2006--2007, the major new addition to \TL{} was the \XeTeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://www.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \GNU/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + +\medskip \noindent +Final note on the past: all releases of \TL{}, along with ancillary +material such as \CD\ labels, are available at +\url{ftp://tug.org/historic/systems/texlive}. + +\ifx\HCode\undefined\else\HCode{<a id="news"></a>} +\subsection{Present} +\label{sec:tlcurrent} + +In 2008, the entire \TL{} infrastructure was redesigned and +reimplemented. Complete information about an installation is now stored +in a plain text file \filename{tlpkg/texlive.tlpdb}. + +Among other things, this finally makes possible upgrading a \TL{} +installation over the Internet after the initial installation, a feature +MiK\TeX\ has provided for many years. We expect to regularly update new +packages as they are released to \CTAN. + +The major new engine Lua\TeX\ (\url{http://luatex.org}) is included; +besides a new level of flexibility in typesetting, this provides an +excellent scripting language for use both inside and outside of \TeX\ +documents. + +Support among Windows and the Unix-based platforms is now much more +uniform. In particular, most Perl and Lua scripts are now available on +Windows, using the Perl internally distributed with \TL. + +The new \cmdname{tlmgr} script (section~\ref{sec:tlmgr}) is the +general interface for managing \TL{} after the initial installation. +It handles package updates and consequent regeneration of formats, map +files, and language files, optionally including local additions. + +With the advent of \cmdname{tlmgr}, the \cmdname{texconfig} actions to +edit the format and hyphenation configuration files are now disabled. + +The \cmdname{xindy} indexing program +(\url{http://xindy.sourceforge.net/}) is now included on most platforms. + +The \cmdname{kpsewhich} tool can now report all matches for a given file +(option \optname{--all}) and limit matches to a given subdirectory +(option \optname{--subdir}). + +The \cmdname{dvipdfmx} program now includes functionality to extract +bounding box information, via the command name \cmdname{extractbb}; this +was one of the last features provided by \cmdname{dvipdfm} not in +\cmdname{dvipdfmx}. + +The font aliases \filename{Times-Roman}, \filename{Helvetica}, and so on +have been removed. Different packages expected them to behave +differently (in particular, to have different encodings), and there was +no good way to resolve this. + +The \pkgname{platex} format has been removed, to resolve a name conflict +with a completely different Japanese \pkgname{platex}; the +\pkgname{polski} package is now the main Polish support. + +Internally, the \web\ string pool files are now compiled into the +binaries, to ease upgrades. + +Finally, the changes made by Donald Knuth in his `\TeX\ tuneup of 2008' +are included in this release. See +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more help +material, more utilities, more installation programs, and (of course) an +ever-improved and better-checked tree of macros and fonts. This work is +all done by hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. Please see +\url{http://tug.org/texlive/contribute.html}. + +Please send corrections, suggestions, and offers of help to: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live-tl7.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/live-tl7.tex new file mode 100644 index 00000000000..1e8ee77312b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/live-tl7.tex @@ -0,0 +1,3554 @@ +% +% change history (started May 13th 2002) +% 2002/05/13: added tex-langafrican to list of collections +% 2002/05/14: corrected example files, other small errors noted by Volker +% 2002/05/18: win32 updates, by Fabrice +% 2002/05/25: remove mention of sizes, and bsr-interpolated; add Gutenberg +\documentclass{article} +\advance\textwidth by 1in +\advance\oddsidemargin by -1in +\advance\evensidemargin by -1in +\newsavebox{\warnbox} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\setcounter{tocdepth}{2} +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +\def\eTeX{$\varepsilon$-\TeX} +\def\Dash{---} +\def\hyph{-} +\def\OMEGA{$\Omega$} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\La{La} +\let\textsl\textit +\let\sl\it +\let\slfamily\itfamily +\def\ttdefault{cmtt} +\usepackage{tex-live} +\begin{document} +%\makeatletter\@ifundefined{HRestore}{}{\HRestore\noalign}\makeatother +\author{Sebastian Rahtz\\ +\texttt{sebastian.rahtz@oucs.ox.ac.uk} +%Michel Goossens\\ +%\texttt{m.goossens@cern.ch} +} +\title{The \protect\TeX\ Live Guide, 7th edition} +\date{May 2002} +\maketitle +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} +\section{Introduction}\label{sec:intro} +This documentation describes the + main features of the \TeXLive{} 7 \CD{}\Dash a \TeX{}/\LaTeX{} + distribution for Unix, Linux, MacOSX, and Windows32 systems that includes + \TeX{}, \LaTeXe{}, \MF, \MP, \cmdname{Makeindex}, and \BibTeX{}; and + a wide-ranging set of macros, fonts and documentation conforming to + the \emph{\TeX{} Directory Standard} (\TDS{})\Dash which can be used + with nearly every \TeX{} setup. + + This \TeX{} package uses the \Webc{} version 7.3.7 + implementation of the programs, which tries to make \TeX{}ing as + easy as possible, and takes full advantage of the efficient and + highly customizable \KPS{} library from Karl Berry and Olaf Weber. + It can be run either directly from the \CD{} or installed on a hard + disk. + +Most of the runnable systems on the \CD{} include a large set of +drivers and support programs for \TeX, including \cmdname{dvips} +(PostScript driver), \cmdname{dvipdfm} (dvi to PDF), +\cmdname{xdvi} (X Windows previewer), +\cmdname{dvilj} (HP LaserJet driver), \cmdname{lacheck} (\LaTeX{} +syntax checker), \cmdname{tex4ht} (\TeX{} to HTML converter), +\cmdname{dviconcat} and \cmdname{dviselect}, \cmdname{dv2dt} and + \cmdname{dt2dv} (\texttt{dvi} to ASCII and vice versa), and Angus + Duggan's PostScript utilities. + +\subsection{Extensions to \TeX} + +The \TeXLive{} runnable systems contain three extended versions of +standard \TeX: +\begin{enumerate} +\item \eTeX, which adds a small but powerful set of new primitives, + and the \TeXXeT{} extensions for left to right typesetting; in + default mode, \eTeX{} is 100\% compatible with ordinary \TeX. See + \OnCD{texmf/doc/etex/base/etex_man.pdf} on the \CD{} for details. +\item pdf\TeX, which can optionally write Acrobat PDF format instead + of \dvi{}. You will find the user manual in + \OnCD{texmf/doc/pdftex/pdftex-l.pdf}. The + file \OnCD{texmf/doc/pdftex/samplepdf/samplepdf.tex} shows how it is + used. The \LaTeX{} \pkgname{hyperref} package has an option + `\optname{pdftex}', which turns on all the program features. +\item \OMEGA{} (Omega), which works internally with 16-bit characters, + using Unicode; this allows it to directly work with almost all the + world's scripts simultaneously. It also supports dynamically loaded + `\OMEGA{} Translation Processes' (\acro{OTP}s), which allow the user + to define complex transformations to be performed on arbitrary + streams of input. See \OnCD{texmf/doc/omega/base/doc-1.8.tex} for some + (not necessarily up to date) documentation. +\end{enumerate} +\eTeX{} (version 2.1) is stable, although subsequent releases will add +new functionality. pdf\TeX{} (version 1.00b) is also stable, +but is still being improved. +\OMEGA{} (version 1.23) is under development; the version +on this \CD{} is that current as of May 2002. + + +\section[Structure and contents of the CD-ROM]{Structure + and contents of the \protect\CD{}} +The important \CD{} top-level directories are listed below. +\begin{description} +\item[bin] The \TeX{} family programs, arranged in separate platform + directories. +\item[Books] Examples related to some books about \TeX. +\item[FAQ] Frequently Asked Questions, in English, French, and German. +\item[MacOSX] Support programs for MacOSX users +\item[info] Documentation in \acro{GNU} `info' format for the \TeX{} + system. +\item[man] Documentation in the form of Unix man pages for the \TeX{} + system. +\item[setupw32] directory contains material for installation and use + under Windows (see section \ref{sec:wintex} on p.~\pageref{sec:wintex}). +\item[source] The source of all programs, including the main \Webc{} + \TeX{} and \MF{} distributions. These are stored in a bzip2-compressed + tar archive. +\item[support] Various bits of \TeX-related software which are + \emph{not} installed by default, support programs, and a complete + distribution of \cmdname{Ghostscript} version 7.05. + You can find here some other programs (editors, \TeX\ shells), which + are usually absent from Windows installations, dedicated for beginners. + They can be installed with the \texttt{TeXSetup.exe} Windows installation + program. +\item[texmf] The main support tree of macros, fonts and documentation; +\item[usergrps] Material about \TeX\ User Groups. +\end{description} + +There are also two installation scripts for Unix systems, +\texttt{install-cd.sh} and \texttt{install-pkg.sh}; we discuss +them on in section \ref{sec:install} on p.~\pageref{sec:install}. + +\subsection[Packages and collections]{Packages and collections} +\label{packages} +The \TeXLive{} \texttt{texmf} tree consists of various `collections', +each of which refers to a set of `packages', of which there are over 700 +on the \CD{}. Normal installation allows the +user to copy all of a collection to a local hard disk from the \CD{}, but +it is also possible to install just one package of a collection. + +The collections add functionality to a \TeX\ system. One of them, named +`tex-basic', is necessary for almost all \TeX\ tasks, +and two others, called `tex-latex' and `tex-pdftex' are highly +recommended for most users. All others are optional. +The collections (defined by XML files in \texttt{texmf/tpm/collections}) +and their short descriptions are listed below. + +\begin{description} + \item[tex-basic] + These files are regarded as basic for any \TeX\ system, covering +plain \TeX\ macros, Computer Modern fonts, and configuration for common +drivers. + \item[tex-bibtexextra] + Additional, extensive libraries of BibTeX styles and bibliographies. + \item[tex-chemistry] + Essential chemistry + \item[tex-context] + Hans Hagen's powerful macro package, ConText + \item[tex-documentation] + Assorted useful documentation and guides + \item[tex-etex] + Support files for an extended \TeX\ + \item[tex-extrabin] + Various useful, but non-essential, support programs. Includes + programs and macros for texinfo system; programs for dvi file + manipulation, etc. + \item[tex-fontbin] + Programs for conversion between font formats, testing fonts + (virtual fonts stuff, .gf and .pk manipulation, + mft, fontinst, etc.) + \item[tex-fontsextra] + All sorts of extra fonts + \item[tex-formatsextra] + A collection of \TeX\ `formats', ie large-scale +macro packages designed to be dumped into .fmt file + \item[tex-games] + Setups for typesetting various board games, including chess + \item[tex-genericextra] + This is a mixed bag of macro packages and fonts which do not seem +to belong elsewhere + \item[tex-htmlxml] + Packages to convert \LaTeX\ to XML/HTML, and typeset XML/SGML + \item[tex-langafrican] + Support for some African scripts + \item[tex-langarmenian] + Essential armenian + \item[tex-langcjk] +Essential CJK (Chinese, Japanese, Korean) macros and fonts + \item[tex-langcroatian] + Essential croatian + \item[tex-langcyrillic] + Fonts and macro packages to typeset Cyrillic texts. + \item[tex-langczechslovak] + Pick this if you want Czech/Slovak fonts and other packages + \item[tex-langdanish] + Essential Danish + \item[tex-langdutch] + Essential Dutch + \item[tex-langfinnish] + Essential Finnish + \item[tex-langfrench] + Essential French + \item[tex-langgerman] + Essential German + \item[tex-langgreek] + Essential Greek + \item[tex-langhungarian] + Essential Hungarian + \item[tex-langindic] + Essential Indic + \item[tex-langitalian] + Essential Italian + \item[tex-langlatin] + Essential Latin + \item[tex-langmanju] + Essential Manju + \item[tex-langmongolian] + Essential mongolian + \item[tex-langnorwegian] + Essential Norwegian + \item[tex-langother] + Other languages + \item[tex-langpolish] + Pick this if you want Polish fonts and other packages + \item[tex-langportuguese] + Essential Portuguese + \item[tex-langspanish] + Essential Spanish + \item[tex-langswedish] + Essential Swedish + \item[tex-langtibetan] + Fonts and support for typesetting Tibetan + \item[tex-langukenglish] + Essential UK English + \item[tex-langvietnamese] + Essential Vietnamese + \item[tex-latex] + These packages are either mandated by the core \LaTeX\ team, +or very commonly recommended + \item[tex-latexextra] + A large collection of add-on packages for \LaTeX\ + \item[tex-mathextra] + Extra math + \item[tex-metapost] + MetaPost (and MetaFont) drawing packages + \item[tex-music] + Music typesetting packages + \item[tex-omega] + Omega, a 16-bit extended \TeX\ by John Plaice and Yannis Haralambous + \item[tex-pdftex] + Support files for Han The Thanh's variant of \TeX\ which can +generate PDF output + \item[tex-pictures] + Essential graphics + \item[tex-plainextra] + Plain \TeX\ extra macros + \item[tex-psfonts] + Essential psfonts + \item[tex-psutils] + Utilities to manipulate PostScript files + \item[tex-publishers] + Essential publishers + \item[tex-t1utils] + Utilities to manipulate Type1 fonts + \item[tex-texbooks] + Examples and other material from various books about TeX/LaTeX. + \item[tex-theses] + Macro packages from various Universities for their thesis styles + \item[tex-ttfutils] + Utilities to manipulate TrueType fonts + \item[win32-support] + You can choose individual tools from this collection. + There are many \TeX\ oriented editors, graphics files + toolsets, etc. +\end{description} + +The directory \texttt{texmf/tpm/packages} contains lists +of all files in each package (used by the installation programs). + +\section{Installation and use under Unix} +\label{sec:install} +You can use the \TeXLive{} \CD{} in three ways: +\begin{enumerate} +\item You can mount the \CD{} on your file system, run +the \texttt{install-cd.sh} script, and select the option \verb|<R>| + (`do not install files, set up to run off CD-ROM'), + and run everything off the \CD; this takes very + little disk space, and gives you immediate access to everything on + the \CD; although the performance will not be optimal, it is + perfectly acceptable on, for instance, PCs running Linux. You could + also copy the entire CD contents to your hard disk and work in this way. +\item You can install all or part of the system to your local hard + disk; this is the best method for many people, if they have enough + disk space to spare (a minimum of about 100 megabytes, or 300 + megabytes for a recommended good-sized system). +\item You can install selected packages to work either with your + existing \TeX{} system or a \TeXLive{} system you installed earlier. +\end{enumerate} +Each of these methods is described in more detail in the following +sections. + +\ifSingleColumn +\begin{figure*} + \begin{center} + \leavevmode +\fi +\begin{warningbox} +\textbf{Warning: } This \CD{} is in ISO 9660 (High Sierra) format, +with Rock Ridge and Joliet extensions. In order to take full advantage +of the \CD{} on a Unix system, your system needs to be able to use +the Rock Ridge extensions. Please consult the documentation for your +\cmdname{mount} command to see if it is possible. If you have several +different machines on a local network, see if you can mount the +\CD{} on one which \emph{does} support Rock Ridge, and use this with +the others. + +\leavevmode\quad +Linux, FreeBSD, Sun, SGI and DEC Alpha systems should be able to use +the \CD{} with no problems. We would appreciate receiving detailed advice +from other system users who also succeed, for future versions of this +documentation. + +\leavevmode\quad +The discussion below about installation assumes you have been able to mount +the \CD{} with full Rock Ridge compatibility. +\end{warningbox} +\ifSingleColumn + \end{center} +\end{figure*} +\fi + +%\begin{addbymb} +\subsection[Pre-installation procedure for MacOSX users] +{Pre-installation procedure for MacOSX users} +If you do not run MacOSX, you should skip this section. + +The \texttt{install-cd.sh} script is a \emph{sh} script (begins with +``\verb=#!/bin/sh=''), but +on MacOSX \cmdname{sh} is unable to run it because +\cmdname{sh} is +emulated. However, \cmdname{bash} will run it. Unfortunately (again) +\cmdname{bash} is not +installed by default on MacOSX\footnote{there are some suggestions this will +change in the future and even +that \cmdname{bash} will be used to emulate \cmdname{sh}, +in which case it might be true +that in future versions of MacOSX, the script will just work.}. +\begin{enumerate} +\item\label{test-bash} (optional) See if \path|bash| is already installed. +Launch \path|Terminal| +(\path|/Applications/utilities/Terminal|) and type in a window +\begin{alltt} +>> \Ucom{rehash; which bash} +\end{alltt} +the answer will be: +\begin{itemize} +\item the bash location (e.g. \path|/bin/bash| or \path|/usr/local/bin/bash|) if installed; +\item \texttt{bash: command not found} if not installed. +\end{itemize} + +If bash is already installed, skip to \ref{std-install} + +\item bash installation: +\begin{description} +\item[Mac friendly procedure] +Look in the \path|MacOSX| directory of the \CD{} +for an image disk named \path|bash.dmg|. mount that +file by double-clicking it. The disk image (volume) will be mounted. +Then start the \path|i-Installer| application on that volume. You will be asked +to authenticate, if you have never seen that before, you might not have +enough privileges to install. Just enter your own user name and +password. Hit install. \path|bash| will be installed on your system. +\item[Terminal procedure] +\begin{enumerate} +\item Log in as an admin user, at least a user with Admin privileges or +sudo user or as the System Administrator. +\item Open the \path|MacOSX| directory on the \CD{} and copy +\path|bash.tar.gz| +to your home directory (\texttt{\~{}/}) +\item Then launch \path|Terminal| and type or copy/paste the +line below in a Terminal window): +\begin{alltt} +>> \Ucom{(cd /usr/local/; sudo tar xvzf ~/bash.tar.gz)} +\end{alltt} +type a carriage-return: you will be asked for your password, and +\path|bash| will be +installed. +\item Quit \path|Terminal|. +\end{enumerate} +\end{description} +\item Now after using either install method, goto \ref{test-bash}: +you must obtain \path|/usr/local/bin/bash|\ldots{} (if not, try to log out and in). +\item\label{std-install} The installation procedure is the +same on MacOSX than on other UNIX platforms (as MacOSX is UNIX, +that's quite normal!). Nevertheless, you should read what follows: +\begin{itemize} + \item Note that in all commands of the following sections, +\cmdname{sh} must be replaced by \texttt{sudo bash}: +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +becomes +\begin{alltt} +>> \Ucom{sudo bash install-cd.sh} +\end{alltt} +etc. +\item On MacOSX, cd are auto-mounted: you \emph{don't} need to use +\texttt{mount}. The \CD{} will be mounted in the \path|/Volumes/| +directory: in order to make it the current directory, you just have to +type in \path|Terminal|: +\begin{alltt} +>> \Ucom{cd /Volumes/TeXLive-7...} +\end{alltt} +(complete this line with the real name of the \CD{}: using +``auto completion'' by pressing the \texttt{<tab>} +key will do it). +\end{itemize} +\end{enumerate} +%\end{addbymb} + +\subsection[Running \protect\TeXLive{} from the CD-ROM]{Running \protect\TeXLive{} from the \protect\CD} +The organisation of \Webc{} means that you can run programs simply by +adding the appropriate directory under \path|bin| on the \CD{} to +your \texttt{PATH}, and the support files will all be found with no further +ado. The following shows the list of available systems and the +corresponding directories. \textbf{Only x86 Linux, Mac OSX, and + Windows are available on the default CD. You need to ask +for the Unix CD if you need the other systems.} + +\begin{flushleft} +\begin{tabular}{@{}l>{\ttfamily}ll} +Compaq Alpha Linux & alpha-linux & CD2\\ +Compaq Alphaev5 OSF 4.0d & alphaev5-osf4.0d & CD2\\ +HP9000 HPUX 10.20 & hppa2.0-hpux10.20 & CD2\\ +IBM RS 6000 AIX 4.2.* & rs6000-aix4.2.1.0 & CD2\\ +Intel x86 Solaris 2.8 & i386-solaris2.8 & CD2\\ +Intel x86 with GNU/Linux & i386-linux & CD1\\ +Mac OSX & powerpc-darwin5.3 & CD1\\ +Sun Sparc Solaris 2.7 & sparc-solaris2.7 & CD2\\ +Windows 9X/ME/NT/2K/XP & win32 & CD1\\ +\end{tabular} +\end{flushleft} + +You may worry that when you subsequently make fonts or change +configuration, things will go wrong because you cannot change files on +the \CD{}. However, you can maintain a parallel, writeable, \TeX{} +tree on your hard disk; this is searched before the main tree on the +\CD{}. The default location is \path|texmf-var| on the CD +(which does not exist!), so you \emph{must} override this by setting +the \texttt{VARTEXMF} environment variable. + + +Thus \emph{sh} or \emph{bash} users on an Intel PC +running Linux can mount the \TeXLive{} \CD{} on +\file{/mnt/cdrom} by issuing the command: + +\begin{alltt} +>> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} +Then they should change the current directory to \path|/mnt/cdrom|, run +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +and select the option \verb|<R>| (\emph{do not install files, set up to run +off CD-ROM}). After that, they should include the directory containing +the binaries for the given architecture into the search path +by updating the \texttt{PATH} variable. +\begin{verbatim} +PATH=/mnt/cdrom/bin/i386-linux:$PATH +export PATH +VARTEXMF=/usr/TeX/texmf-var +export VARTEXMF +\end{verbatim} +%\begin{addbymb} +\begin{description} + \item[MacOSX users] On MacOSX, the default shell is \texttt{tcsh}: +\begin{verbatim} +setenv PATH /Volumes/<cd-name>/bin/powerpc-darwin5.3:${PATH} +setenv VARTEXMF /usr/TeX/texmf-var +\end{verbatim} +\end{description} +%\end{addbymb} +For convenience, these statements can also be entered into the +\texttt{.profile} script. +%\begin{addbymb} +(for \texttt{tcsh} on MacOSX, +\verb=~/Library/init/tcsh/rc.mine=). +%\end{addbymb} + +If in doubt, ask your local system support guru to help you work out +how to mount your \CD{} or which directory to use for your system. + +Appropriate support files will be installed on your hard disk the +first time you need them. You can edit and change local configuration +files which are stored to the directory designated +by \texttt{\$VARTEXMF}. Any format file that is needed +will be generated and stored here. + +%------------------------------------------------ +\subsection{Installing \protect\TeXLive{} to a hard disk} +All of the necessary steps to install all or part of the distribution +on your hard disk are achieved by mounting the \CD{}, changing to the +top-level directory, and typing: +\begin{alltt} +>> \Ucom{sh install-cd.sh} +\end{alltt} +(On some Unix systems, you may need to use \cmdname{sh5} or +\cmdname{bash}.) This script works by accessing lists of collections +and packages from the \CD{}, and trying to guess what sort of computer +system you are on. It should start by displaying the following: +\verbatiminput{../examples/ex1.tex} +It will then show the main control screen +(Figure~\ref{ins1}), which lets you change five +things: +\begin{enumerate} +\item the type of system you are on, or want to install for; +\item the \emph{installation scheme} you want to use (eg full, + recommended, basic etc) +\item the collections you want to change from +the installation scheme (they are organised into two sets: +\emph{standard collections} and \emph{language collections}); +\item the location on your hard disk to put the files; +\item some runtime behaviour features. +\end{enumerate} + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex2.tex} +\else +\begin{minipage}{0.8\textwidth} +\boxedverbatiminput{../examples/ex2.tex} +\end{minipage} +\fi +\caption{Main control screen}\label{ins1} +\end{center} +\end{figure*} + +You choose options by typing a letter or number and pressing `return'. +In the example, a Linux GNU/Linux system has been detected, the +default set of collections will be installed, and +the default installation directory is \path|/usr/TeX|; note +that the disk space required for the current installation +configuration is also displayed. If you make a suggested setup, you +need about 60 megabytes of disk free; however, the basic setup will +only take about 30 megabytes, and you can enhance it with selected +packages as you need them. + +%\begin{addbymb} +\begin{description} + \item[MacOSX users] Most frontends (\emph{TeXShop}, + \emph{ITeXMac}\ldots) use the \teTeX{} default location + which is \path|/usr/local/teTeX|, so, Mac users could find interest + in installing \TeXLive{} in \path|/usr/local/teTeX| +rather than in \path|/usr/TeX|. +\end{description} +%\end{addbymb} + +Under the directory you choose for installation, the installation +script will put the binaries in a subdirectory of \path|bin|, and the +support tree in \path|texmf|. An additional tree \path|texmf-var| +will contain copies of configuration files (except the main +\path|texmf.cnf|), which are to be modified by \path|texconfig| program. +This tree will also store generated format files for \TeX, \MF, etc. + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex3.tex} +\else +\begin{minipage}{.80\linewidth} +\footnotesize +\boxedverbatiminput{../examples/ex3.tex} +\end{minipage} +\fi +\caption{Selecting standard collections}\label{ins2} +\end{center} +\end{figure*} + +\begin{figure*} +\begin{center} +\ifnum\Status=2 +\boxedverbatiminput{../examples/ex4.tex} +\else +\begin{minipage}{.80\linewidth} +\footnotesize +\boxedverbatiminput{../examples/ex4.tex} +\end{minipage} +\fi +\caption{Selecting language collections}\label{ins3} +\end{center} +\end{figure*} + +When you choose |<C>| for \emph{standard collections}, you will see +the display of available collections (Figure \ref{ins2}). Each +collection --- TeX macro files, Metafont font families, and so on --- +consists of several packages. You can toggle their inclusion on or +off by pressing the key. Note that the selection letter keys are case +sensitive. + +When you choose |<L>| for \emph{language collections}, you will see +the display of available language support collections (Figure +\ref{ins3}). Each collection consists of several packages, which +provide features like hyphenation files and fonts. + +The |<O>| for \emph{options} item lets you decide whether to make new fonts +be created in another location (if you want the main package mounted +read-only for most users), and whether to make symbolic links for the +binaries, \cmdname{man} and \acro{GNU} \cmdname{info} pages in the `standard' +locations; you'll need `root' permissions for tasks to do this, of course. + +When you are finished, return to the main screen, and ask the +installation to start. It will take each of the collections and +systems that you requested, consult the list of files on the \CD{}, +and build a master list of files to transfer. These will then be +copied to your hard disk. If you installed a system, +an initialization sequence is now run +(creating format files, etc.). When this has finished, all you need do +is add the correct subdirectory of \texttt{bin} in the \TeX{} +installation to your path, and start using \TeX. If you want, you can +move the binaries up one level, e.g.\ from +\path|/usr/local/bin/alpha-osf3.2| +to \path|/usr/local/bin|; if you do this, however, you must +edit \path|texmf/web2c/texmf.cnf| (see Appendix~\ref{app:texmf.cnf}) +and change the line near the start which reads +\begin{verbatim} + TEXMFMAIN = $SELFAUTOPARENT +\end{verbatim} +to +\begin{verbatim} + TEXMFMAIN = $SELFAUTODIR +\end{verbatim} + +If you move the whole installation to another directory tree entirely, you +need to edit \envname{TEXMFMAIN} to specify the support tree explicitly, and +set \envname{TEXMFCNF} in your environment to \path|$TEXMFMAIN/texmf/web2c|. + +%------------------------------------------------ + +\subsection{Installing individual packages from \protect\TeXLive{} to a hard + disk} You may want to use the \TeXLive{} \CD{} to either update an +existing setup, or add features to an earlier installation from the +\CD{}. The main installation program is intended for the first time +only, and subsequently you should use the \texttt{install-pkg.sh} +script on the \CD{}. Run this by mounting the \CD{}, changing to +the mounted directory, and typing + +\begin{alltt} +>> \Ucom{sh install-pkg.sh \emph{options}} +\end{alltt} + + +The script supports nine options; the first four let you set the +individual package you want to install, the whole collection (i.e., +\texttt{tex-mathextra}), the name of the mounted \CD{} directory, and +the name of the directory containing the list files (normally these +latter two will be set automatically): + +\begin{tabular}{ll} +\texttt{-{}-package=}\emph{name} & \\ +\texttt{-{}-collection=}\emph{name} & \\ +\texttt{-{}-cddir=}\emph{name} & \\ +\texttt{-{}-listdir=}\emph{name} & \\ +\end{tabular} + +What actually happens is controlled by four more switches; the first +two allow you to exclude documentation or source files from the +installation, the third stops the default action of running +\texttt{mktexlsr} on completion to rebuild the file database, and +the last does nothing but list the files that would be installed: + +\begin{tabular}{ll} +\texttt{-{}-nodoc} & \\ +\texttt{-{}-nosrc} & \\ +\texttt{-{}-nohash} & \\ +\texttt{-{}-listonly} & \\ +\end{tabular} + +Finally, you can specify that, instead of installing the files, the script +should make a \cmdname{tar} archive in a specified location: + +\begin{tabular}{ll} +\texttt{-{}-archive=}\emph{name} & \\ +\end{tabular} + +Thus, if we simply wanted to see the files that make up the package +\pkgname{fancyhdr} before we installed it, our command and output would be +as follows: + +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else>> \Ucom{sh install-pkg.sh -{}-package=fancyhdr \bs} +>> \Ucom{-{}-listonly} +\fi{} +texmf/doc/latex/fancyhdr/fancyhdr.dvi +texmf/doc/latex/fancyhdr/fancyhdr.tex +texmf/lists/fancyhdr +texmf/source/latex/fancyhdr/README +texmf/source/latex/fancyhdr/fancyheadings.new +texmf/tex/latex/fancyhdr/extramarks.sty +texmf/tex/latex/fancyhdr/fancyhdr.sty +texmf/tex/latex/fancyhdr/fixmarks.sty +\end{alltt} +Other examples of usage are: +\begin{itemize} +\item Install the \LaTeX{} package \texttt{natbib}: +\begin{alltt} +>> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} +\item Install the \LaTeX{} package \texttt{alg} with no source files and no +documentation: +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else>> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +>> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} +\item Install all the packages available in the collection containing additional +Plain \TeX\ macros: +\begin{alltt} +>> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} +\item Place all files which are needed for PSTricks +in a \cmdname{tar} file in \path|/tmp|: +\begin{alltt} +\ifSingleColumn>> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +>> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +>> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} +\end{itemize} + +\subsection{The texconfig program} +\label{ssec:tex} + +After the installation program has copied all files to their final +locations, you can use a program called \cmdname{texconfig} that +allows you to configure the system to fit your local needs. This can +be called at any other time to change your setup, with a full-screen +(which requires the \cmdname{dialog} program, included as part of the +binary packages) or command-line interface. +It should be used for all maintenance, such as changes of installed +printers, or rebuilding the file database. Both modes have help text +to guide you through the facilities. + +\section{Installation and use under Windows} +\label{sec:wintex} +This section only applies to systems running Windows 9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. + +It is also necessary to have your Windows set up so that it uses the +Microsoft Joliet extensions for reading \CD s; simply look at the +\CD{} in Explorer and see whether it shows long, mixed-case, file +names. If it does not, you cannot use the ready-to-run system on the +\CD. + +This Win32 \TeX{} systems includes a \texttt{dvi} previewer, +\textsf{Windvi}, which is similar in usage to the established Unix +\textsf{xdvi}. The documentation can be found in +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\subsection[The TeXLive.exe program]{The \texttt{TeXLive.exe} program} + +\begin{figure*} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \else + \ifnum \Status=2 +\includegraphics[bb=20 20 575 432]{../pictures/Welcome-to-TeXLive.gif} + \else + \includegraphics[width=.7\textwidth]{../pictures/Welcome-to-TeXLive} + \fi + \fi + \end{center} + \caption{``Welcome to \TeXLive'' window}\label{graph:welcome} +\end{figure*} + +If your computer is configured to let the \CD{} autostart, then a +dialog box with a menu bar will popup on the screen, and you will have several choices +from there: +\begin{itemize} +\item Install \TeX{} on your hard disk, +\item Install TeX-oriented editors on your hard disk, +\item Install support packages on your hard disk (Ghostscript, NetPBM, + \ldots) +\item Do some maintenance on you \TeX{} system, +\item Remove the \TeX{} system, +\item Use \TeX{} off the \CD{}, +\item Cleanup the temporary files created on your hard disk when using + \TeX{} off the \CD{}, +\item Update some of the DLLs on your system, +\item Browse some documentation: \TeXLive{} documentation, TUG web + pages, \fpTeX web pages, +\item Run the \cmdname{TeXdocTK} application to find specific documentation. +\end{itemize} + +If your \CD{} does not autostart, you can explicitly run the program +by double clicking on \path|bin/win32/TeXLive.exe| on the \CD{} from +the explorer window. + +\subsection[Running \protect\TeXLive{} from the CD-ROM]{Running from +the \protect\CD{}} +You can run all the \TeX{} programs directly off the \CD, and have +access to all the macros and fonts immediately, at the price of a +slower performance than if you install on the hard disk. +To work effectively, one needs to modify +environment variables and to create some small auxiliary directories on a +hard disk. These directories will contain necessary configuration files +allowing the user to modify programs settings and to generate a necessary +format file. Moreover, automatically generated font files will be stored +there too. + +Should you want to run \TeX{} this way, you will have to follow these +steps: +\begin{enumerate} +\item from the menu, chose \verb|Explore CD-Rom|, then + \verb|Select a text editor|, a dialog box will open to select some \path|.exe| + program. + + This program needs to be a \TeX{} oriented editor. It must be able + to run the \TeX{} compiler, previewer and any other needed tool. If + you don't have one already installed on your system, you can install + one from the \CD{}, details section~{\ref{sec:texlive-install}}. + + \emph{There is no way we can guess if the program you will + select is actually a text editor, so be careful}. + Here is a list of frequently used \TeX{} editors: +\begin{center} + \begin{tabular}[ht]{ll} + GNU Emacs & \path|c:\Program Files\NTEmacs\bin\runemacs.exe| \\ + XEmacs & \path|c:\Program Files\XEmacs\XEmacs-21.2\i586-pc-win32\xemacs.exe| \\ + WinShell & \path|c:\Program Files\WinShell\WinShell.exe| \\ + WinEdt & \path|c:\Program Files\WinEdt Team\WinEdt\WinEdt.exe|\\ + TeXnicCenter & \path|c:\Program Files\TeXnicCenter\TEXCNTR.exe| + \end{tabular} +\end{center} + The program + selected will be memorized as the editor to use for future runs. + +\item from the menu, chose \verb|Explore CD-Rom|, then + \verb|Run TeX off CD-Rom|. The environment will be modified, a small + temporary directory created and some configuration files copied + there. Then, the selected editor selected will be launched, and you + will be able to type in some text, let \TeX{} typeset it and the + view it or print it. + + If Ghostscript is not detected on your machine, you will be warned + that rendering your DVI files might fail. You can install it from + the \path|Install|, \path|Support| menu item. See + section~\ref{sec:texlive-install} for details. + +\item you can select a different text editor any time you want. + +\item if you chose \verb|Cleanup CD-Rom setup|, everything \TeX{} + needed will be removed, comprised the selection of your text + editor, but not the extra packages you may have downloaded and + installed. If you installed \cmdname{WinShell} or \cmdname{NTEmacs}, +they won't be removed. +\end{enumerate} + +The editor is run inside a modified environment. A temporary TDS +compliant texmf tree is build in the temporary area of your computer. +It is needed to store files that may be build on the fly like pk font +files or format files. Configuration files are copied from the \CD{} +to this texmf tree, so that you can edit them if needed. The \path|ls-R| +database is computed for this texmf tree. +Then the \texttt{PATH} and \texttt{TEXMFCNF} environment +variables are set locally, and the editor is run in +this local environment. From within your editor\footnote{Actually, you can + state any other program than a text editor, and select your command + processor for example. You will then get a console with the right + settings to use \TeX{} from the \CD{}.}, you have access to a full +\TeXLive{} environment, all files referenced on the \CD{}. + + +\smallskip {\small\noindent \textbf{[For advanced users:]} You can + also use the small batch file \path|mkloctex.bat| to be called in a + directory \path|setupw32| of the \CD. From the Start menu select + `Run', then browse CD drive and select \path|mkloctex.bat|. Before + starting it, you should add two parameters separated by a space: the + letter of your CD drive and the letter of the hard disk where you + want to install the \TeX\ directory. The whole line should read, + e.g., \verb+d:\setupw32\mkloctex.bat d c+. When installation is + complete, please read carefully the information on screen. If you + are running Windows 9x/ME, then you will have to restart Windows. } + +\subsection{Installing editors or support packages} +\label{sec:texlive-install} + +You can already use the \path|TeXSetup.exe| program to install a +single, not \TeX{} dependent package. This might be either an editor +like \cmdname{WinShell} or \cmdname{NTEmacs}, +or also a support package like \cmdname{NetPBM} +(graphics formats conversion) or \cmdname{Ghostscript}. + +Some of the packages are not free, or not with the same meaning as for +the rest of the \CD{}. These packages have been made available through +the Internet. You need to enable an Internet connection in order to +install them. Chosing the \path|Enable Internet access| subitem will +search your system for an active Internet connection, or start one if +possible. \emph{If your computer is not connected to the Internet, + then the timeout might be long, 30s or more}. So try to enable it +only if you know you have a connection. + +Only a few packages are available from the \CD{}, but the most +important of them: \cmdname{NTEmacs} and \cmdname{WinShell} for the +editors, \cmdname{Ghostscript} and \cmdname{NetPBM} for the other +support packages. \cmdname{NetPBM} is needed for running \TeX{}4ht. + +The downloadable packages are sometimes huge: \cmdname{Perl} is 10Mb, +\cmdname{XEmacs} is 50Mb, so be warned that it can take a lot of time +to install such things. \path|TeXSetup.exe| does not yet provide an +estimation of the time needed to complete the download. + +When installing these packages, \path|TeXSetup| is working in +unattended mode. However, the programs that have their own installer +like WinEdt or Ghostscript for example will require human interaction. + +Those packages who have no specific installer will be unpacked and configured +for your system. You will be required to select some directory where +they will be installed. The directory to select should be the root +directory of the whole installation. Assuming you want to install +NTEmacs and NetPBM, the archive files already contain the +\path|NTEmacs\| and \path|NetPBM\| part, so the directory you have to +select is something like \path|c:\Local| or \path|c:\Program Files|. + +\subsection{Installing to your hard disk} + +Installation is started by letting the CD autostart, and +selecting the item \verb|Install| from the menu, then the subitem +\verb|TeXLive|. This will invoke the \path|TeXSetup.exe|. You can also find +it in the \path|bin/win32| directory and run it. \path|TeXSetup.exe| +is a Windows wizard and it will display several pages while running. + +\begin{description} +\item[Welcome Page] + You can choose a \emph{quick} installation from + there, in this case, the installation will run without any human + assistance from beginning to end, with all the default settings + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). However, if you chose to install any support program that has its + own installer like WinEdt or Ghostscript, your intervention might be required. + If you have enough privileges (administrator or power user rights) + under a Windows version where it is applicable, then you can decide + to install the \TeXLive{} for all users or for yourself only by + checking the appropriate box. + + \begin{figure*}[!htb] + The \cmdname{TeXSetup} Wizard\hfill + Source directories for the \TeXLive{} files + + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard.jpg}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/setup-wizard.gif} +\includegraphics[bb=0 0 506 403]{../pictures/source-for-texlive.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/setup-wizard}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/source-for-texlive} + \fi + \fi + \caption{The \TeXLive{} setup wizard}\label{graph:setup-src} + \end{center} +\end{figure*} +\item[Source Page] + This page is a bit complex. It will allow you to select two source + directories for your \TeXLive{} system + (Figure~\ref{graph:setup-src}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). You will need a \emph{local + source directory} and possibly a \emph{remote source directory}. + + Why do we need both these directories? The very files of the + \TeXLive{} system are on the \CD{}, but some other packages useful + under a Win32 system are not, either because of space lacking or + because their license was not compatible with the \TeXLive{}'s one. + You need to enable Internet downloading if you want to install these + support packages. + + However, don't panic: the default parameters of the setup will allow + you to install a full system using the \CD{} only. Simply, you won't + have \file{WinEdt} for example, but you will be able to install it + later. + + So you can take your files from: + \begin{itemize} + \item the \CD{} or any similar flat tree of files, available through + some standard directory (this means the \CD{} can be mounted on + some remote machine and be made available through network + sharing), + \item a set of \file{.zip} files (this is the case when you are + installing the + \fpTeX{} distribution), + \item the Internet, in this case, the program takes care of + downloading the \file{.zip} files it needs for you. + \end{itemize} + This option is available only if you enable Internet file + downloading in the right part of the page. You also need to + configure this Internet access by selecting to connect either using + Internet Explorer~5 \file{wininet.dll}, or using a direct connection (\texttt{ftp}, + \texttt{http}). +% or using a proxy server. +% Last, you can be assisted in defining the \emph{local source +% directory} and \emph{remote source directory} which will be used +% to copy the files onto your hard disk. The \texttt{browse} buttons +% allow to select a directory for the former, and an url among a list +% of mirrors for the latter. +\item[Root Page] + On this page, you will tell where you want the files to be + installed (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Only the root directory really matters, the other ones + are set according to the root one. You may want to make + \path|$TEXMFEXTRA| point to some TDS compliant directory with other + \TeX{} files or assign a different value to + \path|$HOMETEXMF|, which is set by default to whatever Windows think + is your `HOME' location. +\begin{figure*}[!htb] + Root and directories\hfill% + Scheme selection + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation.jpg}\hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection.jpg} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/root-of-installation.gif} +\includegraphics[bb=0 0 506 403]{../pictures/scheme-selection.gif} + \else + \includegraphics[width=.46\textwidth]{../pictures/root-of-installation}% + \hfill% + \includegraphics[width=.46\textwidth]{../pictures/scheme-selection} + \fi + \fi + \caption{\TeXLive-Setup: Root and directories / Schemes}\label{graph:root-schm} + \end{center} +\end{figure*} +\item[Get TPM Page] + This page does not require any manual intervention. The \file{.tpm} + files which describe collections and packages are retrieved + (possibly from the Internet), unzipped if needed and parsed. +\item[Schemes Page] + On this page, you will select the global scheme of your + installation (Figure~\ref{graph:root-schm}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). A scheme is a large set of files targeted at some kind + of usage. There are 3 generic schemes for basic, recommended and + full installation. The other ones are devoted to LUGs (what GUST or + GUTenberg propose for their members) or applications (XML and + \TeX{}). + When a scheme is selected, it is still possible to refine the + selection by checking the appropriate box. If doing so, you will be + presented the packages page to change your selection, else you will + jump to the review page. +\item[Packages Page] + Collections and packages are presented in a tree form + (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). The links + in the tree are dependency links. Collections \emph{depend on} + packages and maybe other collections, and it is the same for each + package. You can select any package or collection individually, but + your request will be granted only if the object is not requested by + another one which is selected. For example, you can't deselect + \texttt{tex-basic} without deselecting all the collections that + request it. + + The \texttt{win32-support} collection displayed on the picture is Win32 specific. It + holds a number of bonus packages (Figure~\ref{graph:win32-support}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ) which can be installed + automatically and individually: Ghostscript, the PostScript + interpreter, \TeX{} oriented editors, tools like Perl, + \LaTeX{}2HTML, etc. \emph{None of these packages are selected by + default}. Some of them have an Internet Explorer icon on their + right, this means that they are not on the \CD{} and they will be + available only if you previously enabled Internet + downloading. \emph{This collection cannot be selected entirely at + once: you need to select the packages individually}. This is to + avoid unwanted downloads of huge files. + + On this page, you also have the information about disk space + needed, for each object, and for the set of those who are selected, + and also the disk space available on the partition selected for the + installation. Last, you can choose to install or not the + documentation files and source files associated with each package. +\item[Review Page] + You will find there a summary of your choices + (Figure~\ref{graph:review}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). It is still time to + go back to change them. +\begin{figure*}[!htb] + Packages Page\hfill% + Win32 Support + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/package-selection}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \else + \ifnum \Status=2 +\includegraphics[bb=0 0 506 403]{../pictures/package-selection.gif}\hfill% +\includegraphics[bb=0 0 506 403]{../pictures/win32-support.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/package-selection}% + \hfill% + \includegraphics[width=.48\textwidth]{../pictures/win32-support} + \fi + \fi + \end{center} + \caption{Packages Page / Win32 goodies} + \label{graph:win32-support} +\end{figure*} +\item[Files Copy Page] + The selected files are copied on your hard disk (Figure~\ref{graph:file-copy}, + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). All the files not + yet available on your local disk are first downloaded from the + remote source directory on the Internet. Then every package is + unpacked (if \path|.zip| files), or copied from the \CD{}. +\item[Configuration Page] Several packages need some configuration + step to make them usable (Figure~\ref{graph:configuration}, + \ifnum \Status = 1 + on the left% + \else\ifnum \Status=2 + at the top% + \else + on the left% + \fi\fi + ). Also the \TeXLive{} system needs some post-processing step + (format files generation, ls-R databases generation, environment + variables, etc.). All these operations are done there, some of them + can be lengthy. +\begin{figure*}[!htb] + \textbf{Review Page}\hfill% + \textbf{File Copy Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/review-settings.gif}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/file-copy.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/review-settings}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/file-copy}% + \fi + \fi + \end{center} + \caption{Review Page / File Copy Page} + \label{graph:review}\label{graph:file-copy} +\end{figure*} +\item[Final Page] The installation being over, you may want to display + the Windows specific documentation (HTML format) and / or the log + file of the setup process (Figure~\ref{graph:final} + \ifnum \Status = 1 + on the right% + \else\ifnum \Status=2 + at the bottom% + \else + on the right% + \fi\fi + ). If it is needed (Win9x/WinME), you will + be asked to reboot your computer. +\end{description} + +\begin{figure*}[!htb] + \textbf{Configuration Page}\hfill% + \textbf{Final Page} + \begin{center} + \ifnum \Status=1 + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations} + \else + \ifnum \Status=2 + \includegraphics[bb=0 0 506 403]{../pictures/configuration.gif}\hfill% + \includegraphics[bb=0 0 506 403]{../pictures/congratulations.gif} + \else + \includegraphics[width=.48\textwidth]{../pictures/configuration}\hfill% + \includegraphics[width=.48\textwidth]{../pictures/congratulations}% + \fi + \fi + \end{center} + \caption{Configuration Page / Final page} +\label{graph:configuration}\label{graph:final} +\end{figure*} + +Please be aware that the choice of cluster size on DOS disk +partitions can radically affect the size of your \TeX\ +installation. The support tree has hundreds of small files, and it is +not unusual for a complete installation to take up to 4 times the +amount of space used on the \CD. + + +\section[Maintenance and other aspects of the \protect\TeXLive{} +installation under Windows]{Maintenance and other aspects of the \protect\TeXLive{} +installation under Windows} + +\subsection{What's different under Win32 from the standard \Webc ?} +The Win32 version of \Webc{} has some specific features that need to +be noticed. + +\begin{description} +\item[\KPS{}] the hash-tables that \KPS{} builds are quite large for + the \TeXLive{}. In order to cut down the starting time of any + \KPS{}-enabled program, these hash-tables have been put in shared + memory. This way, when you chain the execution of several such + programs, like \path|tex| calling \path|mpost| calling \path|tex|, + the overhead when starting each of the programs but the first will + be reduced. This change is hidden to the user, except if you set the + debug flag of kpathsea to the \path|-1| value: you will then trace + access to the shared memory, which is not what you want (it is + accessed very often!). What is useful in a log trace of the shared + memory access is still to be defined, so the situation might evolve + in the future. +\item[\cmdname{kpsecheck}] this command provides some option that did + not fit well into \cmdname{kpsewhich}. It will allow you to list all + the files that occur multiple times across your texmf trees. This + could be handy, but most of the time you will also get unwanted + output (like dozens of \path|README| files)\footnote{It is noticeable + that all these files result in clashes inside the \KPS{}-hashing + mechanism, fortunately, \KPS{} never look for these files.}. For + this reason, you can combine the \path|-multiple-occurences| with 2 + other options for including or excluding any filename that match + some pattern (you can request for several patterns). + + The \cmdname{kpsecheck} command will also report the status of + shared memory: in use or not used. That might be useful to know + because if the status reported is ``in use'', that means one or + several processes are working, and the effect of any + \cmdname{mktexlsr} command will be delayed until the next time where + no \KPS{} linked process will be running. + + Last, this same command will report about the location it thinks + Ghostscript can be found. Under Win32, for many programs, it is + easier to use the Ghostscript dll, and find it by using the + Ghostscript registry key than to change the \path|PATH|, which has a + limited length anyway. +\item[\Webc{}] the engines have a few more options than the ones from regular + \Webc{}, and one option with a different behaviour: + \begin{itemize} + \item the \path|-fmt| option behaves differently. Previously and + with the regular \Webc{} distribution, this option has 2 different + meanings when you are in ``ini'' or ``vir'' mode. Under Win32, it + has the same meaning: preload the format file specified with the + argument. The meaning of building a format of such name in ``ini'' + mode is obtained by the new \path|-job-name| option. + \item \path|-job-name| option: allows to set the name of the file + resulting from the compilation process. In normal mode, it will + change the base name of all files produced (\path|.dvi|, + \path|.aux|, etc.), while in ``ini'' mode, it will set the name of + the format file written. + \item \path|-halt-on-error| stop the compilation at the first error. + \item \path|-job-time| set the job time to the same timestamp as the + file given in argument. + \item \path|-output-directory| allow to write all the output files in the + specified directory. + \item \path|-time-statistics| print statistics about the job run + time. It is to be noted that Win9x not being a true multitasking + operating system, it has no reliable timer for short periods, so + the value printed is an approximation. Under NT/2K/XP, the result + is quite accurate with user time and system time values allocated + for this run. For Unix + users: the \path|time| command is not usually available to Windows + users. + \end{itemize} +\end{description} + +\subsection{Adding packages to your installation} + +You will find an option in the \texttt{TeXLive} menu (or go to +\texttt{Start -> Programs -> TeXLive -> Add TeX package} menu) to run again +\file{TeXSetup.exe}, but in maintenance mode this time. The steps you +will go through are almost identical to the ones the first time you +run it. + +The only different step is about the packages selection page. In +maintenance mode, the list of installed packages is compared to the +list of packages available from your source directories. Packages that +are not installed will be displayed in green, out of date packages +will be displayed in red and up to date, installed packages are +displayed in black. + +This way, you can choose to add or upgrade components, either from +your \CD{} or from the +Internet, where you are likely to find some more recent version of +your packages. + +It is up to you to select which ones of the packages you want to +install. The rest of the process is similar to the first installation. + +If you want to add files that are not provided by the \TeXLive{} (or +\fpTeX{}) distribution, it is recommended to put them in the +\path|$TEXMFLOCAL| directory. This way, you will be safe against +upgrades of the \TeXLive{} software. + +The directory pointed to by \path|$TEXMFLOCAL| is initially empty. If +you want to add there the support file for Maple (symbolic computation +program) for example, you will have to put the style files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\tex\latex\maple\|\\ +and the documentation files in:\\ +\path|c:\Program Files\TeXLive\texmf-local\doc\latex\maple\| + +Next, \textbf{do not forget to rebuild the ls-R databases files}, +either by using the right menu (Start -> Programs -> TeXLive + -> Maintenance), either by manually running the \file{mktexlsr} + command. + +\subsection[Removing \protect\TeXLive{} from your hard disk]{Removing + \protect\TeXLive{} from your hard disk} + +The uninstall procedure is available either from the +\file{TeXLive.exe} program, from the \path|TeXLive| menu or from the +control panel (Start menu -> Control Panel, Add/Remove Programs +option). This procedure will cleanup your hard disk of most of the +\TeXLive{} files. However, \TeX{} is a system that is creating files +and there is no mechanism to keep track of all of them. Moreover, +Win32 support packages have their own uninstall procedure, which you +will have to run separately (provided you want to get rid of them). Last, +the files you may have stored in \path|$TEXMFLOCAL| won't be +removed. So, even if the vast majority of files are automatically +removed by the uninstall procedure, you will have to do some manual +cleanup to actually remove all of them. + +\subsection{Running \texttt{TeXSetup.exe} from the command line} + +The \path|TeXSetup.exe| program has a number of other interesting +options. You can get the list by running: +\begin{verbatim} +c:\>TeXSetup --help +\end{verbatim} + +Here is the description: +\begin{description} +\item[\path|--automatic-reboot|] reboot without waiting user + confirmation once installation is over; +\item[\path|--dry-run|] do nothing, just log everything that will be + done without this option; +\item[\path|--quick|] use the recommended installation and default + directories, ask nothing up to rebooting; +\item[\path|--net-method (=ie5/direct)|] enable to download components with + restricted licenses from the Internet (either using direct + connection of Internet Explorer 5 DLLs): you need to have an available + network connection and some of the packages are huge; +\item[\path|--remote-source-directory <url>|] this is the base url for the remote packages; +\item[\path|--local-source-directory <dir>|] by default, \path|TeXSetup.exe| + will guess the root directory of the set of files you want it to act on, if you ever + upgrade \path|TeXSetup.exe|, you won't be able to copy the new version + onto your \CD{}, so you will need to use this option to specify the + root of the \CD{}; +\item[\path|--installation-directory <dir>|] this is the root of your + installation, all files will be copied under this location. The + default value is \verb+c:\Program Files\TeXLive+; +\item[\path|--texmfmain-directory <dir>|] +\item[\path|--texmflocal-directory <dir>|] +\item[\path|--texmfextra-directory <dir>|] +\item[\path|--texmfhome-directory <dir>|] +\item[\path|--vartexmf-directory <dir>|] +\item[\path|--vartexfonts-directory <dir>|] these are the directories + used to configure the location of your files. They map directly to + the \path|texmf.cnf| variables. +\item[\path|--with-source-files(=yes/no)|] copy the source files + for \TeX{} packages, default value is no; +\item[\path|--with-documentation-files(=yes/no)|] copy documentation files for \TeX{} + packages. Default value is yes. Beware: this is only documentation about specific + packages, general documentation will be installed anyway; +\item[\path|--program-folder <folder>|] the name of the folder under + which you will find the menus; +\item[\path|--add-package <pkg>|] this is used to add or update a specific + package after a first regular installation; +\item[\path|--scheme <pkg>|] install the named scheme instead of the + default \path|texlive-recommended| scheme; +\item[\path|--maintenance|] mostly the same as \path|--add-package| + without specifying a package to add; +\item[\path|--uninstall|] this option will remove anything \TeX{} related coming from + the \CD{}, which means there can be files left if you added style + files or format files, and also that supplementary tools will not be + removed\footnote{This option is still a bit crude as of \today}; +\item[\path|--help|] this option opens up a box with the list of options. +\end{description} + +\subsection{Network installation} + +\KPS{} knows about UNC names, so you can use them to get your TEXMF +tree from the network. But there is better than this. +All the support files and configuration files, everything except the files in the +\path|bin/win32| are shareable with a \teTeX{} or Unix \TeXLive{} installation. That means +you can use Samba either to mount from an NT server to a Unix +workstation or the converse. Several strategies are possible: +\begin{itemize} +\item Put everything on the server. Just add each set of files for the os and +architecture you want to use in the \path|bin| directory. That means +for example \path|bin/win32| and \path|bin/i386-linux|. Next configure +your main variables. You can use UNC names to +point to the right directories under Win32. +\item Install a local copy for the binaries and format files. In this + case, assign \path|$TEXMFMAIN| to the main \path|texmf| tree that + will be accessed remotely. Set \path|$VARTEXMF| to be a local + directory which will hold local configuration files and on-the-fly + generated files. +\end{itemize} + +\subsection{Personal Configurations} + +\subsubsection{\cmdname{WinShell}} +\label{sec:winshell} + +Start this program from the Start menu or from the Desktop shortcut. +Go to \textbf{Options} \verb+->+ \textbf{Program Calls}. + +\begin{itemize}\itemsep 0pt +\item In the DVIWin tab, if the filename is \textbf{yap}, replace it +with \textbf{windvi.exe}. +\item In Ghostview tab, make sure it gives the correct path for +gsview32.exe:\\ +\hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (for 3.6, the +current version)\\ +or \\ +\hspace*{1em} \verb+C:\gstools\gsview\gsview32.exe+ (for the older +version) + +\end{itemize} + +Click \textbf{OK}. + +Note that the install process sets all files with the \texttt{.tex} +extension to open with \cmdname{WinShell}. Unless you plan to use another editor +(such as WinEdt or Emacs), this is appropriate. + +Unfortunately, \cmdname{WinShell} does not have a spell-checking feature. +However, if you have installed the \path|tex-extrabin| collection, +your installation includes \textbf{Ispell} (a spell checking program +found on most Unix systems). The executable is in your PATH so +\verb+ispell.exe+ will be found if you invoke it from a DOS window. +If you installed documentation, look +at\\ +\verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+\\ +for information on Ispell. (Otherwise, you can find +\verb+ispell.html+ on the CD.) If you rely on spell checking, you may +want to add an Ispell icon to \cmdname{WinShell}. See +subsection~\ref{winshell:ispell} of this document for how to do that. + +For an excellent commercial (but inexpensive) spelling checker, +see \url{http://www.microspell.com}. + +%Appendix B also contains other information about using \cmdname{WinShell}, such as: +% +%\begin{itemize} +%\item How to apply a bug fix you probably need +%\item How to print directly from \cmdname{WinShell} +%\item How to use the Project feature for multiple-file documents +%\end{itemize} + +\cmdname{WinShell} also has on-line help, which you can access via the +$\textbf{\underbar{?}}$ on the menu bar. + +Other information about using \cmdname{WinShell} can be found in +section \ref{winshell:more} on p.~\pageref{winshell:more}. + +\subsubsection{Dvips} + +The configuration file for dvips can be found in\\ +\verb+C:\Program Files\TeXLive\texmf-var\dvips\config\config.ps+\\ +You may open it with any editor (\cmdname{WinShell} will do fine) and change +some parameters: + +\begin{description} +\item [fonts] you can change the default printer \MF{} mode or printer + resolution in case dvips needs to generate PK fonts. By default it + is configured to use type1 versions of the CM fonts, so it should + not call \cmdname{mktexpk} too often; +\item[printer] you can tell dvips where you want to print by + default. If the `o' option is not followed by a printer name, then a + \file{.ps} PostScript file is written. You can give dvips a printer + name such as: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] Next, you might want + to change the paper size from European (A4) to US letter + by making the US letter the first paper size mentioned in the file. + Scroll to the group of lines beginning with ``@''. Move + the appropriate lines so that this section begins with the lines:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +\textbf{Note:} The current \TeXLive{} distribution has implemented (for +the first time!) the procedure of making always up-to-date fontmaps files +for Dvips and Pdftex. This is done by \cmdname{updmap} program +during installation, as well as during any font package addition. +If you add new packages by hand, edit the file \verb+updmap.cfg+ +in \path|$VARTEXMF/web2c|. + +\subsubsection{Pdftex} +If you want to use the program pdf{}latex to convert directly to +pdf format, and you are using US letter file, edit the file\\ +\verb+C:\Program Files\TeXLive\texmf-var\pdftex\config\pdftex.cfg+\\ +and change ``page\_width'' and ``page\_height'' to specify letter-size paper. +These entries should read:\\ +\hspace*{1em} page\_width 8.5 true in\\ +\hspace*{1em} page\_height 11 true in\\[6pt] +Save the file and exit the editor. + +\subsubsection{GSView} +Starting from versions compatible with Ghostscript 6.50, GSView is not +free anymore, but shareware. So it is not on the \CD{} anymore. + +You may want to change the papersize to US letter size. If so, +open GSView from the Start menu. \\ +From the \textbf{Media} menu, select \textbf{Letter}. + +Also, there are menu settings that are supposed to give you the +most readable screen image:\\[4pt] + From \textbf{Media} \verb+->+ \textbf{Display Settings}, +set \textbf{Text Alpha} +and \textbf{Graphics Alpha} both to 4 bits. + +Note that the installation process has set all .ps and .eps files +to automatically open with GSView. + +For printing instructions, see section~\ref{printing} below. + +\subsubsection{WinDvi} +\label{sub:windvi} + +The \file{TeXSetup.exe} program takes care of associating the files +with the \file{.dvi} extension with \file{Windvi}. + +Open it from the Start menu (Programs \verb+->+ TeXLive \verb+->+ DVI Viewer). +You can set it for US letter paper by going to \textbf{View} \verb+->+ \textbf{Options} +and next to \textbf{Papertype}, +selecting US (8.5\verb+"+ x 11\verb+"+). +Click \textbf{OK}. +Exit Windvi. +You can change other parameters from there, like the ability to +execute commands included in path|\special{}|. +Also, the first time you +view any .dvi file, you may find the magnification too large. Zoom out +until you get an appropriate size. + +%There are two important parameters related to printing that can't yet +%be set from the dialog boxes, namely the resolution and the \MF{} mode +%for the printer. You can set them once for all by specifying them on +%the command line: +%\begin{verbatim} +%c:\>windvi -p 360 -mfmode canonbjc foo.dvi +%\end{verbatim} +%When you will exit Windvi, these parameters will be stored in the +%configuration file. The available modes are found in this file:\\ +%\path|c:\Program Files\TeXLive\texmf\metafont\misc\modes.mf| + +All the configuration for Windvi is stored in the +\path|$HOME/windvi.cnf| file. You can find it by running this command +at the prompt: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Should you have problems with Windvi, please remove the configuration +file and test your problem against a vanilla configuration. + +\subsection{Testing} + +You can test \cmdname{WinShell} by opening the file \verb+sample2e.tex+, found in +\path|C:\Local\TeX\texmf\tex\latex\base|. The \LaTeX\ source should appear +on the screen. Process it by clicking on the \LaTeX\ icon on the toolbar, +then view it by clicking on the Preview (Windvi) icon. + +At first, when you preview files with Windvi, it will create fonts because +screen fonts were not installed. After a while, you will have created most +of the fonts you use, and you will rarely see the font-creation window. +Return to \cmdname{WinShell} and try dvips, then GSView. + +\textbf{Hint for the future:} If a \LaTeX\ run stops because \LaTeX\ +cannot find a file, you can press \textbf{Ctrl-z} to quit. + +\subsection{Printing}\label{printing} + +It is possible to print from Windvi. In this case, printing will +be done using the Windows unified printer driver. By definition, it +is compatible with all printers. However, there is some drawback: it +can generate some huge spool files, and some (older) versions of Windows just +don't like them. The advantage is that you can use features like +embedding BMP or WMF images. You also need to make sure that the +printer parameters are correctly set (subsection~\ref{sub:windvi}), +else you will get scaled printing (printing at 600dpi on a 300dpi +printer will give you only one quadrant of your page). + + +Printing is faster and more reliable if you run dvips to make a +.ps file and then print from GSView. To print from GSView, first select +\textbf{Print...} from the \textbf{File} menu. A Print window will appear. + +If you will be using a PostScript printer, \textit{be sure to select +\textbf{PostScript Printer}}. In the newer version this is done in +the ``Print Method'' box at the bottom left of the Print window. You +can then select any of the printers that you have previously installed +on your PC. If you fail to check the box for PostScript Printer, +printing will not work. + +If you will be using your own non-PostScript printer, select +\textbf{Ghostscript device} in the ``Print Method'' box, then click on +the button to the right labelled \textbf{djet500} and select your +printer type from the list that pops up. (In the older version of +GSView, make sure PostScript Printer is \textit{not} selected, then +select your printer type from the ``Device'' list.) + +If you use \cmdname{WinShell} and a PostScript printer, probably the most +convenient way to print is to add an icon to the \cmdname{WinShell} toolbar that +invokes dvips in a way that sends the output directly to a default +printer. For detailed instructions on how to do this, see +\ref{winshell:print} on p.~\pageref{winshell:print} +(\textit{More About \cmdname{WinShell}}). + +\subsection{More About \cmdname{WinShell}}\label{winshell:more} +\subsubsection{Installing Bug Fixes} + +\cmdname{WinShell}'s author (\href{mailto:idb@winshell.de}{Ingo de Boer}, +thanks to him) sometimes releases beta versions of the next \cmdname{WinShell} +version which are also bug fixes. You can grab them from +\url{http://www.winshell.de}. Usually they are \file{.zip} files that +only require to be unpacked in \cmdname{WinShell} directory (\path|c:\Program +Files\WinShell| by default), either using WinZip or a similar tool, or +by using \file{unzip} on the command line. If you got some +\file{winshellbugfix.zip} file and that you saved it in the \cmdname{WinShell} +directory, then you need to run: +\begin{verbatim} +c:\>cd c:\"Program Files"\WinShell +c:\>c:\local\bin\unzip winshellbugfix.zip +\end{verbatim} +Say `yes' if you are asked if some files should be overwritten. The +\path|unzip.exe| programme can be found in the +\path|support/gnu-utils| package. If you +do not have it on your machine, you can use any archiver tool like +WinZip to achieve the same effect. + +\subsubsection{Using the Project Feature} +If your document is split into several files +(for example a thesis), look into \cmdname{WinShell}'s ``Project'' feature. From the +\textbf{Project} menu, you give the project a name (e.g., Thesis), +supply the name of the main (or root) file, and then ``add'' other +files. These filenames display on the left of the screen where you can +double click the names to view and switch between them. Clicking +the \textbf{\LaTeX} icon always processes the main file. + +Note the icons on the toolbar for toggling the project space (on the left) +and the log space (at the bottom). If you are not using the Project +feature, you may want to toggle off the space on the left, using the full +screen width to display your file. + +\subsubsection{Printing from \cmdname{WinShell} to a PostScript Printer} +\label{winshell:print} + +The Dvips icon on the \cmdname{WinShell} toolbar puts the PostScript output in a file, +which you can then view with GSView and print from there if you choose. +However, it's convenient to add a \cmdname{WinShell} ``program call'' to dvips which +sends the output directly to a designated PostScript printer. The steps +below show how to do this for the printer \textbf{vclw}; you should +substitute the name of your most frequently-used printer for \textbf{vclw}. +\begin{enumerate} +\item Make the program aware of the printer: +\begin{itemize} + +\item Open \cmdname{WinShell}, go to \textbf{Options} \verb+->+ +\textbf{Program Calls} \verb+->+ \textbf{User defined}. + +\item Click on \textbf{Tool 1} in the list on the right and fill in the +fields to the left as follows:\vspace{-6pt} +\begin{quote} +Name: \verb+Print+\\ +exe file: \verb+dvips+\\ +cmd-line: \verb+ -D600 %m -o vclw+\\ +Uncheck the box for ``DVIPS first'' +\end{quote}%\vspace{-12pt} +\item Click \textbf{OK} +\end{itemize} +\item Add Print to the toolbar: +\begin{itemize} +\item Go to \textbf{Options} \verb+->+ \textbf{View} \verb+->+ \textbf{Customize}. +\item In the Category box, select \textbf{User-Programs}. +\item Select \textbf{Print} and drag it to the toolbar, placing it just to + the right of the GSView icon. +\item You then have a choice of ``Image only'', ``Text only'', or ``Image and +Text''. The easiest is to select ``Text only'' and click \textbf{OK}. +You should then see \textbf{Print} on the toolbar. (If you prefer, you can +select ``Image only'', then ``Edit'', and edit the displayed picture to your +satisfaction.) +\end{itemize} +\end{enumerate} +Now, to print a \LaTeX\ document, just click on the \textbf{Print} icon to +send to your selected printer. To use a different printer, you will need to +click on the \textbf{Dvips} icon to print to a file. Then click on the +GSView icon and use GSView to send to any printer you have installed on +your PC. + +\subsubsection{Adding Ispell to \cmdname{WinShell}} +\label{winshell:ispell} +\begin{enumerate} +\item Add Ispell to User Tools: +\begin{itemize} +\item Open \cmdname{WinShell}, go to \textbf{Options} \verb+->+ +\textbf{Program Calls} \verb+->+ \textbf{User defined}. +\item In the list on the right, click on \textbf{Tool 1} (or \textbf{Tool + 2} if you have already used \textbf{Tool 1}) and fill in the +fields to the left as follows:\vspace{-6pt} +\begin{quote} +Name: \verb+Ispell+\\ +exe file: \verb+ispell+\\ +cmd-line: \verb+ -t -d american %c.tex+\\ +Uncheck the boxes for ``LaTeX first'' and ``DVIPS first'' +\end{quote}%\vspace{-12pt} +\item Click \textbf{OK} +\end{itemize} + +\item Add Ispell to the toolbar: %\vspace{-14pt} +\begin{itemize}\itemsep 0pt +\item Go to \textbf{Options} \verb+->+ \textbf{View} \verb+->+ \textbf{Customize}. +\item In the Category box, select \textbf{User-Programs}. +\item Select \textbf{Ispell} and drag it to the toolbar, placing it just to + the right of the GSView icon (or the last icon you added). +\item You then have a choice of ``Image only'', ``Text only'', or ``Image and +Text''. The easiest is to select ``Text only'' and click \textbf{OK}. +You should then see \textbf{Ispell} on the toolbar. (If you prefer, you can +select ``Image only'', then ``Edit'', and edit the displayed picture to your +satisfaction.) +\end{itemize} +\end{enumerate} +Now, when you have a \LaTeX\ document open, you can click on +\textbf{Ispell} to perform spell checking. Ispell will open another window +and display the first misspelled word on the left with the filename on the +right. Below that you will see the context in which the misspelling appears; +often several suggestions for replacements are also displayed. To replace +the word, enter the number corresponding to the desired replacement. Other +possible responses are listed below; for example, you can press the space +bar to ignore the misspelled word. For more information on Ispell, read the +manual page: \verb+C:\Program Files\TeXLive\texmf\doc\html\manpages\ispell.html+. + +Note that when you replace a word, you will not see the correction in your +\cmdname{WinShell} window until you close the file (click the X in the upper right +corner) and then open it again (use the File menu). + +\subsection{Tips and tricks about the Win32 platform} + +\subsubsection{Different flavors of Win32} + +What we call Win32 is not an operating system by itself. It is a set +of functions -- and a large one\footnote{Around 12000 functions in the + header files of the Microsoft SDK} -- that you can use to write +programs for different operating systems of the Windows family. + +Windows comes in different flavors: +\begin{itemize} +\item Win95, Win98 and WinME, which \emph{are not true multitasking, + multithreading} environments. They are the latest -- and hopefully + last -- metamorphosis of DOS. This can be more or less proven by the + fact that when booting, the PC will load the \path|command.com| + interpreter, and if you stop the boot process at this point, you can + ask for the current (DOS) version and it will answer something like + 'MS-DOS 7.0' (at least for the old versions of Win9x); +\item Windows NT, which is a new operating system written from scratch, + capable of + true multitasking behaviour, and loaded with high level features; +\item Windows 2K, written on an NT basis, with all the bells and + whistles of Win98. +\item Windows XP, which comes with Personal and Pro flavors. This is + the last step in merging both lines of products (Win9x based and NT + based). XP is written on an NT basis. +\end{itemize} + +Win9x are able to run 32~bits programs and 16~bits programs +concurrently. But the operating system by itself is not entirely +written in 32~bits mode, and does not support memory protection: 16bits +applications can overwrite parts of the operating system memory! Some +parts of the system like the GDI (Graphical Device Interface) manage +limited resources like bitmaps, fonts, pens and so on for the set of +all programs that run concurrently. All the bitmaps headers available +at the same time can't amount for more than 64kb. This explains the +performance tool and the fact that you can put your system on his +knees by making intensive use of graphic objects for example. + +NT, 2K and XP do not suffer from these limitations, and neither from +other Win9x limitations. They are true multitasking environments, with +protected memory. They are much more responsive than Win9x because +of better memory management, better file system and so on. + +\subsubsection{Command line prompt} + +You will wonder: ``why would I need to use a command line prompt when +I have Windows?''. + +Good question. The problem is of very general nature. Not all +operations can be done easily using only a GUI. Command line gives you +programming power -- assuming a clever command interpreter. + +But the problem here is more fundamental: \TeX{} is \emph{a batch} +tool. Not an interactive one. \TeX{} needs to compute the best +layout for each page, resolve cross-references and so on. This can be +done only by a global processing of the document. It is not (yet) a +task that can be done interactively. + +This means that you should use \TeX{} from a command line. In fact the +situation is not so bad. There is an advantage to write command line +tools for complex processing: they are better debugged, because not +tied to GUI problems, and GUI tools can be designed to interface the +command line tools. This is the case for \TeX{} where you will +interact with it most of the time through a GUI text editor -- see +section~\ref{sec:winshell} for example. + +However, you may need to use the command line prompt in a number of +situations, by example in case of problems and you want to debug your +setup -- see + section~\ref{sec:troubleshooting}. + + \begin{description} + \item[Win9x] You will open a command line prompt by looking either + for the MS-DOS icon in the ``Start->Programs'' menu, either by + choosing ``Start->Run'' menu and typing in \path|command.com| + \item[NT, 2K, XP] You will open a command line prompt by looking + for the ``Command Prompt'' in the ``Start->Accessories'' + menu\footnote{These locations may change across different OS + versions.}. You can also choose the ``Start->Run'' menu and type + in \path|cmd.exe|, which is the name of the brand new command + interpreter for NT\footnote{Which explains why it is untrue to + call this a \emph{DOS} box under NT!}. +\end{description} + +\subsubsection{Path separators} + +The Win32 API understands both \path|/| and \path|\| characters as +PATH separators. But the command interpreters do not! So whenever a +path name is used programmatically, you can use both separators, and +even mix them up in the same path name. But on the command line, you +must type \path|\| as path separator. The reason is compatibility: +the command processor used the \path|/| to introduce arguments to +commands. + +All this to say: do not be surprised to read path names written using +the Unix convention; \fpTeX{} is a port of \Webc, and aims to be compatible +across platforms. For this reason, all the configuration files that +need to specify path names use the Unix convention. + +\subsubsection{File systems} +\label{sec:clusters} + +The worse feature of Win9x with regard to \TeX{} is probably the +so-called FAT file system. \TeX{} uses many many small files, with +size around 1kb -- 3kb. The FAT file system is old, and predates by +far the multi-gigabytes hard disks we have today. It means it can't +manage efficiently the 30000 \TeX{} files found on the \CD{}. The FAT +file system will allocate a minimum of 32kb for \emph{any} file on a +huge partition. It means that \TeX{} will use much more disk space +than it actually needs. + +The other, more modern, file systems available -- namely FAT32 and +NTFS -- do not have this drawback. They manage clusters of 4kb +only\footnote{You can lower the limit to 512 bytes on NTFS}. + +\subsubsection{How to add some directory to your PATH} + +There are pairs of variables and values which behave much like global +variables inside your programs. The set of those variables is called the +environment. Each program is initialized with a copy of the +environment when it is run. It can request and change the +value of any variable. The changes happen in the copy of the +environment, and is not at all propagated to the other running +programs. + +Your PATH is a special environment variable used to search for +programs you want to run. +There is a different procedure to change it for Win9x, WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Edit your \path|autoexec.bat|. In this file should be a line + starting with \texttt{PATH=} and followed by a list of directories separated + by \path|;|. Please add the directory with the executables in this line. + After this, this line could look as follows: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\"Program Files"\TeXLive\bin\win32 +\end{verbatim} +\item[Windows ME] You need to run the special program + \path|c:\windows\system\msconfig.exe| to be able to change any + environment variable. From this program, select the `Environment' + tab, and then add or modify the variable you want. You will be asked to reboot the + machine upon any change. +\item[Windows NT/2K/XP] + Click left on \texttt{Start --> Settings --> Control Panel}. Now the window + with the control panel icons opens. Double click on System. The + System Properties window opens. Click on the tab + \textsf{Environment} or look for a button named `Environment + Variables' among the dialog boxes. Now + you can change the environment variables for your user account. Note: + There are also displayed the environment settings for the system. + Normally, you can't change the system variables unless you have + administrator rights on your machine. If you want to change the \texttt{PATH} + for all users, you will have to contact your system administrator or + be the system administrator yourself--in the later case you should + know what you are doing. + + If there is already a \texttt{PATH} setting for your user account, + left click on \texttt{PATH}. In the field \textsf{Variable} appears + \texttt{PATH} while the field Value shows the current setting of + \texttt{PATH} as a list of directories separated by \path|;|. Add + the directory where the executables are located (e.g. + \path|c:\Program Files\TeXLive\bin\win32|). If there isn't a \texttt{PATH} variable + for your user account, simply click in the field Variable and type + in \texttt{PATH}, click in the field \textsf{Value} + and type in the directory with the executables. Important: Click on + the \textsf{Apply} button before clicking \textsf{Ok}, otherwise the + changes to \texttt{PATH} won't apply to your system. Be careful when + changing the environment settings. +\end{description} + +The best way to be sure that a variable has been properly set is to +open a console and type: +\begin{verbatim} +set VARIABLE +\end{verbatim} +which should return the corresponding value. + +\subsubsection{\TeX{} engines} + +If you have a look at the \Webc{} documentation, you will read that all +the various \TeX{} derived programs use the same base engine. For +example, \path|tex.exe| and \path|latex.exe| are exact copies of the +same program, but each one will use a different format file, based on +its calling name. + +Under Unix, this feature is implemented through \emph{symbolic + links}. It saves up a bit of disk space, because some engines are +used with many different format files. + +The Win32 API does not know about file links. So to save up almost +the same amount of memory, all the \TeX{} base engines have been put +in DLLs (\emph{Dynamic Linked Library}). This means that you will have +the following layout: +\begin{alltt} +13/05/2002 17:06 3 584 latex.exe +13/05/2002 17:06 266 240 tex.dll +13/05/2002 17:06 3 584 tex.exe +\end{alltt} +and the \path|latex.exe| file is nothing but a rough copy of +\path|tex.exe| using the same core \path|tex.dll|. +The same trick has been used for the \path|mktex*.exe| family of programs which are +linked to the \path|mktex.dll| library. + +In fact, a generic tool called \path|lnexe.exe| is provided to build the +equivalent of Unix hard links for executable files only under Win32. + +\subsection{In case of problems} +\label{sec:troubleshooting} + +\subsubsection{What to do if \texttt{latex} does not + find your files?} + +\begin{itemize} +\item \cmdname{kpsewhich} is the tool of choice to debug any +problem. Unfortunately, kpsewhich outputs debug information to +stderr, and the Windows console does not know how to redirect stderr +to a file\footnote{Well, NT and Win2k consoles know how to do + that. But the trick will work for any console.}. +For diagnostic purposes you can temporarily set an +environment variable (in DOS box): +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +You can also set the debug level: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +If you want to redirect stderr to stdout, which is not possible under +either W9x or NT/2K/XP, then just do: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +This way you can capture both stdout and stderr in the same file. + +\item Assuming the installation has been done in \path|c:/Program Files/TeXLive|, check + the following values: \\ + {\small + \begin{tabular}{ll} + \path|kpsewhich -expand-path $SELFAUTOPARENT| & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-path $TEXMF| & \path|c:/Program Files/TeXLive/texmf| \\ + \path|kpsewhich -expand-path $TEXMFCNF| & + \path|.;c:/Program Files/TeXLive/texmf/web2c;| \\ + & \path|c:/Program Files/TeXLive/bin/win32;| \\ + & \path|c:/Program Files/TeXLive/bin;| \\ + & \path|c:/Program Files/TeXLive| \\ + \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/Program Files/TeXLive/texmf/tex//| + \end{tabular} +} +\item If you have other \TeX{}-related values already set in your + environment, please, remove them. They are overriding the ones in + texmf.cnf. +\item Check the values from:\\ +{\small + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \path|c:/Program Files/TeXLive/texmf/fonts/tfm/public/cm/cmr10.tfm|\\ + \texttt{kpsewhich latex.fmt}& \path|c:/Program Files/TeXLive/texmf/web2c/latex.fmt| + \end{tabular} +} +\item At this point, if everything is correct, \path|tex.exe| and + co. should work. If it is not the case, you will need to play with + the \path|-debug=n| option from \path|kpsewhich|, and check back all + the values. Try to identify and report the problem. +\end{itemize} + +\subsubsection{What to do if your setup still does not work as expected?} + +There are several questions to ask about: +\begin{enumerate} +\item Is \file{tex.exe} on my \path|PATH|? +\item Is the \path|TEXMFCNF| variable correctly set to + \path|c:/Program Files/TeXLive/texmf-var/web2c| (default value)? +\item Are there any errors in the log file generated by the + \file{TeXSetup.exe} program? Errors are flagged with the sequence + \path|Error|. +% \item If everything seems correct up there, then you need to read the +% documentation in \path|texmf/doc/fptex/fptex.pdf| or +% \path|texmf/doc/html/fptex/fptex.html| for a more detailed procedure +% (available on your hard disk or on the \CD{}). +\item One can also go to \url{http://www.tug.org/tex-live.html} and + check for any bug fix. +\item The Windows distribution on the \CD{} is no more no less than + the \fpTeX{} distribution, so you can also go to the Web pages at + \url{http://www.fptex.org}, or consider subscribing to the \fpTeX{} + mailing-list by consulting + \url{http://www.tug.org/mailman/listinfo/fptex} . +\end{enumerate} + + +The \TeXLive{} software is complex and made of more than 250 programs +and around 40000 files from various sources. It is quite difficult to +predict all possible causes for problems. Nevertheless, we will do our +best to help you in every case. + + +\subsection{Compiling the source files} + +You have the whole set of source files, comprised for +Windows in the \path|source/source.tar.bz2| archive available on the +\CD{}. To be able to compile the whole distribution for Windows, you +will need: +\begin{itemize} +\item Windows 2K/XP +\item Microsoft Visual Studio .Net +\item a set of Unix tools (\texttt{sed}, + \texttt{grep}, \texttt{gawk}, etc.) and also Perl, Flex and Bison, +\item to adjust the paths in the + \path|win32/make/common.mak| file according to your installation +\item adjust the paths in the Perl script file + \path|win32/perl/build.pl|, +\item run the compilation from the \path|win32/| directory using this + command: +\begin{verbatim} +c:\texlive\source\win32>perl ./perl/build.pl --install --log=install.log +\end{verbatim} +\end{itemize} + +There is a lot of work to do to make this process easier and cleaner. + +\subsection{Where to get more information?} + +The Win32 \TeX{} distribution on the \CD{} is also known as +\fpTeX. Only the packaging differs, but \fpTeX{} is no more no less +than the current \TeXLive\ release for Windows. + +The \fpTeX home on the Web is at:\\ +\url{http://www.fptex.org/} + +The current \fpTeX release is available from any +\href{http://www.ctan.org}{CTAN} %(see also the section +%\ref{sec:ctan}) +site in the directory~:\\ +\noindent\url{ftp://ctan.tug.org/tex-archive/systems/win32/fptex/}. + +The main ftp site for \fpTeX\ is \url{ftp://ftp.dante.de/pub/fptex/} from +where beta versions of \fpTeX\ and additionnal tools are available. +This main site is (partially) mirrored daily by the CTAN backbones in their +\path|systems/win32/fptex| directory. + +% You can reach me at my email address: +% \url{mailto:Fabrice.Popineau@supelec.fr}. + +The \TeX{} Users Group is kindly hosting a mailing-list dedicated to +\fpTeX. This is a very low volume one. It is used for announcements, +bugs reports or as well to discuss about improvements or various users +problems. To subscribe, read the page at +\url{http://www.tug.org/mailman/listinfo/fptex}. The mailing list +address is \EmailURL{fptex@tug.org}. + +\section{Building on a new Unix platform} +If you have a platform for which we have not provided binary sources, +you will need to compile \TeX{} and friends from scratch. This is not +as hard as it sounds. What you need is all in the directory +\texttt{source} on the \CD{}. + +You should first install the support tree from the \TeXLive{} \CD{} (do +a basic install, with no system binaries chosen). + +\subsection{Prerequisites} +You will need about 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. The \acro{GNU} utilities (\cmdname{gcc}, \acro{GNU} +\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison}) are the +most widely tested on different platforms. \cmdname{gcc}-2.7.* +\cmdname{flex}-2.4.7 and \acro{GNU}\,\cmdname{make}-3.72.1 or newer +should work well. You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. The command +\texttt{uname} must return a sensible value. + + + +\subsection{Configuration} +First, unpack the source from the compressed +\texttt{tar} file in the directory \dirname{source} to your disk and change +directory to where you placed it. Decide where the `root' of the +installation will be, e.g.\ \path|/usr/local| or +\path|/usr/local/TeX|. Obviously you should use the same location +that you specified when you installed the support tree. + +Now, start the build process by running \textsf{configure} with +a command-line like +\begin{alltt} +>> \Ucom{./configure -prefix=/usr/local/TeX} +\end{alltt} + +The `prefix' directory is the one where you installed the support +tree; the directory layout that will be used is as follows (where +\$TEXDIR stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/info} & \acro{GNU} style info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +You can omit the use of `\dirname{share/}' part for the +\dirname{texmf} directory if you want, as +\dirname{$TEXDIR/share/texmf} and \dirname{$TEXDIR/texmf} are +auto-detected by configure. If you choose something different, you +have to specify that directory with the \verb|--datadir| option of +\textsf{configure}. + + +If you want to leave out the \dirname{$PLATFORM} directory level +(i.e.\ put the binaries directly into \dirname{$TEXDIR/bin}), specify +the \verb|--disable-multiplatform| option for \textsf{configure}. + + +Have a look at the output of \texttt{./configure --help} for more +options you can use (such as omitting optional packages such as \OMEGA\ +or \eTeX). + +\subsection{Running \textsf{make}} +Make sure the shell variable \texttt{noclobber} is not set, and +then type +\begin{alltt} +>> \Ucom{make world} +\end{alltt} +and relax\ldots. + +It could also be useful to log all the output, e.g.\ by +typing +\begin{alltt} +>> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Before you think that everything is ok, please check the log file for +errors (\acro{GNU} \cmdname{make} always uses the string +``\texttt{Error:}'' whenever a command returns an error code) and +check if all binaries are built: +\begin{alltt} +>> \Ucom{cd /usr/local/TeX/bin/i686-pc-linux-gnu} +>> \Ucom{ls | wc} +\end{alltt} +The result should be 209. + +If you need special privileges for \texttt{make install}, you can +run two \cmdname{make} jobs in separate runs: +\begin{alltt} +>> \Ucom{make all} +>> \Ucom{su} +>> \Ucom{make install strip} +\end{alltt} + +\subsection{Final configuration steps} +Set up your \envname{PATH} to include the directory containing the +just-installed binaries (e.g.\ +\dirname{/usr/local/TeX/bin/mips-sgi-irix6.5}); similarly, +\envname{MANPATH} and \envname{INFOPATH} to include the relevant newly +installed subdirectories, i.e.\ \dirname{$TEXDIR/man} and +\dirname{$TEXDIR/info}. + +The program \textsf{texconfig} allows you to set the defaults for +hyphenation, paper size, print command, \MF{} mode, etc. You can +run this command interactively and see what options it offers, or type +\begin{alltt} +>> \Ucom{texconfig help} +\end{alltt} + +For example, if you are not using A4 format paper, you can make +`lettersize' the default using: +\begin{alltt} +>> \Ucom{texconfig dvips paper letter} +>> \Ucom{texconfig xdvi paper us} +\end{alltt} + +\section{A user's guide to the \protect\Webc{} system} + +%-------------------------------------------------------- + +\Webc{} contains a set of \TeX-related programs, i.e., \TeX{} itself, +\MF{}, \MP, \BibTeX{}, etc. The original implementation was by Tomas +Rokicki who, in 1987, developed a first \TeX{}-to-C system adapting +change files under Unix, which were primarily the work of Howard +Trickey and Pavel Curtis. Tim Morgan became the maintainer of the +system, and during this period the name changed to Web-to-C\@. In +1990, Karl Berry took over the work, assisted by dozens of additional +contributors, and in 1997 he handed the baton to Olaf Weber. The +latest result is \Webc{} Version 7.3, which was released in March +1999. Our version has some updates for the forthcoming new release, +and identifies itself as 7.3.7 + +The \Webc{} 7.3 system runs on Unix, Windows 3.1, 9x/ME/\acro{NT}/\acro{2K}/\acro{XP}, +\acro{DOS}, and other operating systems. It uses Knuth's +original sources for \TeX{} and other basic programs written in \web{} +and translates them into C source code. Moreover, the system offers a +large set of macros and functions developed to augment the original +\TeX{} software. The core \TeX{} family components are: + +\begin{description} +\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Produces modified copy of \dvi{} file. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to property list. +\item[vftovp] Virtual font to virtual property list +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{description} +\noindent The precise functions and syntax of these programs are described in +the documentation of the individual packages or of \Webc{} itself. +However, knowing a few principles governing the whole family of +programs will help you to benefit optimally from your \Webc{} +installation. + +All programs honor the standard \acro{GNU} options: +\begin{description} +\item[\texttt{-{}-help\ \ \ }] print basic usage summary. +\item[\texttt{-{}-verbose}] print detailed progress report. +\item[\texttt{-{}-version}] print version information, then exit. +\end{description} + +For locating files the \Webc{} programs use the path searching library +\KPS{}. This library uses a combination of environment variables and a +few configuration files to optimize searching the \TeX{} directory +tree. \Webc{} can handle more than one directory tree +simultaneously, which is useful if one wants to maintain \TeX's +standard distribution and local extensions in two distinct trees. To +speed up file searches the root of each tree has a file \file{ls-R}, +containing an entry showing the name and relative pathname for all +files ``hanging'' under that root. + +\subsection{\protect\KPS\ path searching} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +``colon'' (\samp{:}) and ``slash'' (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{Filename-database}) applies to \var{p}, i.e., if the database +is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{../examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{Path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + ``\texttt{S /a:/b}'' in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given +search path by using the debugging options (see ``Debugging actions'' +on page~\pageref{Debugging}). + +\subsubsection{Config files} + +\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. + +\tolerance=1500 + +While reading the description of the format of the file +\file{texmf.cnf} below, please also refer to +appendix~\ref{app:texmf.cnf}, starting on +page~\pageref{app:texmf.cnf}, which lists the \file{texmf.cnf} file on +the \CD. + +\begin{itemize} +\item + Comments start with ``\texttt{\%}'' and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The ``\texttt{\var{variable}}'' name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If ``\texttt{.\var{progname}}'' is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item ``\texttt{\var{value}}'' may contain any characters except + ``\texttt{\%}'' and \samp{@}. The + ``\texttt{\$\var{var}.\var{prog}}'' feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in ``\texttt{\var{value}}'' is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, MSDOS and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{../examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{Path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{Default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{Path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +>> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place: it checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This can be used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, you find +the following definition: +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$VARTEXMF,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$VARTEXMF/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{Subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarises the meaning of special characters +in \KPS{} configuration files. + +\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion. +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{\dots\char`\}}] Brace expansion, e.g., + \verb+a{1,2}b+ will become \verb+a1b:a2b+. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{description} + + +\subsection{Filename databases} +\label{Filename-database} + + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +adapt to DOS-like ``8.3'' filename conventions in source files. + +\subsubsection{The filename database} +\label{ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && ls -LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\acro{GNU}'s \code{ls} is all right). To ensure that the database is always +up to date, it is easiest to rebuild it regularly via \code{cron}, so +that for changes in the installed files\Dash perhaps after installing or +updating a \LaTeX{} package\Dash the file \file{ls-R} is automatically +updated. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{Invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +>> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in ``\texttt{\var{option}}'' can start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The more important options are described next. + +\begin{description} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to ``\texttt{\var{num}}''; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to ``\texttt{\var{name}}''. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + found in the first column of Table~\ref{TABKpathsea}, which lists + currently recognized names, a description, + associated environment variables%, + \footnote{You can find definitions for these environment variables + in the file \file{texmf.cnf} (page~\pageref{app:texmf.cnf})}, and + possible file extensions. +\end{description} + + +\def\KpathKey#1#2#3#4#5{% name, number, description, variables, + % suffixes +\SetRowColor#1 & #3 & #4 & #5\\} +\def\HEAD#1{\multicolumn{1}{l}{\emph{#1}}} +% +\begin{small} +% a footnoterule immediately under a bottom-of-page rule looks dead +% silly, so we suppress it +\renewcommand\footnoterule{\relax} +% +\begin{longtable}{@{}% + >{\ttfamily}P{.16\textwidth}% Col.1 + P{.3\textwidth}% Col 2 + >{\ttfamily\footnotesize}P{.29\textwidth}% Col 3 + >{\ttfamily}P{.14\textwidth}% Col 4 +@{}} +\caption{Kpathsea file types}\label{TABKpathsea}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\endfirsthead +\multicolumn{3}{l}{Kpathsea file types \emph{continued}}\\ +\emph{Name} & \HEAD{Description} & \HEAD{Variables} +& \HEAD{Suffixes}\\ +\hline +\noalign{\vspace{2pt}} +\endhead +\mbox{}\\ +\hline +\endfoot +\KpathKey + {afm} + {4} + {Adobe font metrics} + {AFMFONTS} + {.afm} +\KpathKey + {base} + {5} + {Metafont memory dump} + {MFBASES, TEXMFINI} + {.base} +\KpathKey + {bib} + {6} + {\BibTeX{} bibliography source} + {BIBINPUTS, TEXBIB} + {.bib} +\KpathKey + {} + {2} + {bitmap fonts} + {GLYPHFONTS, TEXFONTS} + {} +\KpathKey + {bst} + {7} + {\BibTeX{} style files} + {BSTINPUTS} + {.bst} +\KpathKey + {cnf} + {8} + {Runtime configuration files} + {TEXMFCNF} + {.cnf} +\KpathKey + {dvips config} + {34} + {\textsf{dvips} configuration files, e.g., \file{config.ps} + and \file{psfonts.map}} + {TEXCONFIG} + {.map} +\KpathKey + {fmt} + {10} + {\TeX{} memory dump} + {TEXFORMATS, TEXMFINI} + {.fmt, .efmt, .efm} +\KpathKey + {gf} + {0} + {generic font bitmap} + {GFFONTS} + {.gf} +\KpathKey + {graphic/figure} + {25} + {Encapsulated PostScript figures} + {TEXPICTS, TEXINPUTS} + {.eps, .epsi} +\KpathKey + {ist} + {35} + {\textsf{makeindex} style files} + {TEXINDEXSTYLE, INDEXSTYLE} + {.ist} +\KpathKey + {ls-R} + {9} + {Filename databases} + {TEXMFDBS} + {} +\KpathKey + {map} + {11} + {Fontmaps} + {TEXFONTMAPS} + {.map} +\KpathKey + {mem} + {12} + {MetaPost memory dump} + {MPMEMS, TEXMFINI} + {.mem} +\KpathKey + {mf} + {13} + {Metafont source} + {MFINPUTS} + {.mf} +\KpathKey + {mfpool} + {14} + {Metafont program strings} + {MFPOOL, TEXMFINI} + {.pool} +\KpathKey + {mft} + {15} + {MFT style file} + {MFTINPUTS} + {.mft} +\KpathKey + {} + {41} + {miscellaneous fonts} + {MISCFONTS} + {} +\KpathKey + {mp} + {16} + {MetaPost source} + {MPINPUTS} + {.mp} +\KpathKey + {mppool} + {17} + {MetaPost program strings} + {MPPOOL, TEXMFINI} + {.pool} +\KpathKey + {MetaPost support} + {18} + {MetaPost support files, used by DMP} + {MPSUPPORT} + {} +\KpathKey + {ocp} + {19} + {\OMEGA{} compiled process files} + {OCPINPUTS} + {.ocp} +\KpathKey + {ofm} + {20} + {\OMEGA{} font metrics} + {OFMFONTS, TEXFONTS} + {.ofm, .tfm} +\KpathKey + {opl} + {21} + {\OMEGA{} property lists} + {OPLFONTS, TEXFONTS} + {.opl} +\KpathKey + {otp} + {22} + {\OMEGA{} translation process files} + {OTPINPUTS} + {.otp} +\KpathKey + {ovf} + {23} + {\OMEGA{} virtual fonts} + {OVFFONTS, TEXFONTS} + {.ovf} +\KpathKey + {ovp} + {24} + {\OMEGA{} virtual property lists} + {OVPFONTS, TEXFONTS} + {.ovp} +\KpathKey + {pk} + {1} + {packed bitmap fonts} + {\emph{program}FONTS \textrm{(\texttt{\emph{program}} being + \textsmaller{\cmdname{XDVI}}, + etc.)}, PKFONTS, TEXPKS, GLYPHFONTS, TEXFONTS} + {.pk} +\KpathKey + {PostScript header} + {30} + {downloadable PostScript} + {TEXPSHEADERS, PSHEADERS} + {.pro, .enc} +\KpathKey + {tex} + {26} + {\TeX{} source} + {TEXINPUTS} + {.tex, .cls, .sty, .clo, .def} +\KpathKey + {TeX system documentation} + {27} + {Documentation files for the \TeX{} system} + {TEXDOCS} + {} +\KpathKey + {TeX system sources} + {29} + {Source files for the \TeX{} system} + {TEXSOURCES} + {} +\KpathKey + {texpool} + {28} + {\TeX{} program strings} + {TEXPOOL, TEXMFINI} + {.pool} +\KpathKey + {tfm} + {3} + {\TeX{} font metrics} + {TFMFONTS, TEXFONTS} + {.tfm} +\KpathKey + {Troff fonts} + {31} + {Troff fonts, used by DMP} + {TRFONTS} + {} +\KpathKey + {truetype fonts} + {36} + {TrueType outline fonts} + {TTFONTS} + {.ttf, .ttc} +\KpathKey + {type1 fonts} + {32} + {Type 1 PostScript outline fonts} + {T1FONTS, T1INPUTS, TEXPSHEADERS, DVIPSHEADERS} + {.pfa, .pfb} +\KpathKey + {type42 fonts} + {37} + {Type 42 PostScript outline fonts} + {T42FONTS} + {} +\KpathKey + {vf} + {33} + {virtual fonts} + {VFFONTS, TEXFONTS} + {.vf} +\KpathKey + {web2c files} + {38} + {\Webc{} support files} + {WEB2C} + {} +\KpathKey + {other text files} + {39} + {text files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\KpathKey + {other binary files} + {40} + {binary files used by `\textsf{foo}'} + {FOOINPUTS} + {} +\end{longtable} +\end{small} + + +\begin{multicols}{2} + +\begin{description} +\item[] The last two entries in Table~\ref{TABKpathsea} are special + cases, where the paths and environment variables depend on the name + of the program: the variable name is constructed by converting the + program name to upper case, and then appending \texttt{INPUTS}. + + The environment variables are set by default in the configuration + file \file{texmf.cnf}. It is only when you want to override one or + more of the values specified in that file that you might want to set + them explicitly in your execution environment. + + Note that the \samp{-{}-format} and \samp{-{}-path} options are mutually + exclusive. +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to ``\texttt{\var{string}}''; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path ``\texttt{\var{string}}'' (colon-% + separated as usual), + instead of guessing the search path from the filename. \samp{//} + and all the usual expansions are supported. + The options \samp{-{}-path} and \samp{-{}-format} are mutually + exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to ``\texttt{\var{name}}''. + This can affect the search paths via the ``\texttt{.\var{prognam}}'' + feature in configuration files. + The default is \samp{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type ``\texttt{\var{name}}''. + Either a filename extension (\samp{.pk}, \samp{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to ``\texttt{\var{num}}''. +\end{description} + + +\subsubsection{Examples of use} +\label{SExamplesofuse} + +Let us now have a look at \KPS{} in action. + +\begin{alltt} +>> \Ucom{kpsewhich article.cls} +/usr/local/texmf/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type ``tex'' (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{TEXMF} root +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\begin{alltt} +>> \Ucom{kpsewhich array.sty} + /usr/local/texmf/tex/latex/tools/array.sty +>> \Ucom{kpsewhich latin1.def} + /usr/local/texmf/tex/latex/base/latin1.def +>> \Ucom{kpsewhich size10.clo} + /usr/local/texmf/tex/latex/base/size10.clo +>> \Ucom{kpsewhich small2e.tex} + /usr/local/texmf/tex/latex/base/small2e.tex +>> \Ucom{kpsewhich tugboat.bib} + /usr/local/texmf/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +The latter is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +>> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files on our system (since we use the Type1 versions on the \CD{}). +\begin{alltt} +>> \Ucom{kpsewhich ecrm1000.pk} +\ifSingleColumn /usr/local/texmf/fonts/pk/ljfour/jknappen/ec/ecrm1000.600pk +\else +/usr/local/texmf/fonts/pk/ljfour/jknappen/ +... ec/ecrm1000.600pk +\fi\end{alltt} +For the extended Computer Modern files we had to generate \samp{.pk} +files, and since the default \MF{} mode on our installation is +\texttt{ljfour} with a base resolution of 600 dpi (dots per inch), +this instantiation is returned. +\begin{alltt} +>> \Ucom{kpsewhich -dpi=300 ecrm1000.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300dpi (\texttt{-dpi=300}) we see that no such font is available on +the system. In fact, a program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the \texttt{.pk} files at the required +resolution using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prolog \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the +PostScript font map \file{psfonts.map}. As the \samp{.ps} suffix is +ambiguous we have to specify explicitly which type we are considering +(``\texttt{dvips config}'') for the file \texttt{config.ps}. +\begin{alltt} +>> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +>> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/config/config.ps +>> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/dvips/base/psfonts.map +\end{alltt} + +We now take a closer look at the URW Times PostScript support files. +The name for these in Berry's font naming scheme is ``\texttt{utm}''. +The first file we look at is the configuration file, which contains +the name of the map file: +\begin{alltt} +>> \Ucom{kpsewhich --format="dvips config" config.utm} +/usr/local/texmf/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +>> \Ucom{kpsewhich --format="dvips config" utm.map} + /usr/local/texmf/dvips/psnfss/utm.map +\end{alltt} +This map file defines the file names of the Type1 PostScript fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} + utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb + utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb + utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb + utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb + utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Regular instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree by using a search for Type1 font files: +\begin{alltt} +>> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf/fonts/type1/urw/utm/utmr8a.pfb +\else /usr/local/texmf/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these few examples how you can easily locate +the whereabouts of a given file. This is especially important if you +suspect that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{Debugging} + +Sometimes it is necessary to investigate how a program resolves +file references. To make this feasible in a convenient way \KPS{} +offers various debug levels: +\begin{itemize} +\item[\texttt{\ 1}] \texttt{stat} calls (file tests). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (like \file{ls-R} + database, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\end{itemize} +A value of \texttt{-1} will set all the above options; in practice you +will probably always use these levels if you need any debugging. + +Similarly, with the \cmdname{dvips} program, by setting a +combination of debug switches, one can follow in detail where files are being picked +up from. Alternatively, when a file is not found, the debug trace +shows in which directories the program looks for the given file, so +that one can get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look +how \cmdname{dvips} prepares the PostScript file (we want to use the Type1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +>> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/html/dvips/dvips_toc.html}). +%\ifSingleColumn +%We get something +%like the following (we have rearranged the output for easier display): +%\begin{alltt}\small +%\input{../examples/ex6.tex} +%\end{alltt} +%\else +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{../examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{../examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{../examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like ``8.3'' and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern PostScript fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the ``map'' files which +define the relation between the \TeX{}, PostScript and file system +names of the fonts. +\begin{alltt} +>> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used PostScript fonts; see the last part of +Section \ref{SExamplesofuse} for more details about PostScript map +file handling). + +At this point \cmdname{dvips} identifies itself to the user\ldots +\begin{alltt}\ifSingleColumn +This is dvips 5.78 Copyright 1998 Radical Eye Software (www.radicaleye.com) +\else\small{}This is dvips 5.78 Copyright 1998 Radical Eye... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +\ldots and then goes on to look for the prolog file \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 +then goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). + +\fi +After having found the file in question, \cmdname{dvips} outputs +date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'': +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another of the nice features of \Webc{} is its possibility to +control a number of memory parameters (in particular, array sizes) via +the runtime file \file{texmf.cnf} read by \KPS{}. The listing of +\file{texmf.cnf} is shown in Appendix~\ref{app:texmf.cnf}, starting on +page~\pageref{app:texmf.cnf}; the settings of all parameters can be +found in Part 3 of that file. The more important control variables are: +\begin{description} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf} (compare the generic value + and the ``huge'' one instantiated by \texttt{hugetex}, + etc.). +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all TFM files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Approximately 10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. You can see that both the + \cmdname{hugetex} and \cmdname{pdflatex} program invocations ask for + an extra 15,000 control sequences (the default value of + \texttt{hash\_extra} is zero). +\end{description} +Of course, this facility is no substitute for truly dynamic arrays and +memory allocation, but since this is extremely difficult to implement +in present \TeX, these runtime parameters provide a practical compromise +allowing some flexibility. + +%-------------------------------------------------------- + + +\section{Acknowledgements}\label{sec:acknowl} +This edition of TeXLive is edited by Sebastian Rahtz, with the +major contributors being Fabrice Popineau, who has worked away +unceasingly at the Win32 part of the package (especially the setup!) +and contributed in many different ways with ideas, advice and code; +and Staszek Wawrykiewicz, who provided great checking feedback, and +co-ordinated the Polish contributions. Kaja Christiansen performed a +vital role in endless recompilations on assorted Unix platforms, and +Robin Laakso coordinated production for TUG. Vladimir Volovich +did great work on cleaning the source and making other improvements, +while Gerben Wierda did all the work for MacOSX. + +We are very grateful for past and present help from +\begin{itemize} +\item The German-speaking \TeX{} Users (DANTE e.V.), who provided a machine + on which the master of the CD-ROM is developed and maintained; and Rainer +Sch\"opf and Reinhard Zierke who look after it; +\item The Perforce company, for providing a free copy of their +excellent change management system, which we have used to + manage the CD-ROM +contents; +\item Karl Berry, who provided the original \Webc{} distribution, and + has continued to give invaluable advice, encouragement, and help; +\item Mimi Burbank, who arranged access + at the Florida State University School of Computational Science + and Information Technology + to a slew of different + computers to compile \TeX{} on, and acted as an essential guinea-pig + whenever asked; +\item Kaja Christiansen, who provided essential feedback, compilation, and + documentation preparation; +\item Thomas Esser, without whose marvellous \teTeX{} package this + \CD{} would certainly not exist, and whose continual help makes it a + better product; +\item Michel Goossens, who co-authored the documentation; +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} + version of this documentation, and who worked tirelessly to improve + it at short notice; +\item Art Ogawa and Pat Monohon, who coordinated releases for TUG; +\item Petr Olsak, who coordinated and checked all the Czech/Slovak + material very carefully; +\item Olaf Weber, for his patient assembly and maintenance of Web2c; +\item Graham Williams, on whose work the catalogue of packages depends. +\end{itemize} + +Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +Chleb\'\i{}kov\'a, Staszek Wawrykiewicz, Erik Frambach, and Ulrik +Vieth kindly translated documentation at various times into their +respective languages, checked other documentation, and provided very +welcome feedback. + + +\section{History} + +This \CD{} distribution is a joint effort by many \TeX{} Users +Groups, including those from Germany, the Netherlands, the UK, France, +the Czech Republic/Slovakia, India, Poland and Russia, as well as +the international TUG. +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it was +hoped at that time to issue a single, rational, \CD{} for all +systems. This was far too ambitious a target, but it did spawn not +only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory + Structure}, which specified how to create consistent and manageable +collections of \TeX{} support files. The final draft of the \TDS{} was +published in the December 1995 issue of \textsl{TUGboat}, and it was clear from +an early stage that one desirable product would be a model structure +on \CD{}. The \CD{} you now have is a very direct result of the +working group's deliberations. It was also clear that the success of +the 4All\TeX{} \CD{} showed that Unix users would benefit from a +similarly easy system, and this is the other main strand of \TeXLive. + +We undertook to make a new Unix-based \TDS{} \CD{} in the autumn of +1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and +work began seriously at the start of 1996. The first edition was +released in May 1996. At the start of 1997, Karl Berry completed a +major new release of his \Webc{} package, which included nearly all +the features which Thomas Esser had added in \teTeX, and we decided to +base the 2nd edition of the \CD{} on the standard \Webc, with the +addition of \teTeX's \texttt{texconfig} script. The 3rd edition of the +\CD{} was based on a major revision of \Webc, 7.2, by Olaf Weber; at the +same time, a new revision of \teTeX was being made, +and \TeXLive{} shares almost all of its features. The 4th edition +followed the same pattern, using a new version of te\TeX, and a new +release of \Webc{} (7.3). The system now included a complete Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were +stored in XML files. But the major change for \TeX\ Live 5 was that +all non-free software was removed. Everything on this \CD{} should be +compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to +check the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had a lot material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had as a major addition a setup +for MacOSX, and the usual myriad of updates to all sorts +of packages and programs. An important goal was integration +of the source back with teTeX, to correct the drift apart +in versions 5 and 6. + +\section{Future versions} + +\emph{This \CD{} is not a perfect product!} We plan to re-issue it +once a year, and would like to provide more help material, more +utilities, more installation programs, and (of course) an +ever-improved and checked tree of macros and fonts. This work is all +done by hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. If you can help, don't hesitate to put +your name forward! + +Corrections, suggestions and additions for future revisions +should be sent to:\hfill\null +\begin{quote} +Sebastian Rahtz\\ +{}7 Stratfield Road\\ +Oxford OX2 7BG\\ +United Kingdom\\ +\EmailURL{rahtz@tug.org} +\end{quote} + + +Updates, notes, and suggestions will be made available on \CTAN{} +in \path|info/texlive|. A \acro{WWW} page for +information and ordering details is at +\url{http://www.tug.org/tex-live.html}. + +\end{multicols} + +\Section{The texmf.cnf file} +\label{app:texmf.cnf} +\begin{small} +\listinginput{1}{../examples/texmf.cnf} +\end{small} + +\end{document} + + + +Notes on Nicolle Zellner's problems: +------------------------------------ +- autoexec.bat gave error, ``too many parameters''. +fix: in setvars.bat file, put "" around %PATH% to take care of spaces. + +- ``out of environment space'' when rebooting meant that autoexec.bat was +not executing properly-- path and texmfhome variable were not being set. +fix: put in config.sys file the line: shell=c:\command.com /e:1024 /p +(and reboot probably) + +[Note: alternative advice written by Pat: + The environment space is an area of memory in which the OS stores + variables such as path. To increase the memory size do the following: + + Open a MS-DOS window. Click on the Properties icon (looks like a hand + holding a sheet of paper). Click on the Memory tab in the Properties + window. Change the value under Initial Environment: to 4096. Apply the + properties. Click OK on the warning about needing to restart your computer. + The new environment memory will be in effect after the reboot.] + +- windvi did not retain settings. +fix: in setvars.bat file, add command: set Home=c:\Home and also create +the directory c:\Home. +copy windvi.cnf to c:\Home\ +reboot + +-ispell doesn't work (can't write to c:\tmp, can't create dictionary) +In addition to the the c:\Home addition above, create the folder: +d:\tmp\ (d: is where the files are that she is using.) +Now ispell should work from the command line. +Still can't get it to work from within \cmdname{WinShell}. (change cmd line to %c.tex, +it was reading the project main file) + + + +Notes on installing WinEdt: +--------------------------- +If you choose to install WinEdt, you will be asked for a folder name: any +folder name will do, as this is for temporary storage. An acceptable +choice is \verb+C:\Winedt+. Click \textbf{unzip}, then \textbf{OK}, +and finally \textbf{Close}. +--- + +later, to complete WinEdt installation: + +Run "winedt5.exe" and complete the setup procedure. + +Get from ftp://ftp.dante.de/pub/fptex/supplementary/ +30/08/2000 20:17 70 844 winedt5-cnf.zip +10/09/2000 10:43 839 086 winedt5-patch4.zip + +then unpack (use unzip or winzip with subdir creation enabled, NOT pkunzkip) + "winedt5-patch4.zip" inside the "c:\program files\winedt" directory +then at last unpack "winedt5-cnf.zip". + +When this is done, go inside the 'Options->Configurations' menu, +choose the "fpTeX Direct" option. + +If windvi previewer doesn't work, go to options->menu setup-> accessories +and change the Menu Setup so the call for DVI Preview is analogous to +the call for Dvips-- i.e., don't use "DVIVIEW" in the command line, +but rather fptex-bin and dviwin.exe. + + diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/live4ht.cfg-2004 b/Master/texmf/doc/texlive/source/texlive-en/archive/live4ht.cfg-2004 new file mode 100644 index 00000000000..8700827d62a --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/live4ht.cfg-2004 @@ -0,0 +1,36 @@ +% $Id$ +% tex4ht configuration file for the TeX Live documentation. +% +% The 2 means to separate output files for only the top sectioning levels. +% xhtml specifies the main output format. +% info for extra debugging info in the log files. +% Without the \begin{document}, LaTeX complains that it is missing. +% +\Preamble{2,xhtml,info} \begin{document} \EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/mod.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/mod.pl new file mode 100644 index 00000000000..4f8df5df762 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/mod.pl @@ -0,0 +1,976 @@ + +$M{"a0poster"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"a4"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"a4wide"}="18 May 1996 11:33:54 Graham.Williams\@cmis.csiro.au"; +$M{"a5"}="19 Apr 1998 15:19:21 Graham.Williams\@cmis.csiro.au"; +$M{"a5comb"}="19 Apr 1998 15:19:21 Graham.Williams\@cmis.csiro.au"; +$M{"aaai"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"abc2mtex"}="27 Nov 1996 13:50:01 Graham.Williams\@cmis.csiro.au"; +$M{"abstbook"}="5 Mar 1997 16:28:20 Graham.Williams\@cmis.csiro.au"; +$M{"abstyles"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"accents"}="25 Feb 1999 09:06:12 Graham.Williams\@cmis.csiro.au"; +$M{"accfonts"}="30 Jan 1999 06:16:19 Graham.Williams\@cmis.csiro.au"; +$M{"achemso"}="8 Jul 1998 08:11:28 Graham.Williams\@cmis.csiro.au"; +$M{"acronym"}="17 Nov 1997 09:21:35 Graham.Williams\@cmis.csiro.au"; +$M{"acroread"}="20 May 1997 18:04:58 Graham.Williams\@cmis.csiro.au"; +$M{"acrotex"}="2 Dec 1998 09:52:54 Graham.Williams\@cmis.csiro.au"; +$M{"adfathesis"}="23 Feb 1999 16:11:03 Graham.Williams\@cmis.csiro.au"; +$M{"adobe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"adobeother"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"adobestd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"adrlist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"advdate"}="5 Mar 1997 11:25:37 Graham.Williams\@cmis.csiro.au"; +$M{"ae"}="5 Dec 1998 08:56:53 Graham.Williams\@cmis.csiro.au"; +$M{"afterpage"}="13 Aug 1998 05:36:56 Graham.Williams\@cmis.csiro.au"; +$M{"afthesis"}="15 Dec 1996 19:08:54 Graham.Williams\@cmis.csiro.au"; +$M{"aguplus"}="16 Sep 1998 06:02:47 Graham.Williams\@cmis.csiro.au"; +$M{"aiaa"}="24 Feb 1999 09:15:44 Graham.Williams\@cmis.csiro.au"; +$M{"akletter"}="1 Jun 1998 12:04:46 Graham.Williams\@cmis.csiro.au"; +$M{"alatex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"alg"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"algorithms"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"alltt"}="28 May 1996 16:23:49 Graham.Williams\@cmis.csiro.au"; +$M{"alphanum"}="10 Mar 1998 06:11:22 Graham.Williams\@cmis.csiro.au"; +$M{"altfont"}="1 Jul 1996 21:06:06 Graham.Williams\@cmis.csiro.au"; +$M{"altfont"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"amiweb2c"}="25 Mar 1998 09:12:31 Graham.Williams\@cmis.csiro.au"; +$M{"amsbsy"}="18 Jun 1997 19:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"amscd"}="1 Nov 1996 08:34:08 Graham.Williams\@cmis.csiro.au"; +$M{"amsfonts"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"amsfonts"}="9 Nov 1996 15:43:40 Graham.Williams\@cmis.csiro.au"; +$M{"amslatex"}="9 Nov 1996 15:40:28 Graham.Williams\@cmis.csiro.au"; +$M{"amslatex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"amsltx11"}="9 Nov 1996 15:46:01 Graham.Williams\@cmis.csiro.au"; +$M{"amsmath"}="9 Nov 1996 16:15:32 Graham.Williams\@cmis.csiro.au"; +$M{"amsppt"}="24 Sep 1996 08:42:35 Graham.Williams\@cmis.csiro.au"; +$M{"amsppt1"}="25 Sep 1996 09:41:18 Graham.Williams\@cmis.csiro.au"; +$M{"amssym"}="25 Sep 1996 09:44:00 Graham.Williams\@cmis.csiro.au"; +$M{"amssymb"}="11 Nov 1996 20:19:40 Graham.Williams\@cmis.csiro.au"; +$M{"amstex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"amstex"}="9 Nov 1996 15:47:35 Graham.Williams\@cmis.csiro.au"; +$M{"amstext"}="11 Nov 1996 20:24:24 Graham.Williams\@cmis.csiro.au"; +$M{"answers"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"answers"}="29 May 1996 13:08:24 Graham.Williams\@cmis.csiro.au"; +$M{"anttvf"}="5 Feb 1998 09:27:21 Graham.Williams\@cmis.csiro.au"; +$M{"anttvf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"antyktor"}="18 Jun 1998 10:23:35 Graham.Williams\@cmis.csiro.au"; +$M{"apa"}="12 Nov 1998 11:38:01 Graham.Williams\@cmis.csiro.au"; +$M{"apacite"}="12 Jul 1996 10:10:07 Graham.Williams\@cmis.csiro.au"; +$M{"apasoft"}="15 Sep 1998 06:39:47 Graham.Williams\@cmis.csiro.au"; +$M{"apl"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"appendix"}="11 Dec 1998 05:36:39 Graham.Williams\@cmis.csiro.au"; +$M{"ar"}="24 Apr 1998 16:02:22 Graham.Williams\@cmis.csiro.au"; +$M{"arabtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"arabtex"}="13 May 1997 16:45:22 Graham.Williams\@cmis.csiro.au"; +$M{"armenian"}="3 Jul 1997 08:23:26 Graham.Williams\@cmis.csiro.au"; +$M{"arosgn"}="21 Oct 1996 10:32:18 Graham.Williams\@cmis.csiro.au"; +$M{"arrow"}="7 Nov 1996 19:31:04 Graham.Williams\@cmis.csiro.au"; +$M{"asaetr"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"ascii"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"astro"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"at"}="12 Nov 1996 09:27:11 Graham.Williams\@cmis.csiro.au"; +$M{"auctex"}="19 Oct 1998 06:10:29 Graham.Williams\@cmis.csiro.au"; +$M{"aurora"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"authorindex"}="16 Feb 1998 17:29:41 Graham.Williams\@cmis.csiro.au"; +$M{"autotab"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"babel"}="12 Jan 1997 11:26:33 Graham.Williams\@cmis.csiro.au"; +$M{"backgammon"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"bakoma-fonts"}="13 Dec 1996 08:26:36 Graham.Williams\@cmis.csiro.au"; +$M{"bakoma"}="22 Jan 1999 07:17:26 Graham.Williams\@cmis.csiro.au"; +$M{"barcode2"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"barcodes"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"barcodes"}="7 Jun 1996 13:43:47 Graham.Williams\@cmis.csiro.au"; +$M{"barr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bayer"}="10 Feb 1998 09:30:02 Graham.Williams\@cmis.csiro.au"; +$M{"bbding"}="13 May 1996 06:15:45 Graham.Williams\@cmis.csiro.au"; +$M{"bbding"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"bbm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"beebe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"belleek"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"beton"}="28 May 1996 16:24:30 Graham.Williams\@cmis.csiro.au"; +$M{"bez123"}="21 Oct 1998 09:36:53 Graham.Williams\@cmis.csiro.au"; +$M{"bezos"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bibarts"}="19 Apr 1998 15:55:19 Graham.Williams\@cmis.csiro.au"; +$M{"bibindex"}="12 Jan 1997 14:53:39 Graham.Williams\@cmis.csiro.au"; +$M{"biblio"}="4 Oct 1996 08:44:47 Graham.Williams\@cmis.csiro.au"; +$M{"biblios"}="16 Aug 1996 14:40:47 Graham.Williams\@cmis.csiro.au"; +$M{"biblist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"biblook"}="12 Jan 1997 14:53:39 Graham.Williams\@cmis.csiro.au"; +$M{"bibsort"}="12 Nov 1996 10:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"bibtex8bit"}="19 Aug 1996 22:05:26 Graham.Williams\@cmis.csiro.au"; +$M{"bibtool"}="24 Feb 1998 13:38:41 Graham.Williams\@cmis.csiro.au"; +$M{"bibunits"}="29 May 1997 12:15:06 Graham.Williams\@cmis.csiro.au"; +$M{"bibweb"}="28 Nov 1997 09:12:23 Graham.Williams\@cmis.csiro.au"; +$M{"bidstobibtex"}="21 Oct 1996 13:54:10 Graham.Williams\@cmis.csiro.au"; +$M{"bitstrea"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"blackboard"}="9 Jul 1998 05:37:01 Graham.Williams\@cmis.csiro.au"; +$M{"blue"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bluesky"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bm"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"booktabs"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"borceux"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"bosisio"}="1 May 1998 16:53:18 Graham.Williams\@cmis.csiro.au"; +$M{"boxedminipage"}="19 Apr 1998 15:20:55 Graham.Williams\@cmis.csiro.au"; +$M{"breqn"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"bridge"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"brief"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"brushscr"}="24 Jun 1998 12:56:02 Graham.Williams\@cmis.csiro.au"; +$M{"btparse"}="20 Feb 1998 14:21:13 Graham.Williams\@cmis.csiro.au"; +$M{"c-pascal"}="3 Mar 1998 15:29:06 Graham.Williams\@cmis.csiro.au"; +$M{"c2cweb"}="29 Nov 1996 15:27:19 Graham.Williams\@cmis.csiro.au"; +$M{"calc"}="12 Aug 1998 06:27:04 Graham.Williams\@cmis.csiro.au"; +$M{"calendar"}="18 Mar 1997 13:07:53 Graham.Williams\@cmis.csiro.au"; +$M{"calendar"}="4 Feb 1998 13:36:58 Graham.Williams\@cmis.csiro.au"; +$M{"calligra"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"calrsfs"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"calrsfs"}="12 Jun 1996 09:16:09 Graham.Williams\@cmis.csiro.au"; +$M{"camel"}="5 Mar 1997 16:31:57 Graham.Williams\@cmis.csiro.au"; +$M{"cancel"}="26 May 1997 12:53:21 Graham.Williams\@cmis.csiro.au"; +$M{"capt-of"}="15 Dec 1996 19:04:36 Graham.Williams\@cmis.csiro.au"; +$M{"caption"}="12 Nov 1996 20:23:42 Graham.Williams\@cmis.csiro.au"; +$M{"carlisle"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cases"}="15 Dec 1996 19:14:30 Graham.Williams\@cmis.csiro.au"; +$M{"casyl"}="24 Feb 1999 09:19:05 Graham.Williams\@cmis.csiro.au"; +$M{"catalogue"}="22 May 1996 16:49:04 Graham.Williams\@cmis.csiro.au"; +$M{"catdoc"}="5 Nov 1998 11:47:57 Graham.Williams\@cmis.csiro.au"; +$M{"cbgreek"}="24 Oct 1998 07:42:16 Graham.Williams\@cmis.csiro.au"; +$M{"cc-pl"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"ccaption"}="27 Jan 1999 09:40:41 Graham.Williams\@cmis.csiro.au"; +$M{"ccfonts"}="23 Jun 1998 15:52:05 Graham.Williams\@cmis.csiro.au"; +$M{"cchess"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cd-cover"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cdcover"}="10 Feb 1998 09:31:30 Graham.Williams\@cmis.csiro.au"; +$M{"cdlabeler"}="2 Jan 1999 21:57:44 Graham.Williams\@cmis.csiro.au"; +$M{"cellular"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cep"}="27 Jan 1998 16:53:11 Graham.Williams\@cmis.csiro.au"; +$M{"cep"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"changebar"}="7 Oct 1997 09:02:24 Graham.Williams\@cmis.csiro.au"; +$M{"chapterbib"}="15 Dec 1996 19:13:07 Graham.Williams\@cmis.csiro.au"; +$M{"chemcono"}="21 Oct 1996 14:28:23 Graham.Williams\@cmis.csiro.au"; +$M{"chemcono"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"chemsym"}="8 Jul 1998 08:11:58 Graham.Williams\@cmis.csiro.au"; +$M{"cheq"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cherokee"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"chess"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"china2e"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"china2e"}="26 Feb 1998 08:51:49 Graham.Williams\@cmis.csiro.au"; +$M{"chktex"}="21 Oct 1996 13:51:58 Graham.Williams\@cmis.csiro.au"; +$M{"circ"}="18 Mar 1998 09:29:16 Graham.Williams\@cmis.csiro.au"; +$M{"circle"}="13 Oct 1998 09:09:47 Graham.Williams\@cmis.csiro.au"; +$M{"circuit-macro"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"circuit-macros"}="6 Sep 1998 05:00:37 Graham.Williams\@cmis.csiro.au"; +$M{"cirth"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cite"}="15 Dec 1996 19:10:42 Graham.Williams\@cmis.csiro.au"; +$M{"cjk-fonts"}="8 Jan 1999 08:02:11 Graham.Williams\@cmis.csiro.au"; +$M{"cjk"}="8 Jan 1999 08:01:13 Graham.Williams\@cmis.csiro.au"; +$M{"cm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmactex"}="9 Aug 1998 06:47:00 Graham.Williams\@cmis.csiro.au"; +$M{"cmbright"}="28 Dec 1998 09:33:43 Graham.Williams\@cmis.csiro.au"; +$M{"cmcyr"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cmcyralt"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmdtrack"}="22 Feb 1999 16:17:02 Graham.Williams\@cmis.csiro.au"; +$M{"cmextra"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmpica"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"cmps"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"cmsd"}="19 Feb 1998 09:45:20 Graham.Williams\@cmis.csiro.au"; +$M{"cmtt"}="1 Jun 1996 15:43:59 Graham.Williams\@cmis.csiro.au"; +$M{"cmyk-hax"}="12 May 1997 10:23:51 Graham.Williams\@cmis.csiro.au"; +$M{"cmyk-hax"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"code128"}="7 Jun 1996 13:42:22 Graham.Williams\@cmis.csiro.au"; +$M{"codepage"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"color"}="24 Sep 1996 08:56:07 Graham.Williams\@cmis.csiro.au"; +$M{"colorsep"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"colortbl"}="24 Jun 1998 13:01:21 Graham.Williams\@cmis.csiro.au"; +$M{"comma"}="11 Feb 1998 07:46:23 Graham.Williams\@cmis.csiro.au"; +$M{"comment"}="8 Sep 1998 06:29:57 Graham.Williams\@cmis.csiro.au"; +$M{"compsci"}="21 Oct 1996 14:11:57 Graham.Williams\@cmis.csiro.au"; +$M{"concmath"}="25 Dec 1996 UV"; +$M{"concprog"}="22 Oct 1996 09:37:54 Graham.Williams\@cmis.csiro.au"; +$M{"concrete-wrap"}="27 Nov 1996 13:57:24 Graham.Williams\@cmis.csiro.au"; +$M{"concrete"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"consdiag"}="21 Jan 1999 19:26:28 Graham.Williams\@cmis.csiro.au"; +$M{"context"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"corelpak"}="21 Jan 1999 14:00:25 Graham.Williams\@cmis.csiro.au"; +$M{"count1to"}="24 Oct 1998 09:04:16 Graham.Williams\@cmis.csiro.au"; +$M{"covington"}="22 Apr 1997 14:32:07 Graham.Williams\@cmis.csiro.au"; +$M{"croatian"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"crop"}="8 Dec 1998 09:21:42 Graham.Williams\@cmis.csiro.au"; +$M{"crossword"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"crosswrd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"csfonts"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"cslatex"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"csplain"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"cspsfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"cstug"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"csx"}="12 Jul 1998 05:30:19 Graham.Williams\@cmis.csiro.au"; +$M{"cursor"}="20 Jan 1999 14:56:10 Graham.Williams\@cmis.csiro.au"; +$M{"custom-bib"}="18 Aug 1998 18:00:42 Graham.Williams\@cmis.csiro.au"; +$M{"cwebbin"}="16 Oct 1998 06:27:49 Graham.Williams\@cmis.csiro.au"; +$M{"cwebx"}="17 Feb 1999 16:44:14 Graham.Williams\@cmis.csiro.au"; +$M{"cwpuzzle"}="28 Nov 1996 10:09:18 Graham.Williams\@cmis.csiro.au"; +$M{"cyrtug"}="8 Oct 1998 11:51:48 Graham.Williams\@cmis.csiro.au"; +$M{"dancers"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dante-src"}="11 Feb 1998 07:50:55 Graham.Williams\@cmis.csiro.au"; +$M{"dates"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"dblfont"}="1 May 1998 16:53:44 Graham.Williams\@cmis.csiro.au"; +$M{"dbprocess"}="2 Jan 1999 21:55:59 Graham.Williams\@cmis.csiro.au"; +$M{"dc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dc"}="2 Jun 1996 11:09:21 Graham.Williams\@cmis.csiro.au"; +$M{"dco"}="16 Aug 1996 14:14:54 Graham.Williams\@cmis.csiro.au"; +$M{"dcounter"}="28 Dec 1998 09:21:00 Graham.Williams\@cmis.csiro.au"; +$M{"default"}="18 Jul 1998 06:43:35 Graham.Williams\@cmis.csiro.au"; +$M{"deleq"}="8 Jul 1998 08:12:25 Graham.Williams\@cmis.csiro.au"; +$M{"devanagari"}="7 Dec 1998 05:46:30 Graham.Williams\@cmis.csiro.au"; +$M{"dialogl"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dinbrief"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dinbrief"}="4 Nov 1996 09:56:05 Graham.Williams\@cmis.csiro.au"; +$M{"directory"}="10 Mar 1998 05:30:54 Graham.Williams\@cmis.csiro.au"; +$M{"dn2"}="13 Mar 1998 09:10:15 Graham.Williams\@cmis.csiro.au"; +$M{"doc"}="19 Aug 1996 22:19:13 Graham.Williams\@cmis.csiro.au"; +$M{"dotseqn"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"doublestroke"}="21 Oct 1996 13:56:41 Graham.Williams\@cmis.csiro.au"; +$M{"draftcopy"}="21 May 1996 12:52:54 Graham.Williams\@cmis.csiro.au"; +$M{"dratex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dropcaps"}="19 Jun 1996 13:38:04 Graham.Williams\@cmis.csiro.au"; +$M{"dropping"}="9 Jul 1998 06:27:48 Graham.Williams\@cmis.csiro.au"; +$M{"duerer"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"dvgtk"}="29 Apr 1997 14:45:04 Graham.Williams\@cmis.csiro.au"; +$M{"dvi2tty"}="7 Jun 1996 20:12:43 Graham.Williams\@cmis.csiro.au"; +$M{"dviconcat"}="1 Nov 1996 08:10:15 Graham.Williams\@cmis.csiro.au"; +$M{"dvicopy"}="= {1 Nov 1996 08:30:05 Graham.Williams\@cmis.csiro.au"; +$M{"dviljk"}="6 Apr 1998 06:10:01 Graham.Williams\@cmis.csiro.au"; +$M{"dvipaste"}="23 Feb 1998 15:46:09 Graham.Williams\@cmis.csiro.au"; +$M{"dvipdfm"}="2 Dec 1998 05:56:54 Graham.Williams\@cmis.csiro.au"; +$M{"dvips-os2"}="21 Jan 1999 13:57:52 Graham.Williams\@cmis.csiro.au"; +$M{"dvips-shell"}="5 Mar 1998 22:29:41 Graham.Williams\@cmis.csiro.au"; +$M{"dvips"}="13 May 1997 09:51:53 Graham.Williams\@cmis.csiro.au"; +$M{"dvipsdoc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"dvipsk"}="6 Apr 1998 05:56:12 Graham.Williams\@cmis.csiro.au"; +$M{"ean"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ean"}="7 Jun 1996 13:44:26 Graham.Williams\@cmis.csiro.au"; +$M{"easy"}="18 Aug 1998 18:24:49 Graham.Williams\@cmis.csiro.au"; +$M{"easybib"}="7 Mar 1997 16:54:36 Graham.Williams\@cmis.csiro.au"; +$M{"easybmat"}="18 Aug 1998 18:27:38 Graham.Williams\@cmis.csiro.au"; +$M{"easyeqn"}="18 Nov 1997 15:21:55 Graham.Williams\@cmis.csiro.au"; +$M{"easymat"}="18 Aug 1998 18:28:31 Graham.Williams\@cmis.csiro.au"; +$M{"easytable"}="18 Aug 1998 18:28:50 Graham.Williams\@cmis.csiro.au"; +$M{"easyvector"}="18 Nov 1997 15:22:16 Graham.Williams\@cmis.csiro.au"; +$M{"ec-plain"}="21 Apr 1998 08:38:32 Graham.Williams\@cmis.csiro.au"; +$M{"ec"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ecc"}="11 Dec 1998 08:59:53 Graham.Williams\@cmis.csiro.au"; +$M{"ecltree"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"eco"}="22 Jul 1998 09:13:53 Graham.Williams\@cmis.csiro.au"; +$M{"ecpk"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"edmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"eepic"}="28 Dec 1998 09:32:41 Graham.Williams\@cmis.csiro.au"; +$M{"egplot"}="9 Jul 1998 06:27:09 Graham.Williams\@cmis.csiro.au"; +$M{"eiad"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"eijkhout"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"elsevier"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"elvish"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"emp"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"emp"}="26 Feb 1998 08:53:14 Graham.Williams\@cmis.csiro.au"; +$M{"emtex-os2"}="31 Jul 1998 10:16:40 Graham.Williams\@cmis.csiro.au"; +$M{"emtex"}="31 Jul 1998 10:16:40 Graham.Williams\@cmis.csiro.au"; +$M{"emtexgi"}="12 Jan 1997 11:32:36 Graham.Williams\@cmis.csiro.au"; +$M{"emtextds"}="30 Sep 1998 07:58:58 Graham.Williams\@cmis.csiro.au"; +$M{"emulateapj"}="27 Nov 1997 17:06:10 Graham.Williams\@cmis.csiro.au"; +$M{"encodings"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"endfloat"}="21 Jun 1996 14:52:55 Graham.Williams\@cmis.csiro.au"; +$M{"endnotes"}="3 Sep 1996 09:20:05 Graham.Williams\@cmis.csiro.au"; +$M{"endnotes"}="4 Feb 1998 13:33:16 Graham.Williams\@cmis.csiro.au"; +$M{"engwar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"enumerate"}="22 Jul 1998 05:47:30 Graham.Williams\@cmis.csiro.au"; +$M{"envbig"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"envlab"}="17 Jul 1997 14:37:23 Graham.Williams\@cmis.csiro.au"; +$M{"epic"}="24 Jul 1998 06:18:39 Graham.Williams\@cmis.csiro.au"; +$M{"epigraph"}="1 Dec 1998 12:42:01 Graham.Williams\@cmis.csiro.au"; +$M{"eplain"}="19 Aug 1996 22:10:25 Graham.Williams\@cmis.csiro.au"; +$M{"epmtfe"}="23 Feb 1999 15:01:08 Graham.Williams\@cmis.csiro.au"; +$M{"epsfx"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"epslatex"}="9 Feb 1998 09:22:51 Graham.Williams\@cmis.csiro.au"; +$M{"eqname"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"esieecv"}="26 Feb 1998 08:54:52 Graham.Williams\@cmis.csiro.au"; +$M{"esieecv"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"esindex"}="10 Nov 1998 10:40:44 Graham.Williams\@cmis.csiro.au"; +$M{"eso-pic"}="22 Jul 1998 06:17:37 Graham.Williams\@cmis.csiro.au"; +$M{"et"}="24 Feb 1998 13:45:45 Graham.Williams\@cmis.csiro.au"; +$M{"etexbase"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"ethiop"}="13 Dec 1998 15:02:18 Graham.Williams\@cmis.csiro.au"; +$M{"euler"}="5 Jun 1996 10:03:48 Graham.Williams\@cmis.csiro.au"; +$M{"euro"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"eurofont"}="31 Jan 1999 07:41:02 Graham.Williams\@cmis.csiro.au"; +$M{"europs"}="21 Jan 1999 13:04:27 Graham.Williams\@cmis.csiro.au"; +$M{"eurosans"}="27 Jan 1999 08:25:26 Graham.Williams\@cmis.csiro.au"; +$M{"eurosym"}="6 Jan 1999 07:26:11 Graham.Williams\@cmis.csiro.au"; +$M{"everysel"}="10 Aug 1998 09:05:43 Graham.Williams\@cmis.csiro.au"; +$M{"everyshi"}="10 Aug 1998 09:20:24 Graham.Williams\@cmis.csiro.au"; +$M{"exam"}="16 Dec 1998 08:31:47 Graham.Williams\@cmis.csiro.au"; +$M{"examdesign"}="20 Jan 1998 22:03:03 Graham.Williams\@cmis.csiro.au"; +$M{"exams"}="29 May 1996 13:09:04 Graham.Williams\@cmis.csiro.au"; +$M{"excalibur"}="8 Nov 1998 07:01:25 Graham.Williams\@cmis.csiro.au"; +$M{"expdlist"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"expl3"}="1 Jun 1998 12:09:40 Graham.Williams\@cmis.csiro.au"; +$M{"export"}="12 Jan 1997 11:45:06 Graham.Williams\@cmis.csiro.au"; +$M{"export"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"exscale"}="12 Jun 1996 06:53:11 Graham.Williams\@cmis.csiro.au"; +$M{"extdash"}="28 Dec 1998 09:21:00 Graham.Williams\@cmis.csiro.au"; +$M{"fancybox"}="2 Mar 1998 09:20:57 Graham.Williams\@cmis.csiro.au"; +$M{"fancyhdr"}="9 Sep 1998 06:51:16 Graham.Williams\@cmis.csiro.au"; +$M{"fancyref"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"fancyvrb"}="1 Apr 1998 06:01:31 Graham.Williams\@cmis.csiro.au"; +$M{"faq"}="1 Jul 1998 10:31:39 Graham.Williams\@cmis.csiro.au"; +$M{"fax"}="13 Dec 1996 09:32:37 Graham.Williams\@cmis.csiro.au"; +$M{"fc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fc"}="5 Mar 1998 22:19:31 Graham.Williams\@cmis.csiro.au"; +$M{"fepslatex"}="6 Nov 1998 05:54:05 Graham.Williams\@cmis.csiro.au"; +$M{"feynmf"}="30 May 1996 06:34:12 Graham.Williams\@cmis.csiro.au"; +$M{"fihyph"}=" from fihyph.tex to make the Finnish accented"; +$M{"fihyph"}="6 Nov 1998 06:34:36 Graham.Williams\@cmis.csiro.au"; +$M{"finbib"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"finplain"}="29 Jun 1998 10:04:25 Graham.Williams\@cmis.csiro.au"; +$M{"fix2col"}="19 Aug 1998 16:52:30 Graham.Williams\@cmis.csiro.au"; +$M{"fixfloat"}="23 May 1997 09:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"flabels"}="21 Jul 1997 09:34:31 Graham.Williams\@cmis.csiro.au"; +$M{"flatex"}="24 Sep 1996 08:59:43 Graham.Williams\@cmis.csiro.au"; +$M{"flatten"}="18 Jun 1996 09:36:48 Graham.Williams\@cmis.csiro.au"; +$M{"float"}="25 May 1996 07:26:32 Graham.Williams\@cmis.csiro.au"; +$M{"floatflt"}="8 Jul 1998 08:16:33 Graham.Williams\@cmis.csiro.au"; +$M{"fltpage"}="19 Nov 1998 05:29:33 Graham.Williams\@cmis.csiro.au"; +$M{"fncychap"}=" Each can be using a set of simple commands."; +$M{"fncychap"}="13 Dec 1996 08:41:01 Graham.Williams\@cmis.csiro.au"; +$M{"fnpara"}="10 Sep 1996 09:23:00 Graham.Williams\@cmis.csiro.au"; +$M{"foilhtml"}="19 Feb 1998 09:39:43 Graham.Williams\@cmis.csiro.au"; +$M{"foiltex"}="15 Aug 1998 07:01:05 Graham.Williams\@cmis.csiro.au"; +$M{"fontinst"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fontmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fontname"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fonts"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"footbib"}="19 Jun 1997 11:31:23 Graham.Williams\@cmis.csiro.au"; +$M{"footmisc"}="22 Jun 1998 16:47:47 Graham.Williams\@cmis.csiro.au"; +$M{"footnpag"}="10 Sep 1996 09:26:38 Graham.Williams\@cmis.csiro.au"; +$M{"formats"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"formlett"}="27 May 1997 09:39:35 Graham.Williams\@cmis.csiro.au"; +$M{"formula"}="18 Jun 1998 10:24:39 Graham.Williams\@cmis.csiro.au"; +$M{"fourtex"}="21 Nov 1998 05:32:50 Graham.Williams\@cmis.csiro.au"; +$M{"fp"}="4 Nov 1996 09:45:28 Graham.Williams\@cmis.csiro.au"; +$M{"freefonts"}="10 Sep 1998 18:50:47 Graham.Williams\@cmis.csiro.au"; +$M{"freetype"}="2 Jan 1999 22:37:14 Graham.Williams\@cmis.csiro.au"; +$M{"french"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"fribrief"}="20 Jan 1998 21:50:51 Graham.Williams\@cmis.csiro.au"; +$M{"ftetx"}="24 Feb 1998 13:52:42 Graham.Williams\@cmis.csiro.au"; +$M{"ftn"}="10 Sep 1996 09:43:47 Graham.Williams\@cmis.csiro.au"; +$M{"ftnright"}="19 Aug 1996 22:20:55 Graham.Williams\@cmis.csiro.au"; +$M{"fullblck"}="18 Nov 1998 09:21:36 Graham.Williams\@cmis.csiro.au"; +$M{"fullpict"}="18 Feb 1999 10:39:07 Graham.Williams\@cmis.csiro.au"; +$M{"fundus"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"funnelweb"}="25 Jun 1996 12:38:19 Graham.Williams\@cmis.csiro.au"; +$M{"futhark"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"g-brief"}="20 Feb 1998 14:17:49 Graham.Williams\@cmis.csiro.au"; +$M{"gb4e"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"genealogy"}="31 May 1996 14:10:08 Graham.Williams\@cmis.csiro.au"; +$M{"genmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"gentl-gr"}="29 Jan 1999 09:40:36 Graham.Williams\@cmis.csiro.au"; +$M{"geometry"}="8 Apr 1998 14:26:57 Graham.Williams\@cmis.csiro.au"; +$M{"geomsty"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"geomsty"}="26 Feb 1998 08:58:15 Graham.Williams\@cmis.csiro.au"; +$M{"german"}="15 Jul 1998 07:33:39 Graham.Williams\@cmis.csiro.au"; +$M{"germbib"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"germdoc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"getrefs"}="12 Nov 1998 20:22:10 Graham.Williams\@cmis.csiro.au"; +$M{"ghostscript"}="20 May 1997 14:12:34 Graham.Williams\@cmis.csiro.au"; +$M{"ghostview-mac"}="27 Mar 1998 05:51:48 Graham.Williams\@cmis.csiro.au"; +$M{"ghyphen"}="8 Jul 1998 08:55:23 Graham.Williams\@cmis.csiro.au"; +$M{"gleitobjekte"}="17 Feb 1998 09:09:23 Graham.Williams\@cmis.csiro.au"; +$M{"gloss"}="19 Apr 1998 15:58:24 Graham.Williams\@cmis.csiro.au"; +$M{"glosstex"}="25 Feb 1998 09:12:56 Graham.Williams\@cmis.csiro.au"; +$M{"gn-logic"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"gnhyph"}="16 Sep 1998 09:18:43 Graham.Williams\@cmis.csiro.au"; +$M{"gnuplot-ps"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"go"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"gothic"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"graphfig"}="1 May 1998 16:54:18 Graham.Williams\@cmis.csiro.au"; +$M{"graphics"}="1 Nov 1996 08:16:13 Graham.Williams\@cmis.csiro.au"; +$M{"graphicx"}="12 Jun 1996 06:47:22 Graham.Williams\@cmis.csiro.au"; +$M{"gray"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"grfguide"}="11 Jun 1997 16:17:05 Graham.Williams\@cmis.csiro.au"; +$M{"grfpaste"}="23 Feb 1998 15:39:11 Graham.Williams\@cmis.csiro.au"; +$M{"grnumalt"}="23 Feb 1998 15:49:56 Graham.Williams\@cmis.csiro.au"; +$M{"gsftopk"}="12 Nov 1996 09:08:05 Graham.Williams\@cmis.csiro.au"; +$M{"gustlib"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"gustlib"}="March 1998, s.rahtz\@elsevier.co.uk"; +$M{"hands"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hanging"}="11 Dec 1998 05:38:02 Graham.Williams\@cmis.csiro.au"; +$M{"harpoon"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"harvmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hellas"}="10 Mar 1998 06:00:34 Graham.Williams\@cmis.csiro.au"; +$M{"here"}="25 May 1996 07:24:51 Graham.Williams\@cmis.csiro.au"; +$M{"hh"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"hilowres"}="21 Jan 1999 19:31:07 Graham.Williams\@cmis.csiro.au"; +$M{"histogr"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"hlatex"}="28 May 1997 16:04:14 Graham.Williams\@cmis.csiro.au"; +$M{"hoekwater"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"html"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"html2latex"}="30 Sep 1998 07:55:02 Graham.Williams\@cmis.csiro.au"; +$M{"huhyph"}="5 Nov 1998 05:50:17 Graham.Williams\@cmis.csiro.au"; +$M{"hvdashln"}="13 May 1997 09:36:00 Graham.Williams\@cmis.csiro.au"; +$M{"hyper"}="30 Aug 1997 12:04:32 Graham.Williams\@cmis.csiro.au"; +$M{"hyperlatex"}="27 Dec 1998 20:25:24 Graham.Williams\@cmis.csiro.au"; +$M{"hyperref"}="17 Feb 1999 16:41:40 Graham.Williams\@cmis.csiro.au"; +$M{"hyphenat"}="22 Feb 1999 16:42:36 Graham.Williams\@cmis.csiro.au"; +$M{"hypht1"}="3 May 1997 20:57:53 Graham.Williams\@cmis.csiro.au"; +$M{"ibm"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"idealfonts"}="20 Feb 1998 14:34:54 Graham.Williams\@cmis.csiro.au"; +$M{"ifacmtg"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"imac"}="24 Sep 1998 05:27:35 Graham.Williams\@cmis.csiro.au"; +$M{"indxcite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"indxcite"}="24 Jun 1996 15:17:51 Graham.Williams\@cmis.csiro.au"; +$M{"info"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"inhyph"}="7 Oct 1997 08:54:26 Graham.Williams\@cmis.csiro.au"; +$M{"inputenc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"insbox"}="25 Feb 1998 09:20:32 Graham.Williams\@cmis.csiro.au"; +$M{"ipa"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"isostds"}="21 Oct 1998 09:38:15 Graham.Williams\@cmis.csiro.au"; +$M{"ithyph"}="4 Aug 1998 05:39:19 Graham.Williams\@cmis.csiro.au"; +$M{"izhitsa"}="30 Jan 1999 06:34:27 Graham.Williams\@cmis.csiro.au"; +$M{"jadetex"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"javatex"}="8 Oct 1998 12:03:35 Graham.Williams\@cmis.csiro.au"; +$M{"jknappen"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"jknappen"}="10 Mar 1998 09:10:20 Graham.Williams\@cmis.csiro.au"; +$M{"jsmisc"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"jspell"}="= {5 Nov 1998 15:43:30 Graham.Williams\@cmis.csiro.au"; +$M{"jura"}="11 Jul 1998 17:22:01 Graham.Williams\@cmis.csiro.au"; +$M{"kalendar"}="27 Mar 1998 05:44:58 Graham.Williams\@cmis.csiro.au"; +$M{"kalender"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"karnaugh"}="24 Sep 1998 05:26:10 Graham.Williams\@cmis.csiro.au"; +$M{"kdgreek"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"kix"}="19 Sep 1998 08:58:56 Graham.Williams\@cmis.csiro.au"; +$M{"kluwer"}="31 May 1997 20:08:21 Graham.Williams\@cmis.csiro.au"; +$M{"knst"}="21 Oct 1996 13:44:44 Graham.Williams\@cmis.csiro.au"; +$M{"knuth"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"koi8"}="21 Oct 1996 13:48:21 Graham.Williams\@cmis.csiro.au"; +$M{"koma-script"}="30 Nov 1998 09:41:00 Graham.Williams\@cmis.csiro.au"; +$M{"kpathsea"}="3 Feb 1999 10:29:24 Graham.Williams\@cmis.csiro.au"; +$M{"kuvio"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lamstex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lated"}="11 Feb 1998 07:41:10 Graham.Williams\@cmis.csiro.au"; +$M{"latex"}="2 Jul 1998 12:56:15 Graham.Williams\@cmis.csiro.au"; +$M{"latex209"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"latex209"}="4 Jul 1996 10:07:05 Graham.Williams\@cmis.csiro.au"; +$M{"latex2e"}="4 Jul 1996 09:53:38 Graham.Williams\@cmis.csiro.au"; +$M{"latex2html"}="8 Jul 1996 23:00:59 Graham.Williams\@cmis.csiro.au"; +$M{"latex2man"}="9 Sep 1998 05:33:13 Graham.Williams\@cmis.csiro.au"; +$M{"latex2rtf"}="17 Nov 1998 08:56:23 Graham.Williams\@cmis.csiro.au"; +$M{"latexcad"}="20 Mar 1998 09:32:43 Graham.Williams\@cmis.csiro.au"; +$M{"latexfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"latexmk"}="12 Jan 1997 11:30:28 Graham.Williams\@cmis.csiro.au"; +$M{"latexn"}="27 Nov 1997 17:04:03 Graham.Williams\@cmis.csiro.au"; +$M{"latin2jk"}="7 Oct 1997 08:56:04 Graham.Williams\@cmis.csiro.au"; +$M{"layout"}="13 Aug 1998 05:42:38 Graham.Williams\@cmis.csiro.au"; +$M{"layouts"}="31 Jan 1999 06:43:57 Graham.Williams\@cmis.csiro.au"; +$M{"leaflet"}="30 Sep 1998 08:20:21 Graham.Williams\@cmis.csiro.au"; +$M{"leftidx"}="4 Feb 1998 13:16:00 Graham.Williams\@cmis.csiro.au"; +$M{"letter"}="6 Nov 1998 13:26:58 Graham.Williams\@cmis.csiro.au"; +$M{"lettrine"}="25 Mar 1998 09:11:24 Graham.Williams\@cmis.csiro.au"; +$M{"levy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lexikon"}="1 Apr 1998 06:05:45 Graham.Williams\@cmis.csiro.au"; +$M{"lgreek"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lgrind-win32"}="24 Mar 1998 11:41:55 Graham.Williams\@cmis.csiro.au"; +$M{"lgrind"}="5 Aug 1998 06:33:28 Graham.Williams\@cmis.csiro.au"; +$M{"lh"}="2 Oct 1998 07:20:00 Graham.Williams\@cmis.csiro.au"; +$M{"lhcyr"}="21 Jan 1999 19:44:44 Graham.Williams\@cmis.csiro.au"; +$M{"lilypond"}="21 Oct 1998 09:41:28 Graham.Williams\@cmis.csiro.au"; +$M{"lineno"}="20 Jan 1999 14:57:13 Graham.Williams\@cmis.csiro.au"; +$M{"linguex"}="1 Jun 1998 11:57:34 Graham.Williams\@cmis.csiro.au"; +$M{"lintex"}="16 Jun 1998 10:19:01 Graham.Williams\@cmis.csiro.au"; +$M{"lips"}="21 Oct 1996 10:30:25 Graham.Williams\@cmis.csiro.au"; +$M{"listings"}="11 Nov 1998 05:44:14 Graham.Williams\@cmis.csiro.au"; +$M{"lkort"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"llncs"}="4 Oct 1996 08:48:06 Graham.Williams\@cmis.csiro.au"; +$M{"localloc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"logic"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"logo-ps"}="25 Jul 1998 06:24:28 Graham.Williams\@cmis.csiro.au"; +$M{"lollipop"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"longtable"}="21 Jun 1996 08:12:11 Graham.Williams\@cmis.csiro.au"; +$M{"lscape"}="7 Nov 1996 19:36:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-english"}="21 Jan 1999 19:27:28 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-finnish"}="21 Jan 1999 19:12:55 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-french"}="5 Feb 1998 09:10:02 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-german"}="30 Jan 1999 07:28:37 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-mongolian"}="30 Jan 1999 07:28:04 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-polish"}="25 Feb 1999 14:09:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-russian"}="13 Oct 1998 09:11:31 Graham.Williams\@cmis.csiro.au"; +$M{"lshort-spanish"}="21 Jan 1999 19:12:55 Graham.Williams\@cmis.csiro.au"; +$M{"ltoh"}="8 Apr 1998 09:41:19 Graham.Williams\@cmis.csiro.au"; +$M{"ltx2rtf"}="28 Dec 1998 09:11:53 Graham.Williams\@cmis.csiro.au"; +$M{"ltx2x"}="26 Jan 1997 10:24:09 Graham.Williams\@cmis.csiro.au"; +$M{"ltxbase"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ltxinput"}="26 Nov 1996 16:30:38 Graham.Williams\@cmis.csiro.au"; +$M{"ltxmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ltxsrc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"lucida"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"lucold"}="4 Feb 1998 13:23:16 Graham.Williams\@cmis.csiro.au"; +$M{"lw35nfsx"}="28 Jul 1998 05:36:21 Graham.Williams\@cmis.csiro.au"; +$M{"ly1"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"m-pictex"}="24 Feb 1998 13:55:54 Graham.Williams\@cmis.csiro.au"; +$M{"macbibtex"}="7 Nov 1996 13:35:35 Graham.Williams\@cmis.csiro.au"; +$M{"magaz"}="17 Feb 1999 17:33:54 Graham.Williams\@cmis.csiro.au"; +$M{"mailing"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"makeindex"}="23 May 1997 13:18:35 Graham.Williams\@cmis.csiro.au"; +$M{"malayalam"}="23 Jun 1998 15:49:27 Graham.Williams\@cmis.csiro.au"; +$M{"malvern"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"manyfoot"}="28 Dec 1998 09:24:33 Graham.Williams\@cmis.csiro.au"; +$M{"mapcodes"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"maple"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"margbib"}="24 Feb 1998 13:20:27 Graham.Williams\@cmis.csiro.au"; +$M{"marvosym-mac"}="5 Nov 1998 15:47:46 Graham.Williams\@cmis.csiro.au"; +$M{"marvosym"}="21 Jul 1998 05:27:14 Graham.Williams\@cmis.csiro.auy"; +$M{"mathcmd"}="abstract Provides a slightly version of the commands for"; +$M{"mathcmd"}="1 May 1998 16:54:49 Graham.Williams\@cmis.csiro.au"; +$M{"mathcomp"}="10 Sep 1998 18:44:41 Graham.Williams\@cmis.csiro.au"; +$M{"mathematica"}="20 Jan 1998 22:00:24 Graham.Williams\@cmis.csiro.au"; +$M{"mathenv"}="1 May 1998 16:55:25 Graham.Williams\@cmis.csiro.au"; +$M{"mathinst"}="10 Sep 1998 18:54:03 Graham.Williams\@cmis.csiro.au"; +$M{"mathkit"}="4 Feb 1998 13:20:21 Graham.Williams\@cmis.csiro.au"; +$M{"mathpple"}="21 Jan 1999 19:34:23 Graham.Williams\@cmis.csiro.au"; +$M{"mathrsfs"}="27 Mar 1998 05:58:42 Graham.Williams\@cmis.csiro.au"; +$M{"mathtime"}="29 May 1996 10:39:52 Graham.Williams\@cmis.csiro.au"; +$M{"mcite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mdwtools"}="16 Jun 1998 10:36:35 Graham.Williams\@cmis.csiro.au"; +$M{"meta-mode"}="1 May 1997 10:10:22 Graham.Williams\@cmis.csiro.au"; +$M{"metapost"}="25 Jun 1996 10:58:40 Graham.Williams\@cmis.csiro.au"; +$M{"method"}="21 Jan 1999 07:58:21 Graham.Williams\@cmis.csiro.au"; +$M{"mex"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"mf-ps"}="4 Feb 1998 13:18:00 Graham.Williams\@cmis.csiro.au"; +$M{"mf-ps"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"mf2pt3"}="2 Jan 1999 21:45:21 Graham.Williams\@cmis.csiro.au"; +$M{"mf2tex"}="3 May 1997 21:09:52 Graham.Williams\@cmis.csiro.au"; +$M{"mff"}="24 Oct 1996 10:27:31 Graham.Williams\@cmis.csiro.au"; +$M{"mff"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"mflogo"}="25 Dec 1996 UV"; +$M{"mfnfss"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mfpic"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"mftoeps"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"mhs"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"midnight"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mif2xfig"}="20 Nov 1996 11:23:52 Graham.Williams\@cmis.csiro.au"; +$M{"miktex-axp"}="25 Sep 1997 14:01:19 Graham.Williams\@cmis.csiro.au"; +$M{"miktex"}="23 Feb 1999 16:12:25 Graham.Williams\@cmis.csiro.au"; +$M{"miniltx"}="20 May 1996 10:13:07 Graham.Williams\@cmis.csiro.au"; +$M{"minitoc"}="12 Jan 1997 11:20:36 Graham.Williams\@cmis.csiro.au"; +$M{"mirr"}="12 May 1997 10:27:47 Graham.Williams\@cmis.csiro.au"; +$M{"mirr"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"miscpk"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"mitpress"}="19 Sep 1998 10:11:07 Graham.Williams\@cmis.csiro.au"; +$M{"mkpic"}="2 Jan 1999 21:52:06 Graham.Williams\@cmis.csiro.au"; +$M{"mla"}="28 Apr 1997 09:48:03 Graham.Williams\@cmis.csiro.au"; +$M{"mlbib"}="5 Nov 1996 09:15:29 Graham.Williams\@cmis.csiro.au"; +$M{"mltex"}="28 Dec 1998 09:15:09 Graham.Williams\@cmis.csiro.au"; +$M{"mmtools"}="23 Jul 1997 09:16:45 Graham.Williams\@cmis.csiro.au"; +$M{"mnras"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"modes"}="11 Aug 1998 05:29:08 Graham.Williams\@cmis.csiro.au"; +$M{"monotype"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"monster"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"montex"}="29 Jan 1999 09:53:15 Graham.Williams\@cmis.csiro.au"; +$M{"morehelp"}="19 Feb 1998 09:36:53 Graham.Williams\@cmis.csiro.au"; +$M{"moresize"}="17 Jul 1997 14:08:56 Graham.Williams\@cmis.csiro.au"; +$M{"moreverb"}="29 May 1996 11:58:07 Graham.Williams\@cmis.csiro.au"; +$M{"moreverb"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"morse"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"morse"}="26 Feb 1998 09:08:33 Graham.Williams\@cmis.csiro.au"; +$M{"mpattern"}="30 Sep 1998 11:00:52 Graham.Williams\@cmis.csiro.au"; +$M{"mpfnmark"}="13 Dec 1996 08:30:22 Graham.Williams\@cmis.csiro.au"; +$M{"mpfnmark"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ms"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"mslapa"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mslapa"}="12 Jul 1996 10:06:59 Graham.Williams\@cmis.csiro.au"; +$M{"mt11p"}="14 Feb 1997 09:21:04 Graham.Williams\@cmis.csiro.au"; +$M{"mtbe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"multenum"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"multicol"}="21 Dec 1998 13:35:30 Graham.Williams\@cmis.csiro.au"; +$M{"multido"}="19 Mar 1998 10:41:51 Graham.Williams\@cmis.csiro.au"; +$M{"multirow"}="25 Nov 1998 06:06:17 Graham.Williams\@cmis.csiro.au"; +$M{"multitoc"}="8 Sep 1998 05:46:30 Graham.Williams\@cmis.csiro.au"; +$M{"musictex"}="27 Nov 1996 13:59:30 Graham.Williams\@cmis.csiro.au"; +$M{"musixtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"mxedruli"}="25 Jul 1998 06:28:00 Graham.Williams\@cmis.csiro.au"; +$M{"mylatex"}="1 May 1998 17:00:39 Graham.Williams\@cmis.csiro.au"; +$M{"myletter"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"nassflow"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"natbib"}="17 Jul 1998 16:12:29 Graham.Williams\@cmis.csiro.au"; +$M{"nb4latex"}="21 Nov 1996 16:56:44 Graham.Williams\@cmis.csiro.au"; +$M{"nccfoots"}="28 Dec 1998 09:25:59 Graham.Williams\@cmis.csiro.au"; +$M{"ncctools"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"netpbm-win"}="10 Sep 1998 18:37:04 Graham.Williams\@cmis.csiro.au"; +$M{"newsletr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"newthm"}="abstract A version of the theorem-style which provides"; +$M{"newthm"}="14 Feb 1997 09:30:36 Graham.Williams\@cmis.csiro.au"; +$M{"newthm"}="13 May 1997 10:24:58 Robin Fairbairns "; +$M{"niceframe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"nomencl"}="27 May 1997 09:24:37 Graham.Williams\@cmis.csiro.au"; +$M{"norbib"}="2 Jul 1998 12:55:09 Graham.Williams\@cmis.csiro.au"; +$M{"nrc"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"ntemacs"}="19 Oct 1998 06:03:28 Graham.Williams\@cmis.csiro.au"; +$M{"ntgclass"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ntheorem"}="11 Dec 1998 05:44:07 Graham.Williams\@cmis.csiro.au"; +$M{"numline"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"numline"}="28 May 1996 16:02:33 Graham.Williams\@cmis.csiro.au"; +$M{"objectz"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"oca"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"ocr-a"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ocr-a"}="18 May 1996 14:10:28 Graham.Williams\@cmis.csiro.au"; +$M{"ocr-b"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ocr-b"}="18 May 1996 14:10:28 Graham.Williams\@cmis.csiro.au"; +$M{"ogham"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ogonek"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"oldstyle"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"omega"}="11 Feb 1998 08:05:12 Graham.Williams\@cmis.csiro.au"; +$M{"omegabase"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"omegafonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"onepagem"}="18 Jul 1997 14:23:48 Graham.Williams\@cmis.csiro.au"; +$M{"oryia"}="1 Jul 1998 10:29:59 Graham.Williams\@cmis.csiro.au"; +$M{"os2tex"}="3 Jan 1999 10:42:23 Graham.Williams\@cmis.csiro.au"; +$M{"osmanian"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ot2cyr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"overcite"}="15 Dec 1996 19:11:52 Graham.Williams\@cmis.csiro.au"; +$M{"overpic"}="27 Nov 1997 17:00:55 Graham.Williams\@cmis.csiro.au"; +$M{"overword"}="13 Dec 1996 08:37:08 Graham.Williams\@cmis.csiro.au"; +$M{"overword"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"oxford"}="11 Jan 1998 20:39:42 Graham.Williams\@cmis.csiro.au"; +$M{"oztex-german"}="25 Mar 1998 09:10:39 Graham.Williams\@cmis.csiro.au"; +$M{"oztex"}="27 Dec 1998 20:16:46 Graham.Williams\@cmis.csiro.au"; +$M{"pageno"}="23 Sep 1998 09:40:33 Graham.Williams\@cmis.csiro.au"; +$M{"pandey"}="30 Sep 1998 07:56:09 Graham.Williams\@cmis.csiro.au"; +$M{"pandora"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"paper"}="20 May 1996 06:33:20 Graham.Williams\@cmis.csiro.au"; +$M{"paradissa"}="14 Jun 1996 16:18:31 Graham.Williams\@cmis.csiro.au"; +$M{"paralist"}="21 Jan 1999 19:49:45 Graham.Williams\@cmis.csiro.au"; +$M{"patch"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"path"}="25 Jun 1996 09:13:30 Graham.Williams\@cmis.csiro.au"; +$M{"pawpict"}="10 Feb 1998 09:32:45 Graham.Williams\@cmis.csiro.au"; +$M{"pb-diagram"}="30 Nov 1998 13:48:18 Graham.Williams\@cmis.csiro.au"; +$M{"pcfonts"}="21 Oct 1996 13:32:14 Graham.Williams\@cmis.csiro.au"; +$M{"pdcmac"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pdftex-djgpp"}="23 Feb 1998 15:51:42 Graham.Williams\@cmis.csiro.au"; +$M{"pdftex"}="13 Aug 1998 05:51:13 Graham.Williams\@cmis.csiro.au"; +$M{"permute"}="28 Dec 1998 09:09:59 Graham.Williams\@cmis.csiro.au"; +$M{"pf2afm"}="18 Jun 1998 10:13:25 Graham.Williams\@cmis.csiro.au"; +$M{"phonetic"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"phppcf"}="14 Jun 1996 12:35:55 Graham.Williams\@cmis.csiro.au"; +$M{"physe"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"phyzzx"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pictex"}="24 Feb 1998 13:53:44 Graham.Williams\@cmis.csiro.au"; +$M{"piff"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"piq"}="ctan fonts/okuda//"; +$M{"piq"}="17 Nov 1996 11:28:28 Graham.Williams\@cmis.csiro.au"; +$M{"pkfind"}=" utility to understand those specials, and to act"; +$M{"pkfind"}="3 Mar 1998 15:39:16 Graham.Williams\@cmis.csiro.au"; +$M{"pl-mf"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pl-mf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"pl-qx"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"pl"}="25 Feb 1998, s.rahtz\@elsevier.co.uk"; +$M{"plainmisc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plaintex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plari"}="6 Nov 1998 06:24:51 Graham.Williams\@cmis.csiro.au"; +$M{"platex"}="18 Jun 1998 10:22:09 Graham.Williams\@cmis.csiro.au"; +$M{"plcalendar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plfonts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"plgraph"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"plpsfont"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"pmcstex"}="27 Nov 1997 17:12:37 Graham.Williams\@cmis.csiro.au"; +$M{"pmgraph"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"poligraf"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"poligraf"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"poligraf"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"polish"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"polyglot"}="12 Sep 1997 10:32:34 Graham.Williams\@cmis.csiro.au"; +$M{"ppchtex"}="15 Jan 1997 09:54:55 Graham.Williams\@cmis.csiro.au"; +$M{"prelim2e"}="10 Aug 1998 09:16:01 Graham.Williams\@cmis.csiro.au"; +$M{"prettyref"}="29 Jul 1998 05:41:53 Graham.Williams\@cmis.csiro.au"; +$M{"progkeys"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"program"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"proofs"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"prv"}="11 Dec 1998 05:33:29 Graham.Williams\@cmis.csiro.au"; +$M{"ps_conv"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"ps_view"}="25 Jun 1998 staw\@gust.org.pl"; +$M{"psfig"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"psfixbb"}="23 Jun 1998 15:54:54 Graham.Williams\@cmis.csiro.au"; +$M{"psfont"}="1 Jul 1996 21:00:54 Graham.Williams\@cmis.csiro.au"; +$M{"psfonts"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"psfrag"}="24 Jun 1998 12:56:59 Graham.Williams\@cmis.csiro.au"; +$M{"psizzl"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pslatex"}="2 Aug 1996 12:28:03 Graham.Williams\@cmis.csiro.au"; +$M{"pslatex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"psmerge"}="1 Nov 1996 08:12:01 Graham.Williams\@cmis.csiro.au"; +$M{"psnfss"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"psnfss"}="24 Apr 1997 16:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"psnfssx"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"pspicture"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"pstotext"}="31 Oct 1996 13:39:09 Graham.Williams\@cmis.csiro.au"; +$M{"pstricks"}="30 May 1996 11:20:11 Graham.Williams\@cmis.csiro.au"; +$M{"punk"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"qfig"}="24 Jul 1998 06:25:39 Graham.Williams\@cmis.csiro.au"; +$M{"qfonts"}="18 Jun 1998 10:17:31 Graham.Williams\@cmis.csiro.au"; +$M{"qobitree"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"qsymbols"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"quotchap"}="24 Feb 1998 13:20:08 Graham.Williams\@cmis.csiro.au"; +$M{"quotes"}="1 May 1998 16:55:48 Graham.Williams\@cmis.csiro.au"; +$M{"r-und-s"}="3 Jul 1997 08:10:21 Graham.Williams\@cmis.csiro.au"; +$M{"ragged2e"}="10 Aug 1998 09:09:43 Graham.Williams\@cmis.csiro.au"; +$M{"rail"}="1 Oct 1998 07:36:00 Graham.Williams\@cmis.csiro.au"; +$M{"rangecite"}="28 May 1996 16:31:55 Graham.Williams\@cmis.csiro.au"; +$M{"rawfonts"}="6 Jun 1997 11:32:53 Graham.Williams\@cmis.csiro.au"; +$M{"rawprint"}="21 Oct 1996 13:50:40 Graham.Williams\@cmis.csiro.au"; +$M{"rcsinfo"}="25 Feb 1999 11:36:47 Graham.Williams\@cmis.csiro.au"; +$M{"realcalc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"recipe"}="26 Nov 1996 16:28:13 Graham.Williams\@cmis.csiro.au"; +$M{"refcheck"}="12 May 1997 10:18:04 Graham.Williams\@cmis.csiro.au"; +$M{"refman"}="1 Jun 1998 12:05:47 Graham.Williams\@cmis.csiro.au"; +$M{"relenc"}="23 Feb 1999 16:14:26 Graham.Williams\@cmis.csiro.au"; +$M{"remreset"}="7 Oct 1997 08:58:13 Graham.Williams\@cmis.csiro.au"; +$M{"repeat"}="5 Jan 1999 08:27:22 Graham.Williams\@cmis.csiro.au"; +$M{"revnum"}="3 Mar 1998 15:31:13 Graham.Williams\@cmis.csiro.au"; +$M{"revtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"revtex"}="31 Oct 1996 13:44:58 Graham.Williams\@cmis.csiro.au"; +$M{"rlepsf"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"rmpage"}="5 Feb 1998 14:07:37 Graham.Williams\@cmis.csiro.au"; +$M{"romaniantex"}="15 Nov 1996 14:57:19 Graham.Williams\@cmis.csiro.au"; +$M{"romanneg"}="19 Apr 1998 15:22:21 Graham.Williams\@cmis.csiro.au"; +$M{"rotating"}="12 Jun 1996 06:45:47 Graham.Williams\@cmis.csiro.au"; +$M{"rplain"}="23 Sep 1998 09:45:08 Graham.Williams\@cmis.csiro.au"; +$M{"rsfs-ps"}="25 Apr 1998 06:14:30 Graham.Williams\@cmis.csiro.au"; +$M{"rsfs"}="12 Jun 1996 06:57:19 Graham.Williams\@cmis.csiro.au"; +$M{"ruhyphen"}="8 Oct 1998 11:53:41 Graham.Williams\@cmis.csiro.au"; +$M{"ruler"}="22 May 1996 16:04:57 Graham.Williams\@cmis.csiro.au"; +$M{"s2latex"}="7 Jun 1996 20:13:54 Graham.Williams\@cmis.csiro.au"; +$M{"saferef"}="4 Feb 1997 09:57:44 Graham.Williams\@cmis.csiro.au"; +$M{"sanskrit"}="19 Mar 1997 12:03:33 Graham.Williams\@cmis.csiro.au"; +$M{"sauter"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"sauterfonts"}="12 Nov 1998 20:16:14 Graham.Williams\@cmis.csiro.au"; +$M{"scale"}="6 Nov 1998 06:19:58 Graham.Williams\@cmis.csiro.au"; +$M{"scalefnt"}="7 Oct 1997 08:58:13 Graham.Williams\@cmis.csiro.au"; +$M{"schedule"}="18 Feb 1998 10:30:16 Graham.Williams\@cmis.csiro.au"; +$M{"script"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"section"}="1 May 1998 17:01:43 Graham.Williams\@cmis.csiro.au"; +$M{"sectsty"}="13 Dec 1998 05:29:30 Graham.Williams\@cmis.csiro.au"; +$M{"semantic"}="13 May 1996 06:13:26 Graham.Williams\@cmis.csiro.au"; +$M{"seminar"}="28 May 1996 16:32:44 Graham.Williams\@cmis.csiro.au"; +$M{"setspace"}="27 Nov 1998 09:26:04 Graham.Williams\@cmis.csiro.au"; +$M{"sfg"}="8 Jul 1998 09:15:14 Graham.Williams\@cmis.csiro.au"; +$M{"sfheaders"}="17 Feb 1998 09:11:27 Graham.Williams\@cmis.csiro.au"; +$M{"shadbox"}="5 Aug 1996 12:14:57 Graham.Williams\@cmis.csiro.au"; +$M{"shadbox"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"shadethm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"shading"}="24 Sep 1996 08:55:09 Graham.Williams\@cmis.csiro.au"; +$M{"shadow"}="21 Oct 1996 10:39:52 Graham.Williams\@cmis.csiro.au"; +$M{"shalom"}="30 May 1996 11:22:14 Graham.Williams\@cmis.csiro.au"; +$M{"shapepar"}="3 Jul 1996 15:23:38 Graham.Williams\@cmis.csiro.au"; +$M{"shhyphl"}="7 Jan 1999 07:27:53 Graham.Williams\@cmis.csiro.au"; +$M{"shortlst"}="29 Nov 1998 18:20:51 Graham.Williams\@cmis.csiro.au"; +$M{"shorttoc"}="22 Jul 1998 06:07:50 Graham.Williams\@cmis.csiro.au"; +$M{"showdim"}="30 Jul 1998 05:30:48 Graham.Williams\@cmis.csiro.au"; +$M{"showlabels"}="23 Feb 1999 13:56:22 Graham.Williams\@cmis.csiro.au"; +$M{"siam"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"sidecap"}="6 Nov 1998 06:07:25 Graham.Williams\@cmis.csiro.au"; +$M{"siggraph"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"simpsons"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"sinhala"}="31 Oct 1996 09:54:37 Graham.Williams\@cmis.csiro.au"; +$M{"sirlin"}="16 Aug 1996 14:13:00 Graham.Williams\@cmis.csiro.au"; +$M{"siunits"}="23 Jan 1999 05:00:33 Graham.Williams\@cmis.csiro.au"; +$M{"slashbox"}="20 Feb 1998 14:26:38 Graham.Williams\@cmis.csiro.au"; +$M{"slashed"}="11 Feb 1998 07:48:41 Graham.Williams\@cmis.csiro.au"; +$M{"slidenotes"}="16 Dec 1998 08:33:45 Graham.Williams\@cmis.csiro.au"; +$M{"slides"}="17 Jun 1997 20:12:00 Graham.Williams\@cmis.csiro.au"; +$M{"smallcap"}="28 May 1996 15:57:18 Graham.Williams\@cmis.csiro.au"; +$M{"smallcap"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"smartmn"}="5 Nov 1996 09:14:21 Graham.Williams\@cmis.csiro.au"; +$M{"sobolev"}="1 May 1998 16:56:12 Graham.Williams\@cmis.csiro.au"; +$M{"somedefs"}="12 Aug 1998 06:35:40 Graham.Williams\@cmis.csiro.au"; +$M{"songbook"}="30 Jun 1998 10:54:02 Graham.Williams\@cmis.csiro.au"; +$M{"sorhyph"}="12 May 1997 10:30:15 Graham.Williams\@cmis.csiro.au"; +$M{"soul"}="21 Jan 1999 19:15:44 Graham.Williams\@cmis.csiro.au"; +$M{"spanish"}="21 May 1996 13:04:45 Graham.Williams\@cmis.csiro.au"; +$M{"spanishb"}="5 Oct 1998 11:43:25 Graham.Williams\@cmis.csiro.au"; +$M{"sphack"}="28 May 1998 16:16:55 Graham.Williams\@cmis.csiro.au"; +$M{"sprite"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"ssqquote"}="25 Dec 1996 UV"; +$M{"startex"}="21 Oct 1996 14:23:19 Graham.Williams\@cmis.csiro.au"; +$M{"startex"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"stdclsdv"}="21 Jan 1999 12:51:23 Graham.Williams\@cmis.csiro.au"; +$M{"stmaryrd-ps"}="25 Jul 1998 06:01:40 Graham.Williams\@cmis.csiro.au"; +$M{"stmaryrd"}="25 Apr 1998 06:19:27 Graham.Williams\@cmis.csiro.au"; +$M{"subeqn"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"supertabular"}="7 Oct 1997 09:01:35 Graham.Williams\@cmis.csiro.au"; +$M{"swift"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"syngen"}="19 Nov 1996 08:42:42 Graham.Williams\@cmis.csiro.au"; +$M{"synttree"}="12 Aug 1998 06:13:18 Graham.Williams\@cmis.csiro.au"; +$M{"t2"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"tabbing"}="10 Feb 1998 12:54:11 Graham.Williams\@cmis.csiro.au"; +$M{"tabls"}="15 Dec 1996 19:17:27 Graham.Williams\@cmis.csiro.au"; +$M{"tap"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"tap"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"taylor"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tbe"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tcvn"}="21 Jan 1999 19:18:03 Graham.Williams\@cmis.csiro.au"; +$M{"tcx"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"tds"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"techexplorer"}="19 Aug 1998 07:13:20 Graham.Williams\@cmis.csiro.au"; +$M{"tengwar"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tensind"}="18 Jun 1998 10:06:41 Graham.Williams\@cmis.csiro.au"; +$M{"tensor"}="7 Jun 1996 08:52:37 Graham.Williams\@cmis.csiro.au"; +$M{"termcal"}="14 Jan 1997 10:10:12 Graham.Williams\@cmis.csiro.au"; +$M{"tetex"}="11 Jun 1997 19:22:32 Graham.Williams\@cmis.csiro.au"; +$M{"tex-math"}="8 Jul 1996 14:14:25 Graham.Williams\@cmis.csiro.au"; +$M{"tex-ps"}="09 Jun 1998 staw\@gust.org.pl"; +$M{"tex2bib"}="27 Jan 1998 16:50:26 Graham.Williams\@cmis.csiro.au"; +$M{"tex2html"}="29 Jan 1998 09:10:30 Graham.Williams\@cmis.csiro.au"; +$M{"tex2ltx"}="28 Oct 1998 11:56:39 Graham.Williams\@cmis.csiro.au"; +$M{"tex2rtf"}="25 Jun 1996 08:56:43 Graham.Williams\@cmis.csiro.au"; +$M{"tex4ht"}="23 Oct 1998 05:35:34 Graham.Williams\@cmis.csiro.au"; +$M{"tex98"}="12 Aug 1998 06:09:09 Graham.Williams\@cmis.csiro.au"; +$M{"texdraw"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"texed"}="11 Nov 1998 05:47:04 Graham.Williams\@cmis.csiro.au"; +$M{"texi2html"}="3 Feb 1999 10:27:21 Graham.Williams\@cmis.csiro.au"; +$M{"texi2www"}="2 Jul 1996 10:33:31 Graham.Williams\@cmis.csiro.au"; +$M{"texinfo"}="3 Feb 1999 10:28:52 Graham.Williams\@cmis.csiro.au"; +$M{"texip"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"texlist"}="31 Jan 1999 07:36:23 Graham.Williams\@cmis.csiro.au"; +$M{"texperf"}="16 Aug 1996 14:08:55 Graham.Williams\@cmis.csiro.au"; +$M{"texshell32"}="28 Mar 1998 07:07:28 Graham.Williams\@cmis.csiro.au"; +$M{"texsis"}="27 Jan 1998 16:44:10 Graham.Williams\@cmis.csiro.au"; +$M{"texsk"}="7 Mar 1997 16:53:45 Graham.Williams\@cmis.csiro.au"; +$M{"text1"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"textcase"}="11 Feb 1998 07:49:12 Graham.Williams\@cmis.csiro.au"; +$M{"textfit"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"textmerg"}="31 May 1996 08:43:05 Graham.Williams\@cmis.csiro.au"; +$M{"textoolspro"}=" LaTeX- code, so you can write sections in a"; +$M{"textoolspro"}="21 Jan 1999 13:03:19 Graham.Williams\@cmis.csiro.au"; +$M{"textpos"}="23 Feb 1999 13:54:56 Graham.Williams\@cmis.csiro.au"; +$M{"tfmpk"}="16 Dec 1998 08:30:00 Graham.Williams\@cmis.csiro.au"; +$M{"thesis"}="20 May 1996 10:22:19 Graham.Williams\@cmis.csiro.au"; +$M{"threed"}="13 Apr 1998 06:37:38 Graham.Williams\@cmis.csiro.au"; +$M{"threeparttable"}="15 Dec 1996 19:16:24 Graham.Williams\@cmis.csiro.au"; +$M{"thumb"}="10 Feb 1998 09:34:21 Graham.Williams\@cmis.csiro.au"; +$M{"thumbpdf"}="17 Feb 1999 16:50:56 Graham.Williams\@cmis.csiro.au"; +$M{"tiff"}="11 Nov 1998 05:43:39 Graham.Williams\@cmis.csiro.au"; +$M{"tiff2ps"}="06 May 1998 staw\@gust.org.pl"; +$M{"time"}="7 Jun 1996 09:04:45 Graham.Williams\@cmis.csiro.au"; +$M{"times"}="28 May 1997 16:25:37 Graham.Williams\@cmis.csiro.au"; +$M{"timesht"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"timing"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"tipa"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"titlefoot"}="18 Mar 1998 09:30:36 Graham.Williams\@cmis.csiro.au"; +$M{"titleref"}="15 Dec 1996 19:19:50 Graham.Williams\@cmis.csiro.au"; +$M{"titlesec"}="23 Feb 1999 14:58:36 Graham.Williams\@cmis.csiro.au"; +$M{"titletoc"}="23 Feb 1999 14:58:46 Graham.Williams\@cmis.csiro.au"; +$M{"tkbibtex"}="10 Aug 1998 06:27:23 Graham.Williams\@cmis.csiro.au"; +$M{"tmview"}="29 Jun 1998 10:00:32 Graham.Williams\@cmis.csiro.au"; +$M{"tocbibind"}="21 Jan 1999 12:54:08 Graham.Williams\@cmis.csiro.au"; +$M{"tocloft"}="21 Jan 1999 12:57:14 Graham.Williams\@cmis.csiro.au"; +$M{"tocvsec2"}="21 Jan 1999 12:52:58 Graham.Williams\@cmis.csiro.au"; +$M{"toil"}="27 Jan 1998 16:54:47 Graham.Williams\@cmis.csiro.au"; +$M{"toil"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"tools"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"topcapt"}="15 Dec 1996 19:04:36 Graham.Williams\@cmis.csiro.au"; +$M{"tracking"}="5 Aug 1996 12:11:48 Graham.Williams\@cmis.csiro.au"; +$M{"tracking"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"trans"}="17 Nov 1996 11:34:19 Graham.Williams\@cmis.csiro.au"; +$M{"trans"}="08 Feb 1998 staw\@gust.org.pl"; +$M{"transfig"}="8 Jul 1998 09:08:50 Graham.Williams\@cmis.csiro.au"; +$M{"treesvr"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"truncate"}="15 Dec 1996 19:23:52 Graham.Williams\@cmis.csiro.au"; +$M{"tsconfig"}="27 Nov 1996 13:48:24 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2mf"}="25 Nov 1998 05:37:46 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2pk"}="2 Jan 1999 22:03:00 Graham.Williams\@cmis.csiro.au"; +$M{"ttf2tfm"}="2 Jan 1999 22:05:48 Graham.Williams\@cmis.csiro.au"; +$M{"ttftogf"}="19 Sep 1998 08:12:18 Graham.Williams\@cmis.csiro.au"; +$M{"tth-rpm"}="13 Feb 1999 08:51:59 Graham.Williams\@cmis.csiro.au"; +$M{"tth-win"}="10 Sep 1998 18:39:22 Graham.Williams\@cmis.csiro.au"; +$M{"tth"}="27 Mar 1998 12:45:38 Graham.Williams\@cmis.csiro.au"; +$M{"ttt"}="19 Mar 1997 08:34:45 Graham.Williams\@cmis.csiro.au"; +$M{"tubtoc"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"tugboat-toc"}="28 Dec 1998 09:28:11 Graham.Williams\@cmis.csiro.au"; +$M{"tugboat"}="3 May 1997 s.rahtz\@elsevier.co.uk"; +$M{"tugboat"}="3 Jul 1997 08:01:03 Graham.Williams\@cmis.csiro.au"; +$M{"twg-list"}="25 Feb 1998 09:33:34 Graham.Williams\@cmis.csiro.au"; +$M{"twoup"}="19 Mar 1998 10:39:40 Graham.Williams\@cmis.csiro.au"; +$M{"type1"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"type1"}="February 1998, s.rahtz\@elsevier.co.uk"; +$M{"type1cm"}="7 Mar 1997 16:50:06 Graham.Williams\@cmis.csiro.au"; +$M{"type1cm"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"typearea"}="12 Jun 1996 13:18:22 Graham.Williams\@cmis.csiro.au"; +$M{"typehtml"}="27 Nov 1997 17:08:38 Graham.Williams\@cmis.csiro.au"; +$M{"typespec"}="2 Jul 1998 13:03:32 Graham.Williams\@cmis.csiro.au"; +$M{"uaclasses"}="19 Mar 1997 12:05:52 Graham.Williams\@cmis.csiro.au"; +$M{"uaclasses"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"ucthesis"}="abstract A version of the standard \LaTeX{} report style"; +$M{"ukhyph"}="21 Oct 1996 10:37:20 Graham.Williams\@cmis.csiro.au"; +$M{"ulem"}="28 May 1996 16:34:03 Graham.Williams\@cmis.csiro.au"; +$M{"ulsy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"umlaute"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"umrand"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"underlin"}="13 May 1997 10:24:58 Robin Fairbairns rf\@cl.cam.ac.uk"; +$M{"underscore"}="17 Jul 1998 07:34:04 Graham.Williams\@cmis.csiro.au"; +$M{"uniqleaf"}="2 Aug 1996 12:44:23 Graham.Williams\@cmis.csiro.au"; +$M{"units"}="6 Aug 1998 06:17:29 Graham.Williams\@cmis.csiro.au"; +$M{"universa"}="6 Sep 1998 05:46:31 Graham.Williams\@cmis.csiro.au"; +$M{"url"}="3 Jul 1996 15:23:38 Graham.Williams\@cmis.csiro.au"; +$M{"urw"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"urwstd"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"urwvf"}="5 Feb 1998 09:33:04 Graham.Williams\@cmis.csiro.au"; +$M{"ut-backref"}="10 Nov 1998 10:38:10 Graham.Williams\@cmis.csiro.au"; +$M{"ut-thesis"}="23 Feb 1999 15:02:00 Graham.Williams\@cmis.csiro.au"; +$M{"utorontothesis"}="20 Feb 1998 14:27:24 Graham.Williams\@cmis.csiro.au"; +$M{"utthesis"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"uwthesis"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vdm"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vector"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"verbatim"}="29 May 1996 11:58:52 Graham.Williams\@cmis.csiro.au"; +$M{"vertex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vfcomb"}="24 Oct 1996 10:25:22 Graham.Williams\@cmis.csiro.au"; +$M{"vfinst"}="10 Sep 1998 18:41:42 Graham.Williams\@cmis.csiro.au"; +$M{"viiptart"}="8 Jul 1998 09:20:53 Graham.Williams\@cmis.csiro.au"; +$M{"vmargin"}="12 Jun 1996 13:14:31 Graham.Williams\@cmis.csiro.au"; +$M{"vncmr"}="19 Jul 1996 08:45:39 Graham.Williams\@cmis.csiro.au"; +$M{"vrb"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"vrsion"}="8 Jul 1998 08:17:05 Graham.Williams\@cmis.csiro.au"; +$M{"vruler"}="24 Oct 1996 11:15:39 Graham.Williams\@cmis.csiro.au"; +$M{"warpcol"}="13 Sep 1998 06:27:36 Graham.Williams\@cmis.csiro.au"; +$M{"wasy-ps"}="25 Jul 1998 06:05:00 Graham.Williams\@cmis.csiro.au"; +$M{"wasy"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"wasy2-ps"}="5 Aug 1998 06:26:09 Graham.Williams\@cmis.csiro.au"; +$M{"wasy2"}="25 Jul 1998 06:18:23 Graham.Williams\@cmis.csiro.au"; +$M{"wasysym"}="5 Jan 1999 07:44:43 Graham.Williams\@cmis.csiro.au"; +$M{"web2c-win32"}="3 Apr 1998 06:38:58 Graham.Williams\@cmis.csiro.au"; +$M{"web2c"}="20 Mar 1998 09:27:08 Graham.Williams\@cmis.csiro.au"; +$M{"williams"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"win95-guide"}="12 Apr 1998 20:46:26 Graham.Williams\@cmis.csiro.au"; +$M{"windvi"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"winedt"}="2 Jul 1998 13:00:44 Graham.Williams\@cmis.csiro.au"; +$M{"winemtex"}="3 Aug 1998 18:15:29 Graham.Williams\@cmis.csiro.au"; +$M{"winshell"}="21 Nov 1998 05:34:40 Graham.Williams\@cmis.csiro.au"; +$M{"wmf2eps"}="12 Nov 1998 20:15:28 Graham.Williams\@cmis.csiro.au"; +$M{"wnri"}="30 Jun 1998 10:56:34 Graham.Williams\@cmis.csiro.au"; +$M{"wntamil"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"word2x"}="29 Apr 1997 14:47:38 Graham.Williams\@cmis.csiro.au"; +$M{"wp-conv"}="1 Aug 1998 05:39:06 Graham.Williams\@cmis.csiro.au"; +$M{"wp2latex"}="23 Sep 1998 05:24:28 Graham.Williams\@cmis.csiro.au"; +$M{"wsuipa"}="13 Aug 1998 05:27:18 Graham.Williams\@cmis.csiro.au"; +$M{"wtex95"}="24 Feb 1998 14:01:24 Graham.Williams\@cmis.csiro.au"; +$M{"xdvi"}="28 Jun 1996 10:08:55 Graham.Williams\@cmis.csiro.au"; +$M{"xdvik"}="6 Apr 1998 05:53:45 Graham.Williams\@cmis.csiro.au"; +$M{"xfig"}="8 Jul 1998 09:08:50 Graham.Williams\@cmis.csiro.au"; +$M{"xtab"}="21 Oct 1998 09:32:30 Graham.Williams\@cmis.csiro.au"; +$M{"xtcapts"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"xtem"}="27 Nov 1997 17:13:37 Graham.Williams\@cmis.csiro.au"; +$M{"xymtex"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"xypic"}="21 Nov 1998 05:35:39 Graham.Williams\@cmis.csiro.au"; +$M{"yannisgr"}="25 Feb 1998 s.rahtz\@elsevier.co.uk"; +$M{"yfonts"}="27 Jan 1999 08:26:02 Graham.Williams\@cmis.csiro.au"; +$M{"yhmath"}="16 May 1996 s.rahtz\@elsevier.co.uk"; +$M{"yi4latex"}="22 Feb 1999 s.rahtz\@elsevier.co.uk"; +$M{"youngtab"}="29 Jun 1998 10:06:42 Graham.Williams\@cmis.csiro.au"; +$M{"yplan99"}="11 Dec 1998 05:45:33 Graham.Williams\@cmis.csiro.au"; +$M{"ytex"}="12 Apr 1997 s.rahtz\@elsevier.co.uk"; +$M{"zefonts"}="30 Sep 1998 07:50:57 Graham.Williams\@cmis.csiro.au"; +1; diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/nocites.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/nocites.tex new file mode 100644 index 00000000000..759b379f30e --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/nocites.tex @@ -0,0 +1,557 @@ +\nocite{a0poster} +\nocite{aaai} +\nocite{abstyles} +\nocite{accfonts} +\nocite{achemso} +\nocite{acronym} +\nocite{adfathesis} +\nocite{adobeother} +\nocite{adobestd} +\nocite{adrlist} +\nocite{ae} +\nocite{aguplus} +\nocite{aiaa} +\nocite{akletter} +\nocite{alatex} +\nocite{algorithms} +\nocite{alg} +\nocite{alphaev5-osf4.0d} +\nocite{altfont} +\nocite{amsfonts} +\nocite{amslatex} +\nocite{amstex} +\nocite{answers} +\nocite{antyktor} +\nocite{apa} +\nocite{apl} +\nocite{appendix} +\nocite{arabtex} +\nocite{arydshln} +\nocite{ar} +\nocite{asaetr} +\nocite{ascii} +\nocite{astro} +\nocite{aurora} +\nocite{authorindex} +\nocite{autotab} +\nocite{babel} +\nocite{backgammon} +\nocite{bakoma} +\nocite{barcode2} +\nocite{barcodes} +\nocite{barr} +\nocite{bbding} +\nocite{bbm} +\nocite{bbold} +\nocite{bbtbase} +\nocite{bbtdoc} +\nocite{beebe} +\nocite{belleek} +\nocite{beton} +\nocite{bez123} +\nocite{bezos} +\nocite{bibarts} +\nocite{biblist} +\nocite{bluesky} +\nocite{blue} +\nocite{booktabs} +\nocite{borceux} +\nocite{bosisio} +\nocite{bridge} +\nocite{brushscr} +\nocite{c-pascal} +\nocite{calendar} +\nocite{calligra} +\nocite{calrsfs} +\nocite{camel} +\nocite{caption} +\nocite{carlisle} +\nocite{casyl} +\nocite{catalog} +\nocite{cbgreek} +\nocite{cc-pl} +\nocite{ccaption} +\nocite{ccfonts} +\nocite{cchess} +\nocite{cdcover} +\nocite{cellular} +\nocite{changebar} +\nocite{chemcono} +\nocite{chemsym} +\nocite{cheq} +\nocite{cherokee} +\nocite{chess} +\nocite{china2e} +\nocite{circ} +\nocite{cirth} +\nocite{cite} +\nocite{cjk} +\nocite{cmbright} +\nocite{cmcyralt} +\nocite{cmcyr} +\nocite{cmdtrack} +\nocite{cmextra} +\nocite{cmpica} +\nocite{cmpk} +\nocite{cmsd} +\nocite{cm} +\nocite{codepage} +\nocite{colorsep} +\nocite{colortab} +\nocite{comment} +\nocite{concmath} +\nocite{concrete} +\nocite{context} +\nocite{covington} +\nocite{croatian} +\nocite{crop} +\nocite{crossword} +\nocite{crosswrd} +\nocite{csfonts} +\nocite{cslatex} +\nocite{csplain} +\nocite{cspsfonts} +\nocite{cstug} +\nocite{cursor} +\nocite{curves} +\nocite{custom-bib} +\nocite{cyrillic} +\nocite{dancers} +\nocite{deleq} +\nocite{devanagari} +\nocite{dialogl} +\nocite{dinbrief} +\nocite{directory} +\nocite{dotseqn} +\nocite{draftcopy} +\nocite{dratex} +\nocite{dropping} +\nocite{dstroke} +\nocite{dtk} +\nocite{duerer} +\nocite{dvipdfm} +\nocite{dvipsbase} +\nocite{dvipsdoc} +\nocite{ean} +\nocite{easy} +\nocite{ecc} +\nocite{ecltree} +\nocite{eco} +\nocite{ecpk} +\nocite{ec} +\nocite{edmac} +\nocite{eepic} +\nocite{egplot} +\nocite{eiad} +\nocite{eijkhout} +\nocite{elsevier} +\nocite{elvish} +\nocite{emp} +\nocite{emulateapj} +\nocite{encodings} +\nocite{endfloat} +\nocite{engwar} +\nocite{envbig} +\nocite{envlab} +\nocite{epigraph} +\nocite{eplain} +\nocite{eqname} +\nocite{eqnarray} +\nocite{esieecv} +\nocite{etexbase} +\nocite{etruscan} +\nocite{euler} +\nocite{euro2} +\nocite{eurofont} +\nocite{europs} +\nocite{eurosans} +\nocite{eurosym} +\nocite{euro} +\nocite{euxm} +\nocite{examdesign} +\nocite{exam} +\nocite{expdlist} +\nocite{expl3} +\nocite{export} +\nocite{fancybox} +\nocite{fancyhdr} +\nocite{fancyref} +\nocite{fancyvrb} +\nocite{fax} +\nocite{fc} +\nocite{feynmf} +\nocite{finbib} +\nocite{floatfig} +\nocite{floatflt} +\nocite{float} +\nocite{fltpage} +\nocite{fncychap} +\nocite{foilhtml} +\nocite{foiltex} +\nocite{fontinst} +\nocite{fontname} +\nocite{footbib} +\nocite{footmisc} +\nocite{footnpag} +\nocite{formats} +\nocite{formula} +\nocite{fp} +\nocite{frankenstein} +\nocite{french} +\nocite{fribrief} +\nocite{fullblck} +\nocite{fullpict} +\nocite{fundus} +\nocite{futhark} +\nocite{g-brief} +\nocite{gb4e} +\nocite{genealogy} +\nocite{general} +\nocite{genmisc} +\nocite{geometry} +\nocite{geomsty} +\nocite{german} +\nocite{germbib} +\nocite{germdoc} +\nocite{gloss} +\nocite{gn-logic} +\nocite{gothic} +\nocite{go} +\nocite{graphics} +\nocite{greek6cbc} +\nocite{grnumalt} +\nocite{grtimes} +\nocite{guides} +\nocite{gustlib} +\nocite{hands} +\nocite{hanging} +\nocite{harpoon} +\nocite{harvard} +\nocite{harvmac} +\nocite{hh} +\nocite{hilowres} +\nocite{histogr} +\nocite{hoekwater} +\nocite{hppa1.1-hpux10.10} +\nocite{html} +\nocite{hvmaths} +\nocite{hyperref} +\nocite{hyper} +\nocite{hyphenat} +\nocite{hyphen} +\nocite{i386-linux-libc5} +\nocite{i386-linux} +\nocite{ibm} +\nocite{ieeepes} +\nocite{ifacmtg} +\nocite{imac} +\nocite{indxcite} +\nocite{info} +\nocite{ini} +\nocite{insbox} +\nocite{ipa} +\nocite{isostds} +\nocite{jadetex} +\nocite{jhep} +\nocite{jknappen} +\nocite{jsmisc} +\nocite{jura} +\nocite{kalender} +\nocite{karnaugh} +\nocite{kdgreek} +\nocite{kluwer} +\nocite{knuth} +\nocite{koma-script} +\nocite{kuvio} +\nocite{labels} +\nocite{lamstex} +\nocite{lastpage} +\nocite{latexfonts} +\nocite{layouts} +\nocite{leaflet} +\nocite{leftidx} +\nocite{lettrine} +\nocite{levy} +\nocite{lgc} +\nocite{lgreek} +\nocite{lhcyr} +\nocite{lh} +\nocite{lineno} +\nocite{linguex} +\nocite{listings} +\nocite{lkort} +\nocite{localloc} +\nocite{logic} +\nocite{lollipop} +\nocite{ltablex} +\nocite{ltx2rtf} +\nocite{ltxbase} +\nocite{ltxdoc} +\nocite{ltxmisc} +\nocite{lucida} +\nocite{ly1} +\nocite{mailing} +\nocite{makeindex} +\nocite{malayalam} +\nocite{malvern} +\nocite{mapcodes} +\nocite{maple} +\nocite{margbib} +\nocite{marvosym} +\nocite{mathcomp} +\nocite{mathematica} +\nocite{mathpple} +\nocite{mcite} +\nocite{mdwtools} +\nocite{metasupp} +\nocite{method} +\nocite{mex} +\nocite{mff} +\nocite{mflogo} +\nocite{mfmisc} +\nocite{mfnfss} +\nocite{mfpic} +\nocite{mftoeps} +\nocite{mft} +\nocite{mhs} +\nocite{midnight} +\nocite{minitoc} +\nocite{mips-irix6.2} +\nocite{misc209} +\nocite{mltex} +\nocite{mnras} +\nocite{monotype} +\nocite{montex} +\nocite{morehelp} +\nocite{moresize} +\nocite{moreverb} +\nocite{morse} +\nocite{mpattern} +\nocite{mpbase} +\nocite{mpfnmark} +\nocite{mslapa} +\nocite{ms} +\nocite{mtbe} +\nocite{multenum} +\nocite{multirow} +\nocite{multi} +\nocite{musictex} +\nocite{musixtex} +\nocite{nassflow} +\nocite{natbib} +\nocite{ncctools} +\nocite{newalg} +\nocite{newlfm} +\nocite{newsletr} +\nocite{newthm} +\nocite{niceframe} +\nocite{nomencl} +\nocite{nrc} +\nocite{ntgclass} +\nocite{ntg} +\nocite{ntheorem} +\nocite{numline} +\nocite{objectz} +\nocite{oca} +\nocite{ocr-a} +\nocite{ogham} +\nocite{ogonek} +\nocite{oldstyle} +\nocite{omegabase} +\nocite{omegafonts} +\nocite{osmanian} +\nocite{ot2cyr} +\nocite{overpic} +\nocite{pacioli} +\nocite{pageno} +\nocite{pandora} +\nocite{paper} +\nocite{paralist} +\nocite{parallel} +\nocite{patch} +\nocite{pawpict} +\nocite{pb-diagram} +\nocite{pdcmac} +\nocite{pdfscreen} +\nocite{pdftex} +\nocite{permute} +\nocite{phoenician} +\nocite{phonetic} +\nocite{physe} +\nocite{phyzzx} +\nocite{picinpar} +\nocite{picins} +\nocite{pictex} +\nocite{piff} +\nocite{pl-qx} +\nocite{plainmisc} +\nocite{plaintex} +\nocite{plari} +\nocite{platex} +\nocite{play} +\nocite{plcalendar} +\nocite{plfonts} +\nocite{plgraph} +\nocite{plpatch} +\nocite{pl} +\nocite{pmgraph} +\nocite{poligraf} +\nocite{polish} +\nocite{polyglot} +\nocite{prettyref} +\nocite{progkeys} +\nocite{program} +\nocite{proofs} +\nocite{protex} +\nocite{psafm} +\nocite{psfig} +\nocite{psfrag} +\nocite{psizzl} +\nocite{pslatex} +\nocite{psnfssx} +\nocite{psnfss} +\nocite{pspicture} +\nocite{pstricks} +\nocite{punk} +\nocite{qfonts} +\nocite{qobitree} +\nocite{qsymbols} +\nocite{quotchap} +\nocite{r-und-s} +\nocite{rcsinfo} +\nocite{rcs} +\nocite{realcalc} +\nocite{refcheck} +\nocite{refman} +\nocite{relenc} +\nocite{revtex} +\nocite{rlepsf} +\nocite{rmpage} +\nocite{rotating} +\nocite{rotfloat} +\nocite{rplain} +\nocite{rs6000-aix4.1.4.0} +\nocite{rsfs} +\nocite{ruhyphen} +\nocite{runic} +\nocite{sanskrit} +\nocite{sauterfonts} +\nocite{scale} +\nocite{schedule} +\nocite{script} +\nocite{sectsty} +\nocite{semantic} +\nocite{seminar} +\nocite{setspace} +\nocite{shadbox} +\nocite{shadethm} +\nocite{shortlst} +\nocite{shorttoc} +\nocite{showdim} +\nocite{showlabels} +\nocite{siam} +\nocite{sidecap} +\nocite{siggraph} +\nocite{simpsons} +\nocite{siunits} +\nocite{slashbox} +\nocite{slidenotes} +\nocite{smallcap} +\nocite{songbook} +\nocite{soul} +\nocite{sparc-solaris2.5.1} +\nocite{sprite} +\nocite{ssqquote} +\nocite{startex} +\nocite{stdclsdv} +\nocite{stmaryrd} +\nocite{subeqnarray} +\nocite{subeqn} +\nocite{subfigure} +\nocite{supertabular} +\nocite{synttree} +\nocite{t2} +\nocite{tabbing} +\nocite{tap} +\nocite{taylor} +\nocite{tbe} +\nocite{tcx} +\nocite{tds} +\nocite{tengwar} +\nocite{tetex} +\nocite{tex-ps} +\nocite{tex4ht} +\nocite{texdraw} +\nocite{texinfo} +\nocite{texip} +\nocite{texlive} +\nocite{texsis} +\nocite{text1} +\nocite{textfit} +\nocite{textmerg} +\nocite{textpos} +\nocite{thesis} +\nocite{threed} +\nocite{thumbpdf} +\nocite{thumb} +\nocite{timesht} +\nocite{timing} +\nocite{tipa} +\nocite{titlefoot} +\nocite{titlesec} +\nocite{tmmaths} +\nocite{tocbibind} +\nocite{tocloft} +\nocite{tocvsec2} +\nocite{tools} +\nocite{tracking} +\nocite{treesvr} +\nocite{treetex} +\nocite{ttf2pk} +\nocite{tugboat} +\nocite{tug} +\nocite{type1cm} +\nocite{type1} +\nocite{typespec} +\nocite{uaclasses} +\nocite{ucthesis} +\nocite{ulsy} +\nocite{umlaute} +\nocite{umrand} +\nocite{underlin} +\nocite{units} +\nocite{universa} +\nocite{uni} +\nocite{unsupported} +\nocite{urwstd} +\nocite{useful} +\nocite{ut-thesis} +\nocite{utthesis} +\nocite{uwthesis} +\nocite{vdm} +\nocite{vector} +\nocite{vertex} +\nocite{vita} +\nocite{vrb} +\nocite{vrsion} +\nocite{warpcol} +\nocite{wasysym} +\nocite{wasy} +\nocite{williams} +\nocite{win32} +\nocite{windvi} +\nocite{wnri} +\nocite{wntamil} +\nocite{wsuipa} +\nocite{xtab} +\nocite{xtcapts} +\nocite{xymtex} +\nocite{xypic} +\nocite{yannisgr} +\nocite{yfonts} +\nocite{yhmath} +\nocite{yi4latex} +\nocite{youngtab} +\nocite{ytex} +\nocite{zed-csp} +\nocite{zefonts} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/picture.tex b/Master/texmf/doc/texlive/source/texlive-en/archive/picture.tex new file mode 100644 index 00000000000..098cfe18f10 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/picture.tex @@ -0,0 +1,46 @@ +\documentclass{artikel3} +\pagestyle{empty} +\usepackage{pstcol,pst-text,lucidbrb} +\font\manual=manfnt %logo10 doesn't have what we need +\hyphenchar\manual=-1 +\def\MF{{\manual META}\-{\manual FONT}} +\begin{document} +\sffamily +\psset{unit=1mm} +\def\Size#1#2{\fontsize{#1}{#2}\selectfont} +\begin{pspicture}(-58,-58)(58,58) +\pscircle[linewidth=.3pt,linecolor=lightgray]{58} +%\pscircle{23} +\psset{linestyle=none} +% top of circle +\pstextpath[c]{\psarcn(0,0){48}{180}{0}} +{\Size{1.2cm}{1cm}\bfseries \TeX\ Live 4} +\rput(0,34){\begin{minipage}{8cm}\centering \textbf{March 1999}\\[3mm] +\Size{9}{10.5}Ready-to-run \TeX\ system for Linux, Unix (DEC,\\ HP, IBM, +SGI, Sun), and Win32 systems, \\ +based on Web2c 7.3\\ +\end{minipage}} +% bottom of circle +\rput(30,10){\begin{minipage}{2.7cm}\raggedleft\footnotesize +ISO 9660 with Joliet \\and Rock Ridge \\ +extensions\end{minipage}} +\rput(0,-30){\begin{minipage}{7cm}\centering +Macros, fonts, documentation to the\\ +\emph{{\TeX} Directory Structure} standard.\\[2mm] +Editor: Sebastian Rahtz +\end{minipage}} +\pstextpath[c]{\psarc(0,0){45}{180}{0}} +{ +{\Size{14}{14}\ttfamily http://www.tug.org/texlive/} } +\pstextpath[c]{\psarc(0,0){53}{180}{0}} +{\Size{13.2}{14}\bfseries +CSTUG $\bullet$ +Dante e.V. $\bullet$ +GUST $\bullet$ +GUTenberg $\bullet$ +NTG $\bullet$ +TUG $\bullet$ +TUG India $\bullet$ +UK TUG} +\end{pspicture} +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/split.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/split.pl new file mode 100644 index 00000000000..bca00584335 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/split.pl @@ -0,0 +1,16 @@ +#@TeXIndex{a0poster, +open TMP, ">/dev/null"; +while (<>) { + chop; + if (/\@TeXIndex/) { + print TMP "\n"; + close TMP; + $keep=$_; + s/\@TeXIndex{(.*),.*/$1/; + print "[$_]\n"; + open TMP, ">$_.bib"; + print TMP "$keep\n"; + } + else { print TMP "$_\n" ; } + +} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/status.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/status.pl new file mode 100644 index 00000000000..28c3d0d6d4c --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/status.pl @@ -0,0 +1,31 @@ +#package: pIq +#license: pd +#(but erasing the headers is not allowed) +#Note that I made the most recent change, but +#Mark Shoulson (shoulson@ctr.columbia.edu) +#wrote the initial version. He should be named +#in the catalogue, too. + +#csuov@csv.warwick.ac.uk +#Subject: cmtt +#To: krab@iesd.auc.dk +#Subject: ftn +#To: inas@MIB.HARZ.DE +#Subject: newthm +#To: reckdahl@leland.stanford.edu +#Subject: epslatex +#To: miktex-bug@ronin.in-berlin.de +#Subject: miktex +#To: de8827@blackjack.usma.edu +#Subject: lated +#To: jdyoung@AFIT.AF.MIL +#Subject: afthesis +#xlwy01@uxp1.hrz.uni-dortmund.de (c2cweb) + +$L{"newlfm"}="free-latex"; +$L{"pacioli"}="gpl"; +$L{"etruscan"}="gpl"; +$L{"phoenician"}="gpl"; +$L{"greek6bc"}="gpl"; +$L{"runic"}="gpl"; +1; diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bib b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bib new file mode 100644 index 00000000000..17c75e197b7 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bib @@ -0,0 +1,235 @@ +@TeXIndex{mips-irix6.2, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for SGI running Irix 6.2}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alpha-osf3.2, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alpha running OSF 3.2.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alphaev5-osf4.0d, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alphaev5 running OSF 4.0d.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{alphaev5-osf4.0b, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Alphaev5 running OSF 4.0b.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{bbtbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic \BibTeX{} support files.}, + status = {free}, + texlive = {bibtex1} +} + +@TeXIndex{bbtdoc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic \BibTeX{} documentation.}, + status = {free}, + texlive = {bibtex2} +} + +@TeXIndex{catalog, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {Graham Williams' Catalogue of \TeX{} packages.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{cmpk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Computer Modern fonts in PK format.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{dtk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Macros for the DANTE publication.}, + status = {free}, + texlive = {latex3} +} + +@TeXIndex{dvipsbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic support files for dvips.}, + status = {free}, + texlive = {dvips1} +} + +@TeXIndex{general, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Useful general documentation.}, + status = {free}, + texlive = {doc1} +} + +@TeXIndex{guides, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Guides to using \LaTeX, in English, German, French, + Greek and Polish.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{hppa1.1-hpux10.10, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for HP running hpux10.10.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{hyphen, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Collection of hyphenation patterns.}, + email = {s.rahtz@elsevier.co.uk}, + author = {LaTeX3 Project}, + status = {free}, + texlive = {lang1} +} + +@TeXIndex{i386-linux, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Intel machines running Linux.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{i386-linux-libc5, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Intel machines + running Linux, with libc5}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{ini, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {Startup files for building formats.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{lgc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Examples from the \emph{\LaTeX{} Graphics Companion}.}, + status = {free}, + texlive = {doc3} +} + +@TeXIndex{metasupp, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {MetaPost support files.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{mfmisc, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Small support files for \MF.}, + status = {free}, + texlive = {fonts1} +} + +@TeXIndex{mft, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Support files for MFT.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{misc209, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Miscellaneous small macro files for \LaTeX 2.09.}, + status = {free}, + texlive = {latex2} +} + +@TeXIndex{mpbase, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic MetaPost support files.}, + status = {free}, + texlive = {metapost1} +} + +@TeXIndex{multi, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {dvips header for making n-up pages.}, + status = {free}, + texlive = {dvips3} +} + +@TeXIndex{psafm, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {AFM files for PostScript fonts.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{pspk, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {PK files for common PostScript fonts.}, + status = {free}, + texlive = {fonts3} +} + +@TeXIndex{rs6000-aix4.1, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for RS6000 running AIX 4.1.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{rs6000-aix4.1.4.0, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for RS6000 running AIX 4.1.4.0}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{sparc-solaris2.5.1, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Sun Sparc running Solaris 2.5.1.}, + status = {free}, + texlive = {systems1} +} + +@TeXIndex{texlive, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Basic material for \TeXLive{}.}, + status = {free}, + texlive = {texlive1} +} + +@TeXIndex{tug, + modified = {February 1999, s.rahtz@elsevier.co.uk}, + abstract = {\TeX\ Users Group information.}, + status = {free}, + texlive = {doc3} +} + +@TeXIndex{useful, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {Useful documentation; various \LaTeX{} guides, FAQ, + fontname docs, etc.}, + status = {free}, + texlive = {doc2} +} + +@TeXIndex{win32, + modified = {February 1999 s.rahtz@elsevier.co.uk}, + abstract = {System binaries for Windows 32.}, + status = {free}, + texlive = {systems1} +} diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bst b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bst new file mode 100644 index 00000000000..a4954030c95 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.bst @@ -0,0 +1,60 @@ +ENTRY + { + name + status + abstract + texlive + author + ctan + keywords + version + also + modified + } + {} % no integer entry variables + { label extra.label sort.label } % label entry variables + + +STRINGS { s t a.name } + + +FUNCTION {not} +{ { #0 } + { #1 } + if$ +} + +FUNCTION {and} +{ 'skip$ + { pop$ #0 } + if$ +} + +FUNCTION {or} +{ { pop$ #1 } + 'skip$ + if$ +} + +INTEGERS { nameptr namesleft numnames } + + +FUNCTION {TexIndex} { + texlive empty$ + { } + { "\bibitem{" cite$ * "}" * write$ + cite$ "&" * write$ + status "&" * write$ + texlive "&" * write$ + newline$ + abstract write$ + newline$ + } + if$ + } + + +READ + +ITERATE {call.type$} + diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2003 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2003 new file mode 100644 index 00000000000..3b75b7b5bfd --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2003 @@ -0,0 +1,378 @@ +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2003/09/01 v1.0 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{graphicx} +\RequirePackage{here} +\RequirePackage{longtable} +\RequirePackage{pslatex} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +%\usepackage[textcomp]{lmodern} +% +\RequirePackage{europs} +\let\euro\EUR +% +\RequirePackage{mflogo} +\def\MP{MetaPost} +\let\mf\MF +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\pretolerance=1000 +\tolerance=1500 +\hbadness=3000 +\vbadness=3000 +\hyphenpenalty=400 +\emergencystretch=.1\hsize +\relpenalty=500 +% +% fonts +\let\sl\it +\let\slfamily\itfamily +\let\textsl\textit +%\def\ttdefault{cmtt} +\def\ttdefault{lmtt} +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{\emph{#1}} +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX-Collection}} +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't why \descriptionlabel doesn't. +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} +% +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} +% +% +% output setup +% +\newif\ifSingleColumn +\providecommand{\Status}{0} +%\typeout{Status is \Status} +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation for printing} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[colorlinks,bookmarksopen, + pdfstartview={FitBH -320000},hyperindex]{hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \RequirePackage[latex4ht]{tex4ht} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \RequirePackage{multicol} + \SingleColumnfalse + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} +% +% a hack for the bibliography +\bibliographystyle{tex-live} +\newif\iffirstbibentry +\global\firstbibentrytrue +\let\@@bibitem\bibitem +\renewcommand\bibitem{\iffirstbibentry + \global\firstbibentryfalse + \else + \\\SetRowColor + \fi + \@@bibitem +} + + +% for \Dings +\RequirePackage{pifont} +% available for inter-article dinglines +\def\Dings{\nopagebreak{\footnotesize\dingline{167}}} + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2004 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2004 new file mode 100644 index 00000000000..54ff32dbe53 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2004 @@ -0,0 +1,422 @@ +% $Id$ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2004/11/07 v1.0 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{graphicx} +\RequirePackage{here} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX-Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\newif\ifSingleColumn +\providecommand{\Status}{0} +%\typeout{Status is \Status} +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + pagecolor=hypercolor,urlcolor=hypercolor, + filecolor=hypercolor, + bookmarksopen,pdfstartview={FitBH -320000},hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2005 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2005 new file mode 100644 index 00000000000..487c8b8d7a2 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2005 @@ -0,0 +1,429 @@ +% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX\ Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + pagecolor=hypercolor,urlcolor=hypercolor, + filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2007 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2007 new file mode 100644 index 00000000000..487c8b8d7a2 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2007 @@ -0,0 +1,429 @@ +% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{2} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\texttt{#1}} +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +\def\Ucom#1{% + \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\textsf{\TeX\ Collection}} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{web}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + pagecolor=hypercolor,urlcolor=hypercolor, + filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2008 b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2008 new file mode 100644 index 00000000000..6bb5d7fb57b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/tex-live.sty-2008 @@ -0,0 +1,444 @@ +% $Id: tex-live.sty 10332 2008-08-14 01:04:30Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2008/08/08 v1.6 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\def\p.{p.\,} + +% for a proper \acro command. +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textscale{.9}{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output + \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else + \HCode{\string&\#x1EBF;}\fi~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\ISO}{\acro{ISO}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-en/archive/texlive.pl b/Master/texmf/doc/texlive/source/texlive-en/archive/texlive.pl new file mode 100644 index 00000000000..33a19a801d6 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/archive/texlive.pl @@ -0,0 +1,574 @@ +$texlive{"a0poster"}="latex3"; +$texlive{"aaai"}="latex3"; +$texlive{"abstyles"}="bibtex3"; +$texlive{"accfonts"}="fonts3"; +$texlive{"achemso"}="latex3"; +$texlive{"acronym"}="latex3"; +$texlive{"adfathesis"}="latex3"; +$texlive{"adobeother"}="fonts3"; +$texlive{"adobestd"}="fonts1"; +$texlive{"adrlist"}="latex3"; +$texlive{"ae"}="fonts2"; +$texlive{"aguplus"}="latex3"; +$texlive{"aiaa"}="latex3"; +$texlive{"akletter"}="latex3"; +$texlive{"alatex"}="formats3"; +$texlive{"alg"}="latex3"; +$texlive{"algorithms"}="latex3"; +$texlive{"alphaev5-osf4.0d"}="systems1"; +$texlive{"alphaev5-osf4.0d"}="systems2"; +$texlive{"alphaev5-osf4.0d"}="systems3"; +$texlive{"altfont"}="latex3"; +$texlive{"amsfonts"}="fonts2"; +$texlive{"amslatex"}="latex2"; +$texlive{"amstex"}="plain2"; +$texlive{"answers"}="latex3"; +$texlive{"antyktor"}="fonts3"; +$texlive{"apa"}="latex3"; +$texlive{"apl"}="fonts3"; +$texlive{"appendix"}="latex3"; +$texlive{"ar"}="fonts3"; +$texlive{"arabtex"}="lang3"; +$texlive{"arydshln"}="latex3"; +$texlive{"asaetr"}="latex3"; +$texlive{"ascii"}="fonts3"; +$texlive{"astro"}="fonts3"; +$texlive{"aurora"}="dvips3"; +$texlive{"authorindex"}="latex3"; +$texlive{"autotab"}="latex3"; +$texlive{"babel"}="generic2"; +$texlive{"backgammon"}="fonts3"; +$texlive{"bakoma"}="fonts2"; +$texlive{"barcode2"}="fonts3"; +$texlive{"barcodes"}="fonts3"; +$texlive{"barr"}="graphics3"; +$texlive{"bbding"}="fonts3"; +$texlive{"bbm"}="fonts3"; +$texlive{"bbold"}="fonts3"; +$texlive{"bbtbase"}="bibtex1"; +$texlive{"bbtdoc"}="bibtex2"; +$texlive{"beebe"}="bibtex2"; +$texlive{"belleek"}="fonts2"; +$texlive{"beton"}="latex3"; +$texlive{"bez123"}="latex3"; +$texlive{"bezos"}="latex3"; +$texlive{"bibarts"}="bibtex3"; +$texlive{"biblist"}="latex3"; +$texlive{"blue"}="formats3"; +$texlive{"bluesky"}="fonts1"; +$texlive{"booktabs"}="latex2"; +$texlive{"borceux"}="graphics3"; +$texlive{"bosisio"}="latex3"; +$texlive{"bridge"}="latex3"; +$texlive{"brushscr"}="fonts3"; +$texlive{"c-pascal"}="generic3"; +$texlive{"calendar"}="latex3"; +$texlive{"calligra"}="fonts3"; +$texlive{"calrsfs"}="latex3"; +$texlive{"camel"}="latex3"; +$texlive{"caption"}="latex2"; +$texlive{"carlisle"}="latex2"; +$texlive{"casyl"}="lang3"; +$texlive{"catalog"}="doc2"; +$texlive{"cbgreek"}="fonts3"; +$texlive{"cc-pl"}="fonts2"; +$texlive{"ccaption"}="latex3"; +$texlive{"ccfonts"}="latex3"; +$texlive{"cchess"}="fonts3"; +$texlive{"cdcover"}="latex3"; +$texlive{"cellular"}="plain3"; +$texlive{"changebar"}="latex2"; +$texlive{"chemcono"}="latex3"; +$texlive{"chemsym"}="latex3"; +$texlive{"cheq"}="fonts3"; +$texlive{"cherokee"}="fonts3"; +$texlive{"chess"}="fonts3"; +$texlive{"china2e"}="latex3"; +$texlive{"circ"}="graphics3"; +$texlive{"cirth"}="fonts3"; +$texlive{"cite"}="latex2"; +$texlive{"cjk"}="lang3"; +$texlive{"cm"}="fonts1"; +$texlive{"cmbright"}="fonts2"; +$texlive{"cmcyr"}="fonts3"; +$texlive{"cmcyralt"}="latex3"; +$texlive{"cmdtrack"}="latex2"; +$texlive{"cmextra"}="fonts2"; +$texlive{"cmpica"}="fonts3"; +$texlive{"cmpk"}="fonts3"; +$texlive{"cmsd"}="latex3"; +$texlive{"codepage"}="latex3"; +$texlive{"colorsep"}="dvips3"; +$texlive{"colortab"}="plain3"; +$texlive{"comment"}="latex3"; +$texlive{"concmath"}="fonts3"; +$texlive{"concrete"}="fonts3"; +$texlive{"context"}="formats2"; +$texlive{"covington"}="latex3"; +$texlive{"croatian"}="lang3"; +$texlive{"crop"}="latex3"; +$texlive{"crossword"}="latex3"; +$texlive{"crosswrd"}="latex3"; +$texlive{"csfonts"}="fonts2"; +$texlive{"cslatex"}="lang2"; +$texlive{"csplain"}="lang2"; +$texlive{"cspsfonts"}="fonts2"; +$texlive{"cstug"}="doc3"; +$texlive{"cursor"}="latex3"; +$texlive{"curves"}="graphics3"; +$texlive{"custom-bib"}="bibtex2"; +$texlive{"cyrillic"}="lang2"; +$texlive{"dancers"}="fonts3"; +$texlive{"deleq"}="latex3"; +$texlive{"devanagari"}="lang3"; +$texlive{"dialogl"}="latex3"; +$texlive{"dinbrief"}="latex3"; +$texlive{"directory"}="bibtex3"; +$texlive{"dotseqn"}="latex3"; +$texlive{"draftcopy"}="latex3"; +$texlive{"dratex"}="graphics3"; +$texlive{"dropping"}="latex3"; +$texlive{"dstroke"}="fonts3"; +$texlive{"dtk"}="latex3"; +$texlive{"duerer"}="fonts3"; +$texlive{"dvipdfm"}="doc2"; +$texlive{"dvipsbase"}="dvips1"; +$texlive{"dvipsdoc"}="dvips2"; +$texlive{"ean"}="generic3"; +$texlive{"easy"}="latex3"; +$texlive{"ec"}="fonts2"; +$texlive{"ecc"}="fonts3"; +$texlive{"ecltree"}="latex2"; +$texlive{"eco"}="fonts3"; +$texlive{"ecpk"}="fonts3"; +$texlive{"edmac"}="plain3"; +$texlive{"eepic"}="graphics2"; +$texlive{"egplot"}="latex3"; +$texlive{"eiad"}="fonts3"; +$texlive{"eijkhout"}="generic3"; +$texlive{"elsevier"}="latex3"; +$texlive{"elvish"}="fonts3"; +$texlive{"emp"}="latex3"; +$texlive{"emulateapj"}="latex3"; +$texlive{"encodings"}="omega2"; +$texlive{"endfloat"}="latex3"; +$texlive{"engwar"}="fonts3"; +$texlive{"envbig"}="latex3"; +$texlive{"envlab"}="latex3"; +$texlive{"epigraph"}="latex3"; +$texlive{"eplain"}="formats2"; +$texlive{"eqname"}="latex3"; +$texlive{"eqnarray"}="latex3"; +$texlive{"esieecv"}="latex3"; +$texlive{"etexbase"}="etex2"; +$texlive{"etruscan"}="fonts3"; +$texlive{"euler"}="latex3"; +$texlive{"euro"}="fonts2"; +$texlive{"euro2"}="latex3"; +$texlive{"eurofont"}="fonts2"; +$texlive{"europs"}="fonts2"; +$texlive{"eurosans"}="latex3"; +$texlive{"eurosym"}="fonts2"; +$texlive{"euxm"}="fonts3"; +$texlive{"exam"}="latex3"; +$texlive{"examdesign"}="latex3"; +$texlive{"expdlist"}="latex3"; +$texlive{"expl3"}="latex3"; +$texlive{"export"}="latex3"; +$texlive{"fancybox"}="latex2"; +$texlive{"fancyhdr"}="latex2"; +$texlive{"fancyref"}="latex2"; +$texlive{"fancyvrb"}="latex2"; +$texlive{"fax"}="latex3"; +$texlive{"fc"}="fonts3"; +$texlive{"feynmf"}="graphics3"; +$texlive{"finbib"}="bibtex3"; +$texlive{"float"}="latex2"; +$texlive{"floatfig"}="latex3"; +$texlive{"floatflt"}="latex3"; +$texlive{"fltpage"}="latex3"; +$texlive{"fncychap"}="latex3"; +$texlive{"foilhtml"}="latex3"; +$texlive{"foiltex"}="latex3"; +$texlive{"fontinst"}="generic2"; +$texlive{"fontname"}="doc2"; +$texlive{"footbib"}="latex3"; +$texlive{"footmisc"}="latex2"; +$texlive{"footnpag"}="latex3"; +$texlive{"formats"}="texlive2"; +$texlive{"formula"}="latex3"; +$texlive{"fp"}="latex3"; +$texlive{"frankenstein"}="latex3"; +$texlive{"french"}="lang2"; +$texlive{"fribrief"}="latex3"; +$texlive{"fullblck"}="latex3"; +$texlive{"fullpict"}="latex3"; +$texlive{"fundus"}="latex3"; +$texlive{"futhark"}="fonts3"; +$texlive{"g-brief"}="latex3"; +$texlive{"gb4e"}="latex3"; +$texlive{"genealogy"}="fonts3"; +$texlive{"general"}="doc1"; +$texlive{"genmisc"}="generic3"; +$texlive{"geometry"}="latex3"; +$texlive{"geomsty"}="latex3"; +$texlive{"german"}="lang2"; +$texlive{"germbib"}="bibtex2"; +$texlive{"germdoc"}="doc2"; +$texlive{"gloss"}="latex3"; +$texlive{"gn-logic"}="latex3"; +$texlive{"go"}="fonts3"; +$texlive{"gothic"}="fonts3"; +$texlive{"graphics"}="latex1"; +$texlive{"greek6cbc"}="fonts3"; +$texlive{"grnumalt"}="latex3"; +$texlive{"grtimes"}="lang3"; +$texlive{"guides"}="doc2"; +$texlive{"gustlib"}="plain2"; +$texlive{"hands"}="fonts3"; +$texlive{"hanging"}="latex3"; +$texlive{"harpoon"}="latex3"; +$texlive{"harvard"}="bibtex2"; +$texlive{"harvmac"}="plain3"; +$texlive{"hh"}="latex3"; +$texlive{"hilowres"}="latex3"; +$texlive{"histogr"}="latex3"; +$texlive{"hoekwater"}="fonts2"; +$texlive{"hppa1.1-hpux10.10"}="systems1"; +$texlive{"hppa1.1-hpux10.10"}="systems2"; +$texlive{"hppa1.1-hpux10.10"}="systems3"; +$texlive{"html"}="doc2"; +$texlive{"hvmaths"}="fonts3"; +$texlive{"hyper"}="latex3"; +$texlive{"hyperref"}="latex2"; +$texlive{"hyphen"}="lang1"; +$texlive{"hyphenat"}="latex3"; +$texlive{"i386-linux"}="systems1"; +$texlive{"i386-linux"}="systems2"; +$texlive{"i386-linux"}="systems3"; +$texlive{"i386-linux-libc5"}="systems1"; +$texlive{"i386-linux-libc5"}="systems2"; +$texlive{"i386-linux-libc5"}="systems3"; +$texlive{"ibm"}="fonts3"; +$texlive{"ieeepes"}="latex3"; +$texlive{"ifacmtg"}="latex3"; +$texlive{"imac"}="latex3"; +$texlive{"indxcite"}="latex3"; +$texlive{"info"}="doc2"; +$texlive{"ini"}="texlive1"; +$texlive{"insbox"}="generic3"; +$texlive{"ipa"}="latex3"; +$texlive{"isostds"}="latex3"; +$texlive{"jadetex"}="formats2"; +$texlive{"jhep"}="latex3"; +$texlive{"jknappen"}="latex2"; +$texlive{"jsmisc"}="plain3"; +$texlive{"jura"}="latex3"; +$texlive{"kalender"}="latex3"; +$texlive{"karnaugh"}="latex3"; +$texlive{"kdgreek"}="fonts3"; +$texlive{"kluwer"}="latex3"; +$texlive{"knuth"}="doc3"; +$texlive{"koma-script"}="latex3"; +$texlive{"kuvio"}="graphics3"; +$texlive{"labels"}="latex3"; +$texlive{"lamstex"}="formats3"; +$texlive{"lastpage"}="latex3"; +$texlive{"latexfonts"}="latex1"; +$texlive{"layouts"}="latex3"; +$texlive{"leaflet"}="latex3"; +$texlive{"leftidx"}="latex3"; +$texlive{"lettrine"}="latex3"; +$texlive{"levy"}="latex3"; +$texlive{"lgc"}="doc3"; +$texlive{"lgreek"}="latex3"; +$texlive{"lh"}="fonts2"; +$texlive{"lhcyr"}="latex3"; +$texlive{"lineno"}="latex3"; +$texlive{"linguex"}="latex3"; +$texlive{"listings"}="latex3"; +$texlive{"lkort"}="doc3"; +$texlive{"localloc"}="latex3"; +$texlive{"logic"}="fonts3"; +$texlive{"lollipop"}="formats3"; +$texlive{"ltablex"}="latex3"; +$texlive{"ltx2rtf"}="texlive2"; +$texlive{"ltxbase"}="latex1"; +$texlive{"ltxdoc"}="doc2"; +$texlive{"ltxdoc"}="latex1"; +$texlive{"ltxmisc"}="latex2"; +$texlive{"lucida"}="fonts2"; +$texlive{"ly1"}="latex3"; +$texlive{"mailing"}="latex3"; +$texlive{"makeindex"}="doc1"; +$texlive{"malayalam"}="lang3"; +$texlive{"malvern"}="fonts3"; +$texlive{"mapcodes"}="latex3"; +$texlive{"maple"}="latex3"; +$texlive{"margbib"}="latex3"; +$texlive{"marvosym"}="fonts3"; +$texlive{"mathcomp"}="latex2"; +$texlive{"mathematica"}="fonts3"; +$texlive{"mathpple"}="fonts3"; +$texlive{"mcite"}="latex3"; +$texlive{"mdwtools"}="latex3"; +$texlive{"metasupp"}="texlive1"; +$texlive{"method"}="latex3"; +$texlive{"mex"}="lang2"; +$texlive{"mff"}="latex3"; +$texlive{"mflogo"}="latex2"; +$texlive{"mfmisc"}="fonts1"; +$texlive{"mfnfss"}="latex2"; +$texlive{"mfpic"}="graphics3"; +$texlive{"mft"}="texlive1"; +$texlive{"mftoeps"}="fonts3"; +$texlive{"mhs"}="latex3"; +$texlive{"midnight"}="generic3"; +$texlive{"minitoc"}="latex3"; +$texlive{"mips-irix6.2"}="systems1"; +$texlive{"mips-irix6.2"}="systems2"; +$texlive{"mips-irix6.2"}="systems3"; +$texlive{"misc209"}="latex2"; +$texlive{"mltex"}="latex2"; +$texlive{"mnras"}="plain3"; +$texlive{"monotype"}="fonts3"; +$texlive{"montex"}="lang3"; +$texlive{"morehelp"}="latex3"; +$texlive{"moresize"}="latex3"; +$texlive{"moreverb"}="latex3"; +$texlive{"morse"}="fonts3"; +$texlive{"mpattern"}="metapost2"; +$texlive{"mpbase"}="metapost1"; +$texlive{"mpfnmark"}="latex3"; +$texlive{"ms"}="latex3"; +$texlive{"mslapa"}="latex3"; +$texlive{"mtbe"}="plain3"; +$texlive{"multenum"}="latex3"; +$texlive{"multi"}="dvips3"; +$texlive{"multirow"}="latex3"; +$texlive{"musictex"}="generic3"; +$texlive{"musixtex"}="generic3"; +$texlive{"nassflow"}="latex3"; +$texlive{"natbib"}="bibtex2"; +$texlive{"ncctools"}="latex2"; +$texlive{"newalg"}="latex3"; +$texlive{"newlfm"}="latex3"; +$texlive{"newsletr"}="plain3"; +$texlive{"newthm"}="latex3"; +$texlive{"niceframe"}="latex3"; +$texlive{"nomencl"}="latex3"; +$texlive{"nrc"}="latex3"; +$texlive{"ntg"}="doc3"; +$texlive{"ntgclass"}="latex2"; +$texlive{"ntheorem"}="latex3"; +$texlive{"numline"}="latex3"; +$texlive{"objectz"}="latex3"; +$texlive{"oca"}="fonts3"; +$texlive{"ocr-a"}="fonts3"; +$texlive{"ogham"}="fonts3"; +$texlive{"ogonek"}="latex3"; +$texlive{"oldstyle"}="latex3"; +$texlive{"omegabase"}="omega2"; +$texlive{"omegafonts"}="omega2"; +$texlive{"osmanian"}="fonts3"; +$texlive{"ot2cyr"}="fonts2"; +$texlive{"overpic"}="latex3"; +$texlive{"pacioli"}="fonts3"; +$texlive{"pageno"}="latex3"; +$texlive{"pandora"}="fonts3"; +$texlive{"paper"}="latex3"; +$texlive{"paralist"}="latex3"; +$texlive{"parallel"}="latex3"; +$texlive{"patch"}="latex2"; +$texlive{"pawpict"}="latex3"; +$texlive{"pb-diagram"}="latex3"; +$texlive{"pdcmac"}="plain3"; +$texlive{"pdfscreen"}="latex3"; +$texlive{"pdftex"}="pdftex2"; +$texlive{"permute"}="latex3"; +$texlive{"phoenician"}="fonts3"; +$texlive{"phonetic"}="fonts3"; +$texlive{"physe"}="formats3"; +$texlive{"phyzzx"}="formats3"; +$texlive{"picinpar"}="latex3"; +$texlive{"picins"}="latex3"; +$texlive{"pictex"}="graphics2"; +$texlive{"piff"}="latex3"; +$texlive{"pl"}="latex3"; +$texlive{"pl-qx"}="fonts2"; +$texlive{"plainmisc"}="plain1"; +$texlive{"plaintex"}="plain1"; +$texlive{"plari"}="latex3"; +$texlive{"platex"}="lang2"; +$texlive{"play"}="latex3"; +$texlive{"plcalendar"}="plain3"; +$texlive{"plfonts"}="fonts2"; +$texlive{"plgraph"}="generic3"; +$texlive{"plpatch"}="plain3"; +$texlive{"pmgraph"}="latex3"; +$texlive{"poligraf"}="generic3"; +$texlive{"polish"}="doc3"; +$texlive{"polyglot"}="latex3"; +$texlive{"prettyref"}="latex3"; +$texlive{"progkeys"}="latex3"; +$texlive{"program"}="latex3"; +$texlive{"proofs"}="latex3"; +$texlive{"protex"}="generic3"; +$texlive{"psafm"}="fonts3"; +$texlive{"psfig"}="generic3"; +$texlive{"psfrag"}="graphics2"; +$texlive{"psizzl"}="formats3"; +$texlive{"pslatex"}="latex2"; +$texlive{"psnfss"}="latex1"; +$texlive{"psnfssx"}="latex2"; +$texlive{"pspicture"}="latex2"; +$texlive{"pstricks"}="graphics2"; +$texlive{"punk"}="fonts3"; +$texlive{"qfonts"}="fonts2"; +$texlive{"qobitree"}="graphics3"; +$texlive{"qsymbols"}="latex3"; +$texlive{"quotchap"}="latex3"; +$texlive{"r-und-s"}="latex3"; +$texlive{"rcs"}="latex3"; +$texlive{"rcsinfo"}="latex3"; +$texlive{"realcalc"}="generic3"; +$texlive{"refcheck"}="latex3"; +$texlive{"refman"}="latex3"; +$texlive{"relenc"}="latex3"; +$texlive{"revtex"}="latex2"; +$texlive{"rlepsf"}="generic3"; +$texlive{"rmpage"}="latex3"; +$texlive{"rotating"}="latex2"; +$texlive{"rotfloat"}="latex3"; +$texlive{"rplain"}="latex3"; +$texlive{"rs6000-aix4.1.4.0"}="systems1"; +$texlive{"rs6000-aix4.1.4.0"}="systems2"; +$texlive{"rs6000-aix4.1.4.0"}="systems3"; +$texlive{"rsfs"}="fonts2"; +$texlive{"ruhyphen"}="lang1"; +$texlive{"runic"}="fonts3"; +$texlive{"sanskrit"}="fonts3"; +$texlive{"sauterfonts"}="latex3"; +$texlive{"scale"}="latex3"; +$texlive{"schedule"}="latex3"; +$texlive{"script"}="latex3"; +$texlive{"sectsty"}="latex3"; +$texlive{"semantic"}="latex3"; +$texlive{"seminar"}="latex2"; +$texlive{"setspace"}="latex3"; +$texlive{"shadbox"}="latex3"; +$texlive{"shadethm"}="latex3"; +$texlive{"shortlst"}="latex3"; +$texlive{"shorttoc"}="latex3"; +$texlive{"showdim"}="latex3"; +$texlive{"showlabels"}="latex3"; +$texlive{"siam"}="generic3"; +$texlive{"sidecap"}="latex3"; +$texlive{"siggraph"}="latex3"; +$texlive{"simpsons"}="fonts3"; +$texlive{"siunits"}="latex3"; +$texlive{"slashbox"}="latex3"; +$texlive{"slidenotes"}="latex3"; +$texlive{"smallcap"}="latex3"; +$texlive{"songbook"}="latex3"; +$texlive{"soul"}="latex3"; +$texlive{"sparc-solaris2.5.1"}="systems1"; +$texlive{"sparc-solaris2.5.1"}="systems2"; +$texlive{"sparc-solaris2.5.1"}="systems3"; +$texlive{"sprite"}="graphics3"; +$texlive{"ssqquote"}="latex3"; +$texlive{"startex"}="formats3"; +$texlive{"stdclsdv"}="latex3"; +$texlive{"stmaryrd"}="fonts2"; +$texlive{"subeqn"}="latex3"; +$texlive{"subeqnarray"}="latex3"; +$texlive{"subfigure"}="latex3"; +$texlive{"supertabular"}="latex3"; +$texlive{"synttree"}="latex3"; +$texlive{"t2"}="lang3"; +$texlive{"tabbing"}="latex3"; +$texlive{"tap"}="generic2"; +$texlive{"taylor"}="graphics3"; +$texlive{"tbe"}="plain3"; +$texlive{"tcx"}="texlive1"; +$texlive{"tds"}="doc1"; +$texlive{"tengwar"}="fonts3"; +$texlive{"tetex"}="doc1"; +$texlive{"tex-ps"}="generic2"; +$texlive{"tex4ht"}="latex2"; +$texlive{"texdraw"}="graphics3"; +$texlive{"texinfo"}="plain2"; +$texlive{"texip"}="formats3"; +$texlive{"texlive"}="texlive1"; +$texlive{"texsis"}="formats3"; +$texlive{"text1"}="formats3"; +$texlive{"textfit"}="latex3"; +$texlive{"textmerg"}="latex3"; +$texlive{"textpos"}="latex3"; +$texlive{"thesis"}="latex3"; +$texlive{"threed"}="metapost2"; +$texlive{"thumb"}="latex3"; +$texlive{"thumbpdf"}="latex3"; +$texlive{"timesht"}="latex3"; +$texlive{"timing"}="latex3"; +$texlive{"tipa"}="fonts2"; +$texlive{"titlefoot"}="latex3"; +$texlive{"titlesec"}="latex3"; +$texlive{"tmmaths"}="fonts3"; +$texlive{"tocbibind"}="latex3"; +$texlive{"tocloft"}="latex3"; +$texlive{"tocvsec2"}="latex3"; +$texlive{"tools"}="latex1"; +$texlive{"tracking"}="latex3"; +$texlive{"treesvr"}="latex3"; +$texlive{"treetex"}="plain3"; +$texlive{"ttf2pk"}="texlive2"; +$texlive{"tug"}="doc3"; +$texlive{"tugboat"}="generic2"; +$texlive{"type1"}="fonts2"; +$texlive{"type1cm"}="latex3"; +$texlive{"typespec"}="plain3"; +$texlive{"uaclasses"}="latex3"; +$texlive{"ucthesis"}="latex3"; +$texlive{"ulsy"}="latex3"; +$texlive{"umlaute"}="latex3"; +$texlive{"umrand"}="fonts3"; +$texlive{"underlin"}="latex3"; +$texlive{"uni"}="fonts3"; +$texlive{"units"}="latex3"; +$texlive{"universa"}="fonts3"; +$texlive{"unsupported"}="fonts3"; +$texlive{"urwstd"}="fonts2"; +$texlive{"useful"}="doc2"; +$texlive{"ut-thesis"}="latex3"; +$texlive{"utthesis"}="latex3"; +$texlive{"uwthesis"}="latex3"; +$texlive{"vdm"}="latex3"; +$texlive{"vector"}="latex3"; +$texlive{"vertex"}="plain3"; +$texlive{"vita"}="latex3"; +$texlive{"vrb"}="latex3"; +$texlive{"vrsion"}="latex3"; +$texlive{"warpcol"}="latex3"; +$texlive{"wasy"}="fonts2"; +$texlive{"wasysym"}="latex2"; +$texlive{"williams"}="latex3"; +$texlive{"win32"}="systems1"; +$texlive{"win32"}="systems2"; +$texlive{"win32"}="systems3"; +$texlive{"windvi"}="doc1"; +$texlive{"wnri"}="fonts3"; +$texlive{"wntamil"}="lang3"; +$texlive{"wsuipa"}="fonts2"; +$texlive{"xtab"}="latex3"; +$texlive{"xtcapts"}="latex3"; +$texlive{"xymtex"}="latex3"; +$texlive{"xypic"}="graphics2"; +$texlive{"yannisgr"}="fonts3"; +$texlive{"yfonts"}="latex3"; +$texlive{"yhmath"}="latex3"; +$texlive{"yi4latex"}="lang3"; +$texlive{"youngtab"}="latex3"; +$texlive{"ytex"}="formats3"; +$texlive{"zed-csp"}="latex3"; +$texlive{"zefonts"}="fonts2"; diff --git a/Master/texmf/doc/texlive/source/texlive-en/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-en/live4ht.cfg new file mode 100644 index 00000000000..3435925813d --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/live4ht.cfg @@ -0,0 +1,51 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% have html in one piece (including footnotes). +\Preamble{charset=iso-8859-1,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} +% use png graphics as-is +\Configure{graphics*} + {png} + {\Needs{""}% + \Picture[pict]{\csname Gin@base\endcsname.png}% + } +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/source/texlive-en/tex-live.css b/Master/texmf/doc/texlive/source/texlive-en/tex-live.css new file mode 100644 index 00000000000..5062bc0d229 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/tex-live.css @@ -0,0 +1,44 @@ +/* $Id$ + Simple CSS for TeX Live that adds margins and a little color. + original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. + Public domain. */ + +html { + // top left bottom right + margin: 15pt 15pt 15pt 15pt; + background: rgb(255,255,224); +} + +body { + margin: 0 5pt 0 5pt; + padding: 0; + //matw: background: rgb(224,255,224); + // (It looks better to me to have a consistent background --karl) +// fonts in browser are low resolution; +// therefore generated serif are poor quality, +// so they disturb reading (that is my opinion) + font-family: sans-serif; + font-style: normal; +} + +/* (It looks better to me to not vary colors at every level --karl) */ + +h3.sectionHead { + padding: 12pt 10pt 12pt 20pt; + //matw: background: rgb(192,224,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h4.subsectionHead { + padding: 7pt 10pt 7pt 40pt; + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h5.subsubsectionHead { + padding: 3pt 10pt 3pt 40pt; + //matw: background: rgb(224,255,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} diff --git a/Master/texmf/doc/texlive/source/texlive-en/tex-live.sty b/Master/texmf/doc/texlive/source/texlive-en/tex-live.sty new file mode 100644 index 00000000000..09956bd2a3e --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/tex-live.sty @@ -0,0 +1,446 @@ +% $Id$ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2008/08/08 v1.6 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\def\p.{p.\,} + +% for a proper \acro command. +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textscale{.9}{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output + \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else + \HCode{\string&\#x1EBF;}\fi~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\ISO}{\acro{ISO}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +\def\htmlanchor#1{} +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \def\htmlanchor#1{\HCode{<a id="#1"></a>} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-en/texlive-en.tex b/Master/texmf/doc/texlive/source/texlive-en/texlive-en.tex new file mode 100644 index 00000000000..24fbb5d1c1b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-en/texlive-en.tex @@ -0,0 +1,2954 @@ +% $Id: live.tex 9531 2008-07-13 21:12:58Z siepo $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[latin1]{inputenc} % translators: use your preferred encodings. +\usepackage[T1]{fontenc} + +\begin{document} + +\title{% + {\huge \textit{The \TeX\ Live Guide}\\\smallskip}% + {\LARGE \textsf{\TL{} 2008}}% +} + +\author{Karl Berry, editor \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{September 2008} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live and the \TeX\ Collection} + +This document describes the main features of the \TL{} software +distribution\Dash \TeX{} and related programs for \GNU/Linux +and other Unix flavors, \MacOSX, and Windows systems. + +You may have acquired \TL{} by downloading, or on the \TK{} \DVD, +which \TeX{} usergroups distribute among their members. Section +\ref{sec:tl-coll-dists} briefly describes the contents of this \DVD. +Both \TL{} and the \TK{} are cooperative efforts by the \TeX{} user +groups. This document mainly describes \TL{} itself. + +\TL{} includes executables for \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} and many other programs; an extensive collection +of macros, fonts and documentation; and support for typesetting in +many different scripts from around the world. + +\TL{} packages are regularly updated from +\acro{CTAN}: \url{http://www.ctan.org}. + +For a brief summary of the major changes in this edition of \TL{}, +see the end of the document, section~\ref{sec:history} +(\p.\pageref{sec:history}). + +\subsection{Operating system support} +\label{sec:os-support} + +\TL{} contains binaries for many Unix-based architectures, +including \MacOSX. The included sources should enable installation +on platforms for which we do not have binaries. + +As to Windows: only Windows 2000 and later are supported. Windows +9\textit{x}, ME and NT have been dropped. Because of this +change, Windows requires much less special treatment compared to +the Unix systems. There are no 64-bit executables for Windows, but the +32-bit executables should run on 64-bit systems. + +See section~\ref{sec:tl-coll-dists} for alternate solutions +for Windows and \MacOSX. + +\subsection{Basic installation of \protect\TL{}} +\label{sec:basic} + +You can install \TL{} either from \DVD{} or over the Internet. The net +installer itself is small, and downloads everything requested from the +Internet. The net installer is an attractive option if you need only a +fraction of the complete \TL. + +The \DVD{} installer lets you install to a local disk, but you can +also run \TL{} directly from the \DVD{} (or from a \DVD{} image, if +your system supports that). + +\noindent This is described in the +installation sections following, but here is a quick start: + +\begin{itemize*} + +\item The installation script is named \filename{install-tl}. It can + operate in both a \GUI{} mode (default for Windows) and + a text mode (default for everything else). You can force one mode or + the other with the options \code{-gui} and \code{-no-gui}, respectively. + +\item One of the installed items is a new program, the `\TL\ Manager', + named \prog{tlmgr}. Like the installer, it can be used in both \GUI{} + mode and in text mode. You can use it to install and uninstall + packages and do various configuration tasks. + +\end{itemize*} + + +\subsection{Getting help} +\label{sec:help} + +The \TeX{} community is both active and friendly, and most serious +questions end up getting answered. However, the support is informal, +done by volunteers and casual readers, so it's especially important that +you do your homework before asking. (If you prefer guaranteed +commercial support, you can forego \TL{} completely and purchase a +vendor's system; \url{http://tug.org/interest.html#vendors} has a list.) + +Here is a list of resources, approximately in the order we recommend +using them: + +\begin{description} +\item [Getting Started] If you are new to \TeX, the web page +\url{http://tug.org/begin.html} gives a brief introduction to the system. + +\item [\TeX{} \acro{FAQ}] The \TeX{} \acro{FAQ} is a huge compendium + of answers to all sorts of questions, from the most basic to the + most arcane. It is included on \TL{} in + \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html}, and is available + on the Internet through \url{http://www.tex.ac.uk/faq}. Please + check here first. + +\item [\TeX{} Catalogue] If you are looking for a specific package, +font, program, etc., the \TeX{} Catalogue is the place to look. It is a +huge collection of all \TeX{}-related items. See +\url{http://www.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] The web page +\url{http://tug.org/interest.html} has many \TeX{}-related links, in +particular for numerous books, manuals, and articles on all aspects of +the system. + +\item [support archives] The two principal support forums are the +Usenet newsgroup \url{news:comp.text.tex} and the mailing list +\email{texhax@tug.org}. Their archives have years of past +questions and answers for your searching pleasure, via +\url{http://groups.google.com/group/comp.text.tex/topics} and +\url{http://tug.org/mail-archives/texhax}, respectively. And a general web +search, for example on \url{http://google.com}, never hurts. + +\item [asking questions] If you cannot find an answer, you can post to +\dirname{comp.text.tex} through Google or your newsreader, or to +\email{texhax@tug.org} through email. But before you post, +\emph{please} read this \acro{FAQ} entry, to maximize +your chances of getting a useful answer: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [\TL{} support] If you want to report a bug or have +suggestions or comments on the \TL{} distribution, installation, or +documentation, the mailing list is \email{tex-live@tug.org}. However, +if your question is about how to use a particular program included in +\TL{}, please write to that program's maintainer or +mailing list. Often running a program with the \code{-{}-help} option +will provide a bug reporting address. + +\end{description} + +The other side of the coin is helping others who have questions. Both +\dirname{comp.text.tex} and \code{texhax} are open to anyone, so feel +free to join, start reading, and help out where you can. + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{Overview of \protect\TeX\protect\ Live} +\label{sec:overview-tl} + +This section describes the contents of \TL{} and the \TK{} of which it +is a part. + +\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +The \TK{} \DVD{} comprises the following: + +\begin{description} + +\item [\TL] A complete \TeX{} system which can be run live or + installed to disk. + +\item [Mac\TeX] for \MacOSX, this adds a native \MacOSX\ installer and other +Mac applications to \TL{}. Its home page is +\url{http://www.tug.org/mactex/}. + +\item [pro\TeX{}t] An enhancement of the \MIKTEX\ distribution for Windows, +\ProTeXt\ adds a few extra tools to \MIKTEX, and simplifies +installation. It is entirely independent of \TL{}, and has its own +installation instructions. The \ProTeXt\ home page is +\url{http://tug.org/protext}. + +\item [CTAN] A snapshot of the \CTAN{} repository. + +\item [\texttt{texmf-extra}] A directory with assorted additional packages. + +\end{description} + +\CTAN{}, \pkgname{protext}, and \dirname{texmf-extra} do not +necessarily follow the same copying conditions as \TL{}, so be careful +when redistributing or modifying. + + +\subsection{Top level \TL{} directories} +\label{sec:tld} + +Here is a brief listing and description of the top level directories in +the \TL{} distribution. On the \pkgname{live} \DVD, the entire \TL{} +hierarchy is in a subdirectory \dirname{texlive}, not at the top +level of the disc. + +\begin{ttdescription} +\item[bin] The \TeX{} system programs, arranged by platform. +% +\item[readme.html] Web pages with a quick introduction and useful links, +in various languages. +% +\item[source] The source to all included programs, including the main \Webc{} + \TeX{} and \MF{} distributions. +% +\item[support] Various auxiliary packages and programs. These are + \emph{not} installed automatically. This includes + assorted editors and \TeX\ shells. +% +\item[texmf] See \dirname{TEXMFMAIN} below. +% +\item[texmf-dist] See \dirname{TEXMFDIST} below. +% +\item[texmf-doc] Tree for self-contained pure documentation, arranged by + language. +% +\item[tlpkg] Scripts, programs and data for managing the + installation. It also contains private copies of + Perl and Ghostscript for Windows, which are invisible outside \TL, + and a new Windows PostScript viewer PSView. +\end{ttdescription} + +In addition to the directories above, the installation scripts and +\filename{README} files (in various languages) are at the top level of +the distribution. + +The \dirname{texmf-doc} directory contains documentation which does +not belong to any particular package or program. The documentation +for the programs (manuals, man pages, Info files) is in +\dirname{texmf/doc}. The documentation for \TeX\ packages and +formats is in \dirname{texmf-dist/doc}. You can use the +\cmdname{texdoc} or \cmdname{texdoctk} programs to find any +documentation wherever it is located. The comprehensive links in +the top-level file \OnCD{doc.html} may also be helpful. + +This \TL\ documentation itself is in \dirname{texmf-doc} and is +available in several languages: + +\begin{itemize*} +\item{Simplified Chinese:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{Czech/Slovak:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\item{English:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{French:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{German:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{Polish:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{Russian:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\end{itemize*} + +\subsection{Overview of the predefined texmf trees} +\label{sec:texmftrees} + +This section lists all predefined variables specifying the texmf trees +used by the system, and their intended purpose, and the default +layout of a \TL{} system. The command \texttt{texconfig conf} shows +you the values of these variables, so that you can easily find out +how they map to directory names in your installation. + +\begin{ttdescription} +\item [TEXMFMAIN] The tree which holds vital parts of the system + such as helper scripts (e.g., \verb+web2c/mktexdir+) and other + support files and their documentation. Does not include + \TeX\ formats and packages. +\item [TEXMFDIST] The tree which holds the main set of macro packages, + fonts, etc., as originally distributed. +\item [TEXMFLOCAL] The tree which administrators can use for system-wide + installation of additional or updated macros, fonts, etc. +\item [TEXMFHOME] The tree which users can use for their own individual + installations of additional or updated macros, fonts, etc. + The expansion of this variable dynamically adjusts for each user to + their own individual directory. +\item [TEXMFCONFIG] The tree used by the utilities + \verb+texconfig+, \verb+updmap+, and \verb+fmtutil+ to store modified + configuration data. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSCONFIG] The tree used by the utilities + \verb+texconfig-sys+, \verb+updmap-sys+, and \verb+fmtutil-sys+ to + store modified configuration data. +\item [TEXMFVAR] The tree used by \verb+texconfig+, \verb+updmap+ and + \verb+fmtutil+ to store (cached) runtime data such as format files and + generated map files. Under \envname{TEXMFHOME} by default. +\item [TEXMFSYSVAR] The tree used by \verb+texconfig-sys+, + \verb+updmap-sys+ and \verb+fmtutil-sys+, and also by \verb+tlmgr+, to + store (cached) runtime data such as format files and generated map files. +\end{ttdescription} + +\noindent +The default layout is: +\begin{description} + \item[system-wide root] can span multiple \TL{} releases: + \begin{ttdescription} + \item[2007] A previous release. + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] The current release. + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux binaries + \item [...] + \item [universal-darwin] \MacOSX binaries + \item [win32] Windows binaries + \end{ttdescription} + \item [texmf] This is \envname{TEXMFMAIN}. + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, intended to be + retained from release to release. + \end{ttdescription} + \item[user's home] (\texttt{\$HOME} or + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2007] Privately generated and configuration data + for a previous release. + \item[.texlive2008] Privately generated and configuration data + for the current release. + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} Personal macros. + \textit{etc.} + \end{ttdescription} +\end{description} + + +\subsection{Extensions to \protect\TeX} +\label{sec:tex-extensions} + +\TeX{} itself is frozen, apart from rare bug fixes. It is still present +in \TL\ as the program \prog{tex}, and will remain so in the +foreseeable future. \TL{} contains several extended versions of \TeX: + +\begin{description} + +\item [\eTeX] adds a set of new primitives +\label{text:etex} (related to macro expansion, character scanning, +classes of marks, additional debugging features, and more) and the +\TeXXeT{} extensions for bidirectional typesetting. In default mode, +\eTeX{} is 100\% compatible with ordinary \TeX. See +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] builds on the \eTeX\ extensions, adding support for +writing \acro{PDF} output as well as \dvi{}. This is the program +invoked for most formats, e.g., \prog{etex}, \prog{latex}, +\prog{pdflatex}. See \url{http://www.pdftex.org/}. +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf} for the manual, and +\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex} for example usage +of some of its features. + +\item [Lua\TeX] is the designated successor of pdf\TeX, with which it +is intended to be backward-compatible. It should also supersede Aleph, +see below. The incorporated Lua interpreter (see +\url{http://www.lua.org/}) enables elegant solutions for many thorny +\TeX{} problems. When called as \filename{texlua}, it functions as a +standalone Lua interpreter, and is already used as such within \TL. See +\url{http://www.luatex.org/} and +\OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [\XeTeX] adds support for Unicode input and OpenType- and system +fonts, implemented using standard third-party libraries. See +\url{http://scripts.sil.org/xetex}. + +\item [\OMEGA\ (Omega)] is based on Unicode (16-bit characters), thus +supports working with almost all the world's scripts simultaneously. It +also supports so-called `\OMEGA{} Translation Processes' (\acro{OTP}s), +for performing complex transformations on arbitrary input. See +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (not completely up-to-date). + +\item [Aleph] combines the \OMEGA\ and \eTeX\ extensions. +See \OnCD{texmf-dist/doc/aleph/base} for some minimal documentation. + +\end{description} + + +\subsection{Other notable programs in \protect\TL} + +Here are a few other commonly-used programs included in \TL{}: + +\begin{cmddescription} + +\item [bibtex] bibliography support. + +\item [makeindex] index support. + +\item [dvips] convert \dvi{} to \PS{}. + +\item [xdvi] \dvi{} previewer for the X Window System. + +\item [dvilj] \dvi{} drive for the HP LaserJet family. + +\item [dv2dt, dt2dv] convert \dvi{} to/from plain text. + +\item [dviconcat, dviselect] cut and paste pages +from \dvi{} files. + +\item [dvipdfmx] convert \dvi{} to \acro{PDF}, an alternative approach +to pdf\TeX\ (mentioned above). See the \pkgname{ps4pdf} and +\pkgname{pdftricks} packages for still more alternatives. + +\item [psselect, psnup, \ldots] \PS{} +utilities. + +\item [lacheck] \LaTeX{} syntax checker. + +\item [texexec, texmfstart] Con\TeX{}t and \acro{PDF} processor. + +\item [tex4ht] \TeX{} to \acro{HTML} (and \acro{XML} and more) converter. + +\end{cmddescription} + + +\subsection{Fonts in \protect\TL} +\label{sec:tl-fonts} + +\TL{} comes with many high-quality scalable fonts. See +\url{http://tug.org/fonts} and +\OnCD{texmf-doc/doc/english/free-math-font-survey}. + + + +\section{Installation} +\label{sec:install} + +\subsection{Starting the installer} +\label{sec:inst-start} + +To start with, get the \TK{} \DVD{} or download the \TL{} net installer, +and locate the installer script: \filename{install-tl} for Unix, +\filename{install-tl.bat} for Windows. + +\begin{description} +\item [Net installer:] Download from \CTAN, under +\dirname{systems/texlive/tlnet}; the url +\url{http://mirror.ctan.org/systems/texlive/tlnet} will automatically +redirect to a nearby, up-to-date, mirror. You can retrieve either +\filename{install-tl.zip} which can be used under Unix and Windows and +\filename{install-unx.tar.gz} which is considerably smaller, for Unix +only. After unpacking, \filename{install-tl} and +\filename{install-tl.bat} will be in the \dirname{install-tl} +subdirectory. + +\item [\TeX{} Collection \DVD:] go to its \dirname{texlive} +subdirectory. Under Windows, the installer should start automatically +when you insert the \DVD. You can get the \DVD\ by becoming a member of +a \TeX\ user group (highly recommended, +\url{http://tug.org/usergroups.html}), or purchasing it separately +(\url{http://tug.org/store}), or burning your own from the \ISO\ +image (\url{http://tug.org/texlive/acquire.html}). + +\end{description} +The following sections explain in more detail. + +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{Main text installer screen (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Main \GUI{} installer screen (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +Below, \texttt{>} denotes the shell prompt; user input is +\Ucom{\texttt{bold}}. +Starting in a terminal window on a Unix-compatible system, the simplest +way: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(Or you can invoke \Ucom{perl /path/to/installer/install-tl}, or +\Ucom{./install-tl} if it stayed executable, etc.; we won't repeat all +these variations.) + +To install in \GUI\ mode (you'll need the \dirname{Perl/TK} module), use: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Warning about Unix permissions:} Your \code{umask} at the time +of installation will be respected by the \TL{} installer. Therefore, if +you want your installation to be usable by users other than you, make +sure your setting is sufficiently permissive, for instance, \code{umask +002}. For more information about \code{umask}, consult your system +documentation. + + +\subsubsection{Mac\,OS\,X} + +As mentioned in section~\ref{sec:tl-coll-dists}, a separate distribution +is prepared for \MacOSX, named Mac\TeX\ (\url{http://tug.org/mactex}). +We recommend using the native Mac\TeX\ installer instead of the \TL\ +installer on \MacOSX, because the native installer can make a few +Mac-specific adjustments, in particular to allow easily switching +between the various \TeX\ distributions for \MacOSX\ (Mac\TeX, gw\TeX, +Fink, MacPorts, \ldots). + +Mac\TeX\ is firmly based on \TL, and the main \TeX\ trees are precisely +the same. It does add a few extra folders with Mac-specific +documentation and applications. + + +\subsubsection{Windows} + +If you are using the net installer, or the \DVD\ installer failed to +start automatically, double-click \filename{install-tl.bat}. + +You can also start the installer from the command-prompt. Below, +\texttt{>} denotes the prompt; user input is \Ucom{\texttt{bold}}. If +you are in the installer directory, run just: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +Or you can invoke it with an absolute location, such as: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +for the \TK\ \DVD, supposing that \dirname{D:} is the optical drive. + +To install in text mode, use: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +For a complete listing of the various options: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{The text installer} + +Figure~\ref{fig:text-main} displays the main text mode screen under +Unix. + +This is only a command-line installer; there is no cursor support at +all. For instance, you cannot tab around checkboxes or input fields. +You just type something (case-sensitive) at the prompt and press the +Enter key, and then the entire terminal screen will be rewritten, with +adjusted content. + +The text installer interface is this primitive for a reason: it +is designed to run on as many platforms as possible, even with a +very barebones Perl (for Windows, a Perl subset is included). + +\subsubsection{The graphical installer} + +Figure~\ref{fig:gui-main} displays the graphical installer under +Windows. Most differences in available options are due to this +screenshot being from Windows, and the previous text screen being +from \GNU/Linux. + +\subsection{Running the installer} +\label{sec:runinstall} + +The installer is intended to be mostly self-explanatory. Still, a few +quick notes about the various options and submenus: + +\subsubsection{Binary systems menu (Unix only)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Binaries menu}\label{fig:bin-text} +\end{figure} + +Figure~\ref{fig:bin-text} displays the text mode binaries menu. By +default, only the binaries for your current platform will be installed. +From this menu, you can select installation of binaries for other +architectures as well. This can be useful if you are sharing a \TeX\ +tree across a network of heterogenous machines, or for a dual-boot +system. + +\subsubsection{Selecting what is going to be installed} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Scheme menu}\label{fig:scheme-text} +\end{figure} + +Figure~\ref{fig:scheme-text} displays the \TL\ scheme menu; from here, +you choose a ``scheme'', which is an overall set of package collections. +The default \optname{full} scheme installs everything available, but you +can also choose the \optname{basic} scheme for a small system, +\optname{minimal} for testing purposes, and \optname{medium} or +\optname{teTeX} to get something in between. There are also various +specialized and country-specific schemes. + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Collections menu (Linux)}\label{fig:collections-gui} +\end{figure} + +You can refine your scheme selection with the `standard collections' and +`language collections' menus (figure~\ref{fig:collections-gui}, shown in +\GUI\ mode for a change). + +Collections are one level more detailed than schemes\Dash in essence, a +scheme consists of several collections, a collection consists of one or +more packages, and a package (the lowest level grouping in \TL) contains +the actual \TeX\ macro files, font files, and so on. + +If you want more control than the collection menus provide, you can use +the \prog{tlmgr} program after installation (see +section~\ref{sec:tlmgr}); using that, you can control the installation +at the package level. + +\subsubsection{Directories} +\label{sec:directories} + +The default layout is described in section~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. The default location of +\dirname{TEXDIR} is different between Windows +(|%PROGRAMFILES%\texlive\2008|) and Unix +(\dirname{/usr/local/texlive/2008}). + +The main reason to change this default is if you lack write permission +for the default location. You don't have to be root or adminstrator to +install \TL, but you do need write access to the target directory. + +A logical alternate choice is a directory under your home directory, +especially if you will be the sole user. Use +`|~|' to indicate this, as in `|~/texlive/2008|'. + +We recommend including the year in the name, to enable keeping different +releases of \TL{} side by side. (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.) + +Changing \dirname{TEXDIR} in the installer will also change +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} and +\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} is the recommended location for personal +macro files or packages. The default value is |~/texmf|. In +contrast to \dirname{TEXDIR}, here a |~| is preserved in the +newly-written configuration files, since it usefully refers to the home +directory of each individual running \TeX. It expands to +\dirname{$HOME} on Unix and \verb|%USERPROFILE%| on Windows. + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Options menu (Unix)}\label{fig:options-text} +\end{figure} + +Figure~\ref{fig:options-text} displays the text mode options menu. +Three of the options here need mentioning: + +\begin{description} +\item[use letter size instead of A4 by default:] The usual default paper + size selection. Of course, individual documents can specify a specific + paper size, if desired. + +\item[create all format files:] Although unnecessary format files + take time to generate and disk space to store, it is still recommended + to leave this option checked: if you don't, then format files will be + generated in people's private \dirname{TEXMFVAR} tree as they are + needed. In that location, they will not be updated automatically if + (say) binaries or hyphenation patterns are updated in the + installation, and thus could end up with incompatible format files. + +\item[create symlinks in standard directories] (Unix only): + This option bypasses the need to change environment + variables. Without this option, \TL{} directories have to be added + to \envname{PATH}, \envname{MANPATH} and \envname{INFOPATH}. You will + need write permissions to the target directories. It is not + advisable to overwrite a \TeX\ system that came with your system + with this option. It is intended primarily for creating the links + in standard directories that are known to users, such as + \dirname{/usr/local/bin}, which don't already contain any + \TeX\ files. +\end{description} + +Now when all these settings are to your liking, you can type `I' to +start the installation process. When it is done, skip to +section~\ref{sec:postinstall} to read what else needs to be done, if +anything. + +\htmlanchor{runfromdvd} +\subsubsection{Set up for running from DVD{} (text mode only)} +\label{sec:fromdvd} + +Type `|V|' to select this option. This changes the main menu into something +like figure~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{The main menu with \optname{from DVD} + set}\label{fig:main-fromdvd} +\end{figure} + +Note the changes: all options about what to install have +disappeared, and the directories section now talks about +\dirname{TEXDIRW} or writable root. The symlinks option has also +disappeared. + +The installer will still create various directories and +configuration files, but won't copy \dirname{texmf}, +\dirname{texmf-dist} or \dirname{texmf-doc} to hard disk. + +Post-install configuration for Unix will be slightly more complicated, +because now the directory layout deviates from the default; see +section~\ref{sec:postinstall}. + +Due to time constraints, this option didn't make it into the \GUI{} +installer, but it is available both for Unix and for +Windows. Windows users have to start the installer from a command +prompt, see section~\ref{sec:cmdline}. + +Section \ref{sec:portable-unix} describes a more strictly portable +way to run \TL, which doesn't make or require changes in the +system's configuration, but doesn't allow any configuration either. + +\subsection{Command-line install options} +\label{sec:cmdline} + +Type +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +for a listing of command-line options. Either |-| or |--| can be used +to introduce option names. These are the more +interesting ones: + +\begin{ttdescription} +\item[-gui] If possible, use the \GUI{} installer. This requires the + Perl/Tk module (\url{http://tug.org/texlive/distro.html#perltk}); + if Perl/Tk is not available, installation continues in text mode. +\item[-no-gui] Force using the text mode installer, even under + Windows; you'll need this if you want a `from \DVD' installation, + since that is not available in \GUI{} mode. +\item[-lang {\sl LL}] Specify the installer interface + language as its standard two-letter code \textsl{LL}. Currently + supported languages: English (\texttt{en}, default), German + (\texttt{de}), French (\texttt{fr}), Dutch (\texttt{nl}), Polish + (\texttt{pl}), Slovenian (\texttt{sl}) and Vietnamese + (\texttt{vi}). The installer tries to determine the right language + itself but if it fails, or if the right language is not available, + then it uses English as a fallback. +\item[-profile {\sl profile}] The installer always writes a file + \filename{texlive.profile} to the \dirname{2008/tlpkg}- or + \dirname{tlpkg} subdirectory of your installation. This option tells + the installer to re-use such a profile file. Here's an excerpt: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + Thus, using this option you can install in batch mode on + subsequent systems, reproducing the choices you made for the + original installation. +\item [-location {\sl url/path}] Specify a non-default source for + packages; see below. +\end{ttdescription} + +\subsubsection{The \optname{location} parameter} +\label{sec:location} + +The location value can be a url starting with \texttt{ftp:}, +\texttt{http:}, or \texttt{file:/} url, or a plain path. If the given +argument is on a local drive (either a path or a \texttt{file:/} url), +the installation type (compressed or live) is automatically determined: +if an \dirname{archive} subdirectory with \filename{.tar.lzma} files is +found then it will be used, even if uncompressed files are available as +well. + +When giving an \texttt{http:} or \texttt{ftp:} location, trailing +`\texttt{/}' characters and/or a trailing `\texttt{/tlpkg}' component +are ignored. For example, you could choose a particular \CTAN\ mirror +with something like: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}, +substituting of course a proper hostname and its particular top-level +\CTAN\ path (the list of \CTAN\ mirrors is maintained at +\url{http://ctan.org/mirrors}) for |ctan.example.org/tex-archive|. The +default is to pick a mirror automatically, using +\url{http://mirror.ctan.org}; in any case, the chosen host is used for +the entire download. + + +\subsection{Post-install actions} +\label{sec:postinstall} + +Some post-install may be required. + +\subsubsection{Windows} + +But on Windows, the installer takes care of everything. + +\subsubsection{If symlinks were created} + +If you elected to create symlinks in standard directories (mentioned in +section~\ref{sec:options}), then there is no need to edit environment +variables. + +\subsubsection{Environment variables for Unix} +\label{sec:env} + +The directory of the binaries for your platform must be added to +the search path. Each supported platform has its own subdirectory +under \dirname{TEXDIR/bin}. See figure~\ref{fig:bin-text} for the +list of subdirectories and corresponding platforms. + +You can also add the documentation man and Info directories to their +respective search paths, if you want the system tools to find them. + +For Bourne-compatible shells such as \prog{bash}, and using Intel x86 +GNU/Linux and a default directory setup as an example, the file to edit +might be \filename{$HOME/.profile} (or another file sourced by +\filename{.profile}, and the lines to add would look like this: + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +For csh or tcsh, the file to edit is typically \filename{$HOME/.cshrc}, and +the lines to add might look like: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +Of course, you may well already have settings somewhere in your ``dot'' +files, and so then the \TL\ directories should simply be merged in as +appropriate. + +\subsubsection{Environment variables: global configuration} +\label{sec:envglobal} + +If you want to make these changes globally, or for a user newly added to +the system, then you are on your own; there is just too much variation +between systems in how and where these things are configured. + +Our two hints are: 1)~you may want to check for a file +\filename{/etc/manpath.config} and, if present, add lines such as + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + +And 2)~check for a file \filename{/etc/environment} which may define the +search path and other default environment variables. + + +\subsubsection{When running from DVD} + +Normally, a \TL{} program consults a file \filename{texmf.cnf} for the +location of the various trees. It looks for this file in a series of +locations relative to its own location. However, this scheme breaks down +when a program is run from \DVD{}: the \DVD{} is read-only. Some of the +paths to be recorded in \filename{texmf.cnf} are only known at +installation time, so this file cannot be on the \DVD{} and must be +placed somewhere else. This makes it necessary to define an environment +\envname{TEXMFCNF} variable which tells \TL{} programs in what directory +to find this \filename{texmf.cnf}. It is also still necessary to modify +the \envname{PATH} environment variable, as described before. + +At the end of the installation, the installer should have printed a +message giving the value to which \envname{TEXMFCNF} should be set. In +case you missed it: this value is \dirname{$TEXMFSYSVAR/web2c}. For the +default, \dirname{/usr/local/texlive/2008/texmf-var/web2c}, you need the +lines +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +or, for [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + + +\subsubsection{\ConTeXt{} Mark IV} + +The `old' \ConTeXt{} should run out of the box. The new `Mark IV' +\ConTeXt{} will require manual setup; see +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{Integrating local and personal macros} +\label{sec:local-personal-macros} + +This is already mentioned implicitly in section~\ref{sec:texmftrees}: +\dirname{TEXMFLOCAL} (by default, +\dirname{/usr/local/texlive/texmf-local} or +\verb|C:\Program Files\texlive\texmf-local|) + +is intended for system-wide local fonts and macros; and +\dirname{TEXMFHOME} (by default, \dirname{$HOME/texmf} or +\verb|%USERPROFILE%\texmf|), is for personal fonts and macros. These +directories are intended to stick around from release to release, and +have their content seen automatically by a new \TL{} release. +Therefore, it is best to refrain from changing the definition of +\dirname{TEXMFLOCAL} to be too far away from the main \TL{} directory, +or you will need to manually change future releases. + +For both trees, files should be placed in their proper subdirectories; +see \url{http://tug.org/tds} or consult +\filename{texmf/web2c/texmf.cnf}. For instance, a \LaTeX{} class file or +package should be placed in \dirname{TEXMFLOCAL/tex/latex} or +\dirname{TEXMFHOME/tex/latex}, or a subdirectory thereof. + +\dirname{TEXMFLOCAL} requires an up-to-date filename database, or files +will not be found. You can update it with the command +\cmdname{mktexlsr} or use the `Reinit file database' button on the +configuration tab of \prog{tlmgr} in \GUI\ mode. + +\subsubsection{Integrating third-party fonts} + +This is unfortunately a very complicated and messy topic. Forget +about it unless you really know your way around blindfolded in a +\TeX{} installation. Don't forget to check first what you get for +free: see section~\ref{sec:tl-fonts}. + +A possible alternative is to use \XeTeX (see +section~\ref{sec:tex-extensions}), which lets you use operating system +fonts without any installation in \TeX. + + +\subsection{Testing the installation} +\label{sec:test-install} + +After installing \TL{} as best you can, you naturally want to test +it out, so you can start creating beautiful documents and\slash or fonts. + +This section gives some basic procedures for testing that the new system +is functional. We give Unix commands here; under \MacOSX{} and Windows, +you're more likely to run the tests through a graphical interface, but +the principles are the same. + +\begin{enumerate} + +\item Make sure that you can run the \cmdname{tex} program in the first +place: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} +If this comes back with `command not found' instead of version and +copyright information, or with an older version, most likely you don't +have the correct \dirname{bin} subdirectory in your \envname{PATH}. See +the environment-setting information on \p.\pageref{sec:env}. + +\item Process a basic \LaTeX{} file: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +If this fails to find \filename{sample2e.tex} or other files, most +likely you have interference from old environment variables or +configuration files; we recommend unsetting all \TeX-related environment +variables for a start. (For a deep analysis, you can ask \TeX{} to +report on exactly what it is searching for, and finding; see ``Debugging +actions'' on page~\pageref{sec:debugging}.) + +\item Preview the result online: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Under Windows, the analogous command is \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 Create a \PS{} file for printing or display: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Create a \acro{PDF} file instead of \dvi{}; this processes the +\filename{.tex} file and writes \acro{PDF} directly: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Preview the \acro{PDF} file: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{or:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Unfortunately neither \cmdname{gv} nor \cmdname{xpdf} are currently +included in \TL{}, so you must install them separately. See +\url{http://www.gnu.org/software/gv} and +\url{http://www.foolabs.com/xpdf}, respectively. (There are plenty of +other \acro{PDF} viewers, too.) + +\item Standard test files you may find useful in addition to +\filename{sample2e.tex}: + +\begin{ttdescription} +\item [small2e.tex] A simpler document than \filename{sample2e}, to +reduce the input size if you're having troubles. +\item [testpage.tex] Test if your printer introduces any offsets. +\item [nfssfont.tex] For printing font tables and tests. +\item [testfont.tex] Also for font tables, but using plain \TeX{}. +\item [story.tex] The most canonical (plain) \TeX{} test file of all. +You must type \samp{\bs bye} to the \code{*} prompt after \samp{tex +story.tex}. +\end{ttdescription} + +\end{enumerate} + +If you are new to \TeX{}, or otherwise need help with actually writing +\TeX{} or \LaTeX{} documents, please visit +\url{http://tug.org/begin.html} for some introductory resources. + + +\section{Network installations} +\label{sec:netinstall} + +\TL{} has been designed to be shared between different users, and even +different systems on a network. With a standard directory layout, no +hard paths are configured: the locations for files needed by \TL{} +programs are defined relative to the places of those programs. You can +see this at work in the configuration file +\filename{$TEXMFMAIN/web2c/texmf.cnf}, which contains lines such as +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +This means that other systems or other users merely need to add the +directory for \TL{} binaries for their platform to their search path. + +By the same token, you can also install \TL{} locally and then move +the entire hierarchy afterwards to a network location. + +Of course, Windows users have different expectations. The directory +\dirname{texmf-doc/source/texlive/texlive-common/w32client} contains a +sample script \filename{install-w32client} which creates settings and +menu shortcuts for using an existing \TL{} installation on a +\acro{LAN}. It is to be invoked through a batch file +\filename{install-w32client.bat} in the same directory. + +You can read more about \TL{} configuration and path searching in +section~\ref{sec:kpathsea}. + +\section{Maximally portable \protect\TL{} on DVD and USB} +\label{sec:portable-unix} + +The `running from \DVD{}' option described in +section~\ref{sec:fromdvd} is fine for your own system, but if you +are a guest on somebody else's system then you would probably like +something with minimal side effects. + +In the root of the \TL{} \DVD, or the \dirname{texlive} subdirectory of +the \TK{} \DVD, are a \filename{tl-portable} script (Unix) and a +\filename{tl-portable.bat} batchfile (Windows) which start up a +secondary shell\slash command prompt with environment settings suitable +for directly accessing the \TL{} on the \DVD. + +When it runs for the first time, some files will be generated in a +directory \dirname{~/.tlportable2008}, which will take a little time. +On subsequent runs, though, it will start almost instantaneously. + +The rest of the system will be unaware of \TL. If you want your editor +to be aware of this \TL, then you can start it from a second, parallel, +such \filename{tl-portable} session. + +You can also use \filename{tl-portable} to run \TL{} on a +\acro{USB} stick. In this case, copy all the top-level files and +the contents of the \dirname{bin}, \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{tlpkg} directories (at least) to +the stick. This may take quite a while! If you are copying to a +\acro{FAT}32-formatted \acro{USB} stick, make sure to dereference +symbolic links (\code{cp -L}). A \dirname{texmf-local} directory on +the stick will also be found and used. + +Then run \filename{tl-portable} from the root of the stick, as above. +In this case, the script will notice that the stick is writable and use +it for generated files. You could burn the resulting contents of the +stick back to \DVD{} if that is more convenient to (for example) give to +others. + + +\section{\cmdname{tlmgr}: Managing your installation} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} in \GUI\ mode. The list of + packages/collections/schemes only shows up after clicking the + `Load' button.}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} in GUI mode: Configuration tab}\label{fig:tlmgr-config} +\end{figure} + +The installer installs a program named \prog{tlmgr} for managing \TL{} +after the initial installation. The programs \prog{updmap}, +\prog{fmtutil} and \prog{texconfig} are still included and will be +retained in the future, but \prog{tlmgr} is now the preferred interface. +Its capabilities include: + +\begin{itemize*} +\item listing schemes, collections and packages; +\item installing, updating, backing up, restoring and uninstalling + individual packages, optionally taking dependencies into account; +\item searching for packages; +\item listing and adding architectures; +\item changing installation options such as paper size and source + location (see section~\ref{sec:location}). +\end{itemize*} +\textit{Warning:} \prog{tlmgr} has not been designed for or tested +with installations which run from \DVD. + +\subsection{\cmdname{tlmgr} GUI mode} +\prog{tlmgr} can be started in \GUI{} mode with +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +or in Windows via the Start menu: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. After clicking `Load' +it displays a list of available and installed packages\Dash the latter +prepended with `(i)'. This assumes of course that the installation +source is valid and reachable. + +Figure~\ref{fig:tlmgr-config} shows the configuration tab. + +\subsection{Sample \cmdname{tlmgr} command-line invocations} + +This example adds several packages, including a new `engine', from a +non-default location: + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +It generates the following output: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +As you see, \prog{tlmgr} installs dependencies, and takes care of any +necessary post-install actions, including updating the filename database +and (re)generating formats. (Here we generated new formats for \XeTeX.) + +This example installs a new language. This also triggers format +regeneration: +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +To describe a package: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +which produces +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +Updating your entire installation to the latest versions available: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +If this makes you nervous, first try +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +or +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +For full documentation: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + + +\section{Notes on Windows} +\label{sec:windows} + +\TL\ has a single installer which runs on both Windows and Unix. This +was only possible by dropping support for older Windows versions, so +\TL\ can now be installed only on Windows 2000 and later. + + +\subsection{Windows-specific features} +\label{sec:winfeatures} + +Under Windows, the installer does some extra things: +\begin{description} +\item[Menus and shortcuts.] A new `\TL{}' submenu of the + Start menu is installed, which contains entries for some \GUI{} programs + (\prog{tlmgr}, \prog{texdoctk}, the PS\_View PostScript previewer) + and some documentation. PS\_View also gets a shortcut on the + desktop as a drag-and-drop target for PostScript files. +\item[Automatic setting of environment variables.] No manual + configuration steps are required. +\item[Uninstaller.] The installer creates an entry under `Add/Remove + Programs' for \TL. The uninstall tab of\prog{tlmgr} refers to + this. +\end{description} + +\subsection{Additional included software} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: very high magnifications available!}\label{fig:psview} +\end{figure} + +To be complete, a \TL installation needs support packages that are not +commonly found on a Windows machine. \TL{} provides the missing +pieces: +\begin{description} +\item[Perl and Ghostscript.] Because of the importance of Perl and + Ghostscript, \TL{} includes `hidden' copies of these + programs. \TL{} programs that need them know where to find them, + but they don't betray their presence through environment variables + or registry settings. They aren't full-scale distributions, and + shouldn't interfere with any system installations of Perl or + Ghostscript. +\item[Command-line tools.] A number of Windows ports of common Unix + command-line programs are installed along with the usual \TL{} + binaries. These include \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} and the + command-line utilities from the \cmdname{xpdf} suite. (The + \cmdname{xpdf} viewer itself is not available for Windows, but the + Sumatra \acro{PDF} viewer is based on it: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] helps \XeTeX{} to handle fonts more + efficiently. +\item[PS\_View.] Also installed is PS\_View, a new PostScript viewer + with a free license; see figure~\ref{fig:psview}. +\end{description} +\begin{description} +\item[The \texttt{support} directory,] already mentioned in + section~\ref{sec:tld}. This directory contains various programs + which can be useful in connection with \TeX, in particular a + number of \TeX-aware editors and \TeX{} frontends. The software in + this directory isn't covered by the installer. This directory also + contains the \cmdname{dviout} \dvi{} previewer; see the next section. +\end{description} + +\subsection{The Dviout previewer} + +This \TL{} release unfortunately doesn't offer a preinstalled \dvi{} +previewer for Windows. However, you can install \prog{dviout} by +Toshio Oshima from the \path{support/dviout/} directory, which +contains also a short \filename{README} describing how to install +and configure \prog{dviout} for \TL. Please read this carefully +before installation. + +At first, when you preview files with \cmdname{dviout}, it will create fonts, +because screen fonts were not installed. After a while, you will have created +most of the fonts you use, and you will rarely see the font-creation window. +More information can be found in the (very good) on-line help. + +\subsection{Links for additional downloadable software} + +Urls for some other tools you may consider installing: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org/} with + supplementary packages from \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, for graphics + processing and conversion +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, also for graphics. + +\item[\TeX-oriented editors] There is a wide choice, and it is a matter of the + user's taste. Here is a selection, in no particular order: + \begin{itemize*} + \item \cmdname{GNU Emacs} is available natively under Windows, see + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} with Auc\TeX\ for Windows is available in \TL's + \path{support} directory; its home page is + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} is available in \TL's \path|support| + directory; its home page is \url{http://www.winshell.de}. + \item \cmdname{WinEdt} is shareware available from + \url{http://www.winedt.com}. + \item \cmdname{Vim} is free software, available from + \url{http://www.vim.org}. + \item TeXnicCenter is free software, available from + \url{http://www.toolscenter.org} and in the pro\TeX{}t distribution. + \item \cmdname{LEd} is available from \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} is available from + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize*} +\end{description} + + +\subsection{User Profile is Home} +\label{sec:winhome} + +The Windows counterpart of a Unix home directory is the +\verb|%USERPROFILE%| directory. Under Windows XP and Windows 2000, this +is usually \verb|C:\Documents and Settings\<username>|, and under +Windows Vista \verb|C:\Users\<username>|. In the +\filename{texmf.cnf} file, and \KPS{} in general, \verb|~| will expand +appropriately on both Windows and Unix. + + +\subsection{The Windows registry} +\label{sec:registry} + +Windows stores nearly all configuration data in its registry. The +registry contains a set of hierarchically organized keys, with several +root keys. The most important ones for installation programs are +\path{HKEY_CURRENT_USER} and \path{HKEY_LOCAL_MACHINE}, \path{HKCU} and +\path{HKLM} in short. The \path{HKCU} part of the registry is in the +user's home directory (see section~\ref{sec:winhome}). \path{HKLM} is +normally in a subdirectory of the Windows directory. + +In some cases, system information could be obtained from environment +variables but for other information, for example the location of +shortcuts, it is necessary to consult the registry. Setting environment +variables permanently also requires registry access. + + +\subsection{Windows permissions} +\label{sec:winpermissions} + +In later versions of Windows, a distinction is made between regular +users and administrators, where only the latter have free access to the +entire operating system. 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. Nevertheless, we have made +an effort to make \TL{} installable without administrative privileges. + +If the user is an administrator, shortcuts are created for all users, +and the system environment is modified. Otherwise, shortcuts and menu +entries are created for the current user, and the user environment is +modified. Use the \optname{non-admin} option to \prog{install-tl} if +you prefer per-user settings even as an administrator. + +Regardless of administrator status, the default root of \TL{} proposed +by the installer is always under \verb|%PROGRAMFILES%|. The installer +always tests whether the root is writable for the current user. + +A problem may arise if the user is not an administrator and \TeX{} +already exists in the search path. Since the effective path consists of +the system path followed by the user path, the new \TL{} will never get +precedence. As a workaround, in this case the installer creates +shortcuts to the command-prompt in which the new \TL{} binary directory +is prepended to the local searchpath. The new \TL{} will be usable when +run in a command-line session started from such a shortcut. + + +\section{A user's guide to Web2C} + +\Webc{} is an integrated collection of \TeX-related programs: \TeX{} +itself, \MF{}, \MP, \BibTeX{}, etc. It is the heart of \TL{}. The home +page for \Webc{}, with the current manual and more, is +\url{http://tug.org/web2c}. + +A bit of history: The original implementation was by Tomas Rokicki who, +in 1987, developed a first \TeX{}-to-C system based on change files +under Unix, which were primarily the original work of Howard Trickey and +Pavel Curtis. Tim Morgan became the maintainer of the system, and +during this period the name changed to Web-to-C\@. In 1990, Karl Berry +took over the work, assisted by dozens of additional contributors, and +in 1997 he handed the baton to Olaf Weber, who returned it to Karl in +2006. + +The \Webc{} system runs on Unix, 32-bit Windows systems, \MacOSX{}, and +other operating systems. It uses Knuth's original sources for \TeX{} and +other basic programs written in the \web{} literate programming system +and translates them into C source code. The core \TeX{} programs +handled in this way are: + +\begin{cmddescription} +\item[bibtex] Maintaining bibliographies. +\item[dmp] \cmdname{troff} to MPX (\MP{} pictures). +\item[dvicopy] Expands virtual font references in \dvi{} files. +\item[dvitomp] \dvi{} to MPX (MetaPost pictures). +\item[dvitype] \dvi{} to human-readable text. +\item[gftodvi] Generic font proofsheets. +\item[gftopk] Generic to packed fonts. +\item[gftype] GF to human-readable text. +\item[makempx] \MP{} label typesetting. +\item[mf] Creating typeface families. +\item[mft] Prettyprinting \MF{} source. +\item[mpost] Creating technical diagrams. +\item[mpto] MetaPost label extraction. +\item[newer] Compare modification times. +\item[patgen] Creating hyphenation patterns. +\item[pktogf] Packed to generic fonts. +\item[pktype] PK to human-readable text. +\item[pltotf] Plain text property list to TFM. +\item[pooltype] Display \web{} pool files. +\item[tangle] \web{} to Pascal. +\item[tex] Typesetting. +\item[tftopl] TFM to plain text property list. +\item[vftovp] Virtual font to virtual property list. +\item[vptovf] Virtual property list to virtual font. +\item[weave] \web{} to \TeX. +\end{cmddescription} + +\noindent The precise functions and syntax of these programs are +described in the documentation of the individual packages and of \Webc{} +itself. However, knowing a few principles governing the whole family of +programs will help you take advantage of your \Webc{} installation. + +All programs honor these standard \GNU options: +\begin{ttdescription} +\item[-{}-help] print basic usage summary. +\item[-{}-verbose] print detailed progress report. +\item[-{}-version] print version information, then exit. +\end{ttdescription} + +For locating files the \Webc{} programs use the path searching library +\KPS{} (\url{http://tug.org/kpathsea}). This library uses a combination +of environment variables and a configuration files to optimize searching +the (huge) collection of \TeX{} files. \Webc{} can look at many +directory trees simultaneously, which is useful in maintaining \TeX's +standard distribution and local and personal extensions in distinct +trees. To speed up file searches, the root of each tree has a file +\file{ls-R}, containing an entry showing the name and relative pathname +for all files under that root. + + +\subsection{Kpathsea path searching} +\label{sec:kpathsea} + +Let us first describe the generic path searching mechanism of the \KPS{} +library. + +We call a \emph{search path} a colon- or semicolon\hyph sepa\-rated list +of \emph{path elements}, which are basically directory names. A +search path can come from (a combination of) many sources. To look up +a file \samp{my-file} along a path \samp{.:/dir}, \KPS{} checks each +element of the path in turn: first \file{./my-file}, then +\file{/dir/my-file}, returning the first match (or possibly all +matches). + +In order to adapt optimally to all operating systems' conventions, on +non-Unix systems \KPS{} can use filename separators different from +colon (\samp{:}) and slash (\samp{/}). + +To check a particular path element \var{p}, \KPS{} first checks if a +prebuilt database (see ``Filename data\-base'' on +page~\pageref{sec:filename-database}) applies to \var{p}, i.e., if the +database is in a directory that is a prefix of \var{p}. If so, the path +specification is matched against the contents of the database. + +If the database does not exist, or does not apply to this path +element, or contains no matches, the filesystem is searched (if this +was not forbidden by a specification starting with \samp{!!}\ and if +the file being searched for must exist). \KPS{} constructs the list +of directories that correspond to this path element, and then checks +in each for the file being sought. + +The ``file must exist'' condition comes into play with \samp{.vf} files and +input files read by \TeX's \cs{openin} command. Such files may not +exist (e.g., \file{cmr10.vf}), and so it would be wrong to search the +disk for them. Therefore, if you fail to update \file{ls-R} when you +install a new \samp{.vf} file, it will never be found. +Each path element is checked in turn: first the database, then the +disk. If a match is found, the search stops and the result is +returned. + +Although the simplest and most common path element is a directory +name, \KPS{} supports additional features in search paths: layered +default values, environment variable names, config file values, users' +home directories, and recursive subdirectory searching. Thus, we say +that \KPS{} \emph{expands} a path element, meaning it transforms all +the specifications into basic directory name or names. This is +described in the following sections in the same order as it takes +place. + +Note that if the filename being searched for is absolute or explicitly +relative, i.e., starts with \samp{/} or \samp{./} or \samp{../}, +\KPS{} simply checks if that file exists. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{An illustrative configuration file sample} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Path sources} +\label{sec:path-sources} + +A search path can come from many sources. In the order in which +\KPS{} uses them: + +\begin{enumerate} +\item + A user-set environment variable, for instance, \envname{TEXINPUTS}\@. + Environment variables with a period and a program name appended + override; e.g., if \samp{latex} is the name of the program being run, + then \envname{TEXINPUTS.latex} will override \envname{TEXINPUTS}. +\item + A program-specific configuration file, for exam\-ple, a line + \samp{S /a:/b} in \cmdname{dvips}'s \file{config.ps}. +\item A \KPS{} configuration file \file{texmf.cnf}, containing a line like + \samp{TEXINPUTS=/c:/d} (see below). +\item The compile-time default. +\end{enumerate} +\noindent You can see each of these values for a given search path by +using the debugging options (see ``Debugging actions'' on +page~\pageref{sec:debugging}). + +\subsubsection{Config files} + +\begingroup\tolerance=3500 +\KPS{} reads \emph{runtime configuration files} named \file{texmf.cnf} +for search path and other definitions. The search path used to look +for these files is named \envname{TEXMFCNF} (by default such a file lives +in the \file{texmf/web2c} subdirectory). \emph{All} +\file{texmf.cnf} files in the search path will be read and definitions +in earlier files override those in later files. Thus, with a search +path of \verb|.:$TEXMF|, values from \file{./texmf.cnf} override those +from \verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Comments start with \code{\%} and continue to the end of the line. +\item + Blank lines are ignored. +\item + A \bs{} at the end of a line acts as a continuation character, + i.e., the next line is appended. Whitespace at the beginning of + continuation lines is not ignored. +\item + Each remaining line has the form: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + where the \samp{=} and surrounding whitespace are optional. +\item + The \ttvar{variable} name may contain any character other + than whitespace, \samp{=}, or \samp{.}, but sticking to + \samp{A-Za-z\_} is safest. +\item + If \samp{.\var{progname}} is present, the definition only + applies if the program that is running is named + \texttt{\var{progname}} or \texttt{\var{progname}.exe}. This allows + different flavors of \TeX{} to have different search paths, for + example. +\item \var{value} may contain any characters except + \code{\%} and \samp{@}. The + \code{\$\var{var}.\var{prog}} feature is not available on the + right-hand side; instead, you must use an additional variable. A + \samp{;}\ in \var{value} is translated to \samp{:}\ if + running under Unix; this is useful to be able to have a single + \file{texmf.cnf} for Unix, \acro{MS-DOS} and Windows systems. +\item + All definitions are read before anything is expanded, so + variables can be referenced before they are defined. +\end{itemize} +A configuration file fragment illustrating most of these points is +\ifSingleColumn +shown below: + +\verbatiminput{examples/ex5.tex} +\else +shown in Figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Path expansion} +\label{sec:path-expansion} + + +\KPS{} recognizes certain special characters and constructions in +search paths, similar to those available in Unix shells. As a +general example, the complex path, +\verb+~$USER/{foo,bar}//baz+, expands to all subdirectories under +directories \file{foo} and \file{bar} in \texttt{\$USER}'s home +directory that contain a directory or file \file{baz}. These +expansions are explained in the sections below. +%$ +\subsubsection{Default expansion} +\label{sec:default-expansion} + +\tolerance=2500 +If the highest-priority search path (see ``Path sources'' on +page~\pageref{sec:path-sources}) contains an \emph{extra colon} (i.e., +leading, trailing, or doubled), \KPS{} inserts at that point the +next-highest-prio\-rity search path that is defined. If that inserted +path has an extra colon, the same happens with the next highest. For +example, given an environment variable setting + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +and a \code{TEXINPUTS} value from \file{texmf.cnf} of + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +then the final value used for searching will be: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Since it would be useless to insert the default value in more than one +place, \KPS{} changes only one extra \samp{:}\ and leaves any others in +place. It checks first for a leading \samp{:}, then a trailing +\samp{:}, then a doubled \samp{:}. + +\subsubsection{Brace expansion} + +A useful feature is brace expansion, which means that, for instance, +\verb+v{a,b}w+ expands to \verb+vaw:vbw+. Nesting is allowed. +This is used to implement multiple \TeX{} hierarchies, by +assigning a brace list to \code{\$TEXMF}. +For example, in \file{texmf.cnf}, the following definition +(appproximately; there are actually even more trees) is made: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Using this you can then write something like +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +which means that, after looking in the current directory, the +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +and \code{\$TEXMFMAIN/tex} trees \emph{only}) will be searched (the +last two use using \file{ls-R} data base files). It is a convenient +way for running two parallel \TeX{} structures, one ``frozen'' (on a +\CD, for instance) and the other being continuously updated with new +versions as they become available. By using the \code{\$TEXMF} +variable in all definitions, one is sure to always search the +up-to-date tree first. + +\subsubsection{Subdirectory expansion} +\label{sec:subdirectory-expansion} + +Two or more consecutive slashes in a path element following a directory +\var{d} is replaced by all subdirectories of \var{d}: first those +subdirectories directly under \var{d}, then the subsubdirectories under +those, and so on. At each level, the order in which the directories are +searched is \emph{unspecified}. + +If you specify any filename components after the \samp{//}, only +subdirectories with matching components are included. For example, +\samp{/a//b} expands into directories \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, and so on, but not \file{/a/b/c} or \file{/a/1}. + +Multiple \samp{//} constructs in a path are possible, but +\samp{//} at the beginning of a path is ignored. + +\subsubsection{List of special characters and their meaning: a summary} + +The following list summarizes the special characters in \KPS{} +configuration files. + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] Separator in path specification; at the beginning or + the end of a path it substitutes the default path expansion.\par +\item[\CODE{;}] Separator on non-Unix systems (acts like \code{:}). +\item[\CODE{\$}] Variable expansion. +\item[\CODE{\string~}] Represents the user's home directory. +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] Subdirectory expansion (can occur anywhere in + a path, except at its beginning). +\item[\CODE{\%}] Start of comment. +\item[\CODE{\bs}] Continuation character (allows multi-line entries). +\item[\CODE{!!}] Search \emph{only} database to locate file, \emph{do + not} search the disk. +\end{ttdescription} + + +\subsection{Filename databases} +\label{sec:filename-database} + +\KPS{} goes to some lengths to minimize disk accesses for searches. +Nevertheless, at installations with enough directories, searching each +possible directory for a given file can take an excessively long time +(this is especially true if many hundreds of font directories have to +be traversed.) Therefore, \KPS{} can use an externally-built plain text +``database'' file named \file{ls-R} that maps files to directories, +thus avoiding the need to exhaustively search the disk. + +A second database file \file{aliases} allows you to give additional +names to the files listed in \file{ls-R}. This can be helpful to +confirm to \acro{DOS} 8.3 filename conventions in source files. + +\subsubsection{The filename database} +\label{sec:ls-R} + +As explained above, the name of the main filename database must be +\file{ls-R}. You can put one at the root of each \TeX{} hierarchy in +your installation that you wish to be searched (\code{\$TEXMF} by +default); most sites have only one hierarchy. \KPS{} looks for +\file{ls-R} files along the \code{TEXMFDBS} path. + +The recommended way to create and maintain \samp{ls-R} is to run the +\code{mktexlsr} script included with the distribution. It is invoked +by the various \samp{mktex}\dots\ scripts. In principle, this script +just runs the command +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +presuming your system's \code{ls} produces the right output format +(\GNU \code{ls} is all right). To ensure that the database is +always up-to-date, it is easiest to rebuild it regularly via +\code{cron}, so that it is automatically updated when the installed +files change, such as after installing or updating a \LaTeX{} package. + +If a file is not found in the database, by default \KPS{} goes ahead +and searches the disk. If a particular path element begins with +\samp{!!}, however, \emph{only} the database will be searched for that +element, never the disk. + + +\subsubsection{kpsewhich: Standalone path searching} +\label{sec:invoking-kpsewhich} + +The \texttt{kpsewhich} program exercises path searching independent of any +particular application. This can be useful as a sort of \code{find} +program to locate files in \TeX{} hierarchies (this is used heavily in +the distributed \samp{mktex}\dots\ scripts). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +The options specified in \ttvar{option} start with either \samp{-} +or \samp{-{}-}, and any unambiguous abbreviation is accepted. + +\KPS{} looks up each non-option argument on the command line as a +filename, and returns the first file found. There is no option to +return all the files with a particular name (you can run the Unix +\samp{find} utility for that). + +The most common options are described next. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + Set the resolution to \ttvar{num}; this only affects \samp{gf} + and \samp{pk} lookups. \samp{-D} is a synonym, for compatibility + with \cmdname{dvips}. Default is 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Set the format for lookup to \ttvar{name}. By default, the + format is guessed from the filename. For formats which do not have + an associated unambiguous suffix, such as \MP{} support files and + \cmdname{dvips} configuration files, you have to specify the name as + known to \KPS{}, such as \texttt{tex} or \texttt{enc files}. Run + \texttt{kpsewhich -{}-help} for a list. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Set the mode name to \ttvar{string}; this only affects \samp{gf} + and \samp{pk} lookups. No default: any mode will be found. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Do everything possible to find the files, notably including + searching the disk. By default, only the \file{ls-R} database is + checked, in the interest of efficiency. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Search along the path \ttvar{string} (colon-separated as usual), + instead of guessing the search path from the filename. \samp{//} and + all the usual expansions are supported. The options \samp{-{}-path} + and \samp{-{}-format} are mutually exclusive. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Set the program name to \texttt{\var{name}}. + This can affect the search paths via the \texttt{.\var{progname}} + feature. + The default is \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + shows the path used for file lookups of file type \texttt{\var{name}}. + Either a filename extension (\code{.pk}, \code{.vf}, etc.) or a + name can be used, just as with \samp{-{}-format} option. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + sets the debugging options to \texttt{\var{num}}. +\end{ttdescription} + + +\subsubsection{Examples of use} +\label{sec:examples-of-use} + +Let us now have a look at \KPS{} in action. Here's a straightforward search: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +We are looking for the file \file{article.cls}. Since the \samp{.cls} +suffix is unambiguous we do not need to specify that we want to look for a +file of type \optname{tex} (\TeX{} source file directories). We find it in +the subdirectory \file{tex/latex/base} below the \samp{texmf-dist} \TL\ +directory. Similarly, all of the following are found without problems +thanks to their unambiguous suffix. +\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} + +By the way, that last is a \BibTeX{} bibliography database for \textsl{TUGBoat} articles. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Font bitmap glyph files of type \file{.pk} are used by display +programs like \cmdname{dvips} and \cmdname{xdvi}. Nothing is returned in +this case since there are no pre-generated Computer Modern \samp{.pk} +files in \TL{}\Dash the Type~1 variants are used by default. +\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} +For these fonts (a phonetic alphabet from the University of Washington) +we had to generate \samp{.pk} files, and since the default \MF{} mode on +our installation is \texttt{ljfour} with a base resolution of 600\dpi{} +(dots per inch), this instantiation is returned. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +In this case, when specifying that we are interested in a resolution +of 300\dpi{} (\texttt{-dpi=300}) we see that no such font is available on +the system. A program like \cmdname{dvips} or \cmdname{xdvi} would +go off and actually build the required \texttt{.pk} files +using the script \cmdname{mktexpk}. + +Next we turn our attention to \cmdname{dvips}'s header and configuration +files. We first look at one of the commonly used files, the general +prologue \file{tex.pro} for \TeX{} support, before turning our attention +to the generic configuration file (\file{config.ps}) and the \PS{} font +map \file{psfonts.map}\Dash as of 2004, map and encoding files have +their own search paths and new location in \dirname{texmf} trees. As +the \samp{.ps} suffix is ambiguous we have to specify explicitly which +type we are considering (\optname{dvips config}) for the file +\texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +We now take a closer look at the \acro{URW} Times \PS{} support +files. The prefix for these in the standard font naming scheme is +\samp{utm}. The first file we look at is the configuration file, +which contains the name of the map file: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +The contents of that file is +\begin{alltt} + p +utm.map +\end{alltt} +which points to the file \file{utm.map}, which we want to +locate next. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +This map file defines the file names of the Type~1 \PS{} fonts in +the URW collection. Its contents look like (we only show part of the +lines): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Let us, for instance, take the Times Roman instance +\file{utmr8a.pfb} and find its position in the \file{texmf} directory +tree with a search for Type~1 font files: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +It should be evident from these examples how you can easily locate the +whereabouts of a given file. This is especially important if you suspect +that the wrong version of a file is picked up somehow, since +\cmdname{kpsewhich} will show you the first file encountered. + +\subsubsection{Debugging actions} +\label{sec:debugging} + +Sometimes it is necessary to investigate how a program resolves file +references. To make this practical, \KPS{} offers various levels of +debugging output: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} calls (disk lookups). When running + with an up-to-date \file{ls-R} database this should almost give no + output. +\item[\texttt{\ 2}] References to hash tables (such as \file{ls-R} + databases, map files, configuration files). +\item[\texttt{\ 4}] File open and close operations. +\item[\texttt{\ 8}] General path information for file types + searched by \KPS. This is useful to find out where a particular + path for the file was defined. +\item[\texttt{16}] Directory list for each path element (only relevant + for searches on disk). +\item[\texttt{32}] File searches. +\item[\texttt{64}] Variable values. +\end{ttdescription} +A value of \texttt{-1} will set all the above options; in practice, +this is usually the most convenient. + +Similarly, with the \cmdname{dvips} program, by setting a combination of +debug switches, one can follow in detail where files are being picked up +from. Alternatively, when a file is not found, the debug trace shows in +which directories the program looks for the given file, so that one can +get an indication what the problem~is. + +Generally speaking, as most programs call the \KPS{} library +internally, one can select a debug option by using the +\envname{KPATHSEA\_DEBUG} environment variable, and setting it to (a +combination of) values as described in the above list. + +(Note for Windows users: it is not easy to redirect +all messages to a file in this system. For diagnostic purposes +you can temporarily \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + +Let us consider, as an example, a small \LaTeX{} source file, +\file{hello-world.tex}, which contains the following input. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +This little file only uses the font \file{cmr10}, so let us look at +how \cmdname{dvips} prepares the \PS{} file (we want to use the Type~1 +version of the Computer Modern fonts, hence the option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +In this case we have combined \cmdname{dvips}'s debug class 4 (font +paths) with \KPS's path element expansion (see \cmdname{dvips} Reference +Manual, \OnCD{texmf/doc/dvips/dvips.pdf}). +The output (slightly rearranged) appears in +Figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Finding configuration files}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Finding the prolog file}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Finding the font file}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} starts by locating its working files. First, +\file{texmf.cnf} is found, which gives the definitions of the search +paths for the other files, then the file database \file{ls-R} (to +optimize file searching) and the file \file{aliases}, which makes it +possible to declare several names (e.g., a short \acro{DOS}-like 8.3 and +a more natural longer version) for the same file. Then \cmdname{dvips} +goes on to find the generic configuration file \file{config.ps} +before looking for the customization file \file{.dvipsrc} (which, in +this case is \emph{not found}). Finally, \cmdname{dvips} locates the +config file for the Computer Modern \PS{} fonts \file{config.cms} +(this was initiated with the \texttt{-Pcms} option on the \cmdname{dvips} +command). This file contains the list of the map files which +define the relation between the \TeX{}, \PS{} and file system +names of the fonts. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} thus goes on to find all these files, plus the generic +map file \file{psfonts.map}, which is always loaded (it contains +declarations for commonly used \PS{} fonts; see the last part of +Section \ref{sec:examples-of-use} for more details about \PS{} map +file handling). + +At this point \cmdname{dvips} identifies itself to the user: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +Then it goes on to look for the prolog file \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 +Then it goes on to look for the prolog file \file{texc.pro} (see +Figure~\ref{fig:dvipsdbgb}). +\fi + +After having found the file in question, \cmdname{dvips} outputs +the date and time, and informs us that it will generate the +file \file{hello-world.ps}, then that it needs the font file +\file{cmr10}, and that the latter is declared as ``resident'' (no +bitmaps needed): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Now the search is on for the file \file{cmr10.tfm}, which is found, +then a few more prolog files (not shown) are referenced, and finally +the Type~1 instance \file{cmr10.pfb} of the font is located and +included in the output file (see last line). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Runtime options} + +Another useful feature of \Webc{} is its possibility to control a number +of memory parameters (in particular, array sizes) via the runtime file +\file{texmf.cnf} read by \KPS{}. The memory settings can be found in +Part 3 of that file in the \TL{} distribution. The more important +are: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + Total words of memory available, for + \TeX{}, \MF{} and \MP. You must make a new format file for each + different setting. For instance, you could generate a ``huge'' + version of \TeX{}, and call the format file \texttt{hugetex.fmt}. + Using the standard way of specifying the program name used by \KPS{}, + the particular value of the \texttt{main\_memory} variable will then + be read from \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Extra space for ``large'' \TeX{} data structures: + boxes, glue, breakpoints, etc. Especially useful if you use + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + Number of words for font information available for \TeX. This + is more or less the total size of all \acro{TFM} files read. +\item[\texttt{hash\_extra}] + Additional space for the hash table of control sequence names. + Only $\approx$10,000 control sequences can be stored in the main + hash table; if you have a large book with numerous cross-references, + this might not be enough. The default value of + \texttt{hash\_extra} is \texttt{50000}. +\end{ttdescription} + +\noindent Of course, this facility is no substitute for truly dynamic +arrays and memory allocation, but since these are extremely difficult to +implement in the present \TeX{} source, these runtime parameters provide +a practical compromise allowing some flexibility. + + +\begin{comment} +\section{Building on a new Unix platform} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{Prerequisites} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \GNU version of these programs +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{Configuration} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:install-disk} on +\p.\pageref{sec:install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \GNU style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{Running \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \GNU \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\htmlanchor{ack} +\section{Acknowledgements} + +\TL{} is a joint effort by virtually all of the \TeX{} user groups. +This edition of \TL{} was overseen by Karl Berry. The other principal +contributors, past and present, are listed below. + +\begin{itemize*} + +\item The English, German, Dutch, and Polish \TeX{} user groups +(\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, +respectively), which provide the necessary technical and administrative +infrastructure. Please join the \TeX\ user group near you! (See +\url{http://tug.org/usergroups.html}.) + +\item The \acro{CTAN} team, most notably Robin Fairbairns, Jim Hef{}feron, +and Rainer Sch\"opf, which distributes the \TL{} images and provides the +common infrastructure for package updates, upon which \TL{} depends. + +\item Peter Breitenlohner (and the \eTeX\ team) for the stable foundation +of future \TeX's, and Peter specifically for stellar help with the GNU +autotools usage throughout \TL. + +\item Thomas Esser, without whose marvelous \teTeX{} package \TL{} +would have never existed. + +\item Michel Goossens, who co-authored the original documentation. + +\item Eitan Gurari, whose \TeX4ht was used to create the \HTML{} +version of this documentation, and who worked tirelessly to improve +it at short notice. + +\item \Thanh, Martin Schr\"oder, and the pdf\TeX\ team +(\url{http://pdftex.org}) for continuing enhancements of \TeX's +abilities. + +\item Hans Hagen, for much testing and making his \ConTeXt\ format +(\url{http://pragma-ade.com}) work within \TL's framework. + +\item Hartmut Henkel, for significant development contributions to +pdf\TeX\, Lua\TeX, and more. + +\item Taco Hoekwater, for renewed development efforts on MetaPost and +(Lua)\TeX\ (\url{http://luatex.org}) itself, and for incorporating +\ConTeXt\ into \TL. + +\item Pawe{\l} Jackowski, for the Windows installer \cmdname{tlpm}, +and Tomasz {\L}uczak, for \cmdname{tlpmgui}, used in past releases. + +\item Akira Kakuto, for providing the Windows +binaries from his \acro{W32TEX} distribution for Japanese \TeX\ +(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}), and many +other contributions. + +\item Jonathan Kew and \acro{SIL}, for the major new development of +\XeTeX{} and taking the time and trouble to integrate it in \TL{}, as +well as the initial version of the Mac\TeX\ installer. + +\item Dick Koch, for maintaining Mac\TeX\ (\url{http://tug.org/mactex}) +in very close tandem with \TL{}, and for his great good cheer in doing +so. + +\item Reinhard Kotucha, for major contributions to the \TL{} 2008 +infrastructure and installer, as well as Windows research efforts, the +\texttt{getnonfreefonts} script, and more. + +\item Siep Kroonenberg, also for major contributions to the \TL{} 2008 +infrastructure and installer, especially on Windows, and for the bulk of +work updating this manual describing the new features. + +\item Petr Ol\v{s}ak, who coordinated and checked all the Czech and Slovak +material very carefully. + +\item Toshio Oshima, for his \cmdname{dviout} previewer for Windows. + +\item Manuel P\'egouri\'e-Gonnard, for helping with package updates, +documentation improvements, and \cmdname{tldoc} development. + +\item Fabrice Popineau, for the original Windows support in \TL{} and +work on the French documentation. + +\item Norbert Preining, the principal architect of the \TL{} 2008 +infrastructure and installer, and also for coordinating the Debian +version of \TL{} (together with Frank K\"uster), making many suggestions +along the way. + +\item Sebastian Rahtz, for originally creating \TL{} and maintaining it +for many years. + +\item Phil Taylor, for setting up the BitTorrent downloads. + +\item Vladimir Volovich, for substantial help with porting and other +maintenance issues, and especially for making it feasible to include +\cmdname{xindy}. + +\item Staszek Wawrykiewicz, the principal tester for all of \TL{}, +and coordinator of the many major Polish contributions: fonts, Windows +installation, and more. + +\item Olaf Weber, for his patient maintenance of \Webc. + +\item Gerben Wierda, for creating and maintaining the \MacOSX\ support, +and much integration and testing. + +\item Graham Williams, on whose work the \TeX\ Catalogue of packages depends. + +\end{itemize*} + +Builders of the binaries: +Reinhard Kotucha (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +For information on the \TL{} build process, see +\url{http://tug.org/texlive/build.html}. + +Documentation and translation updates: +Karl Berry (English), +Daniel Flipo (French), +Klaus H\"oppner (German), +Petr Sojka \& Jan Busa (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). The \TL{} documentation web page +is \url{http://tug.org/texlive/doc.html}. + +Of course the most important acknowledgement must go to Donald Knuth, +first for inventing \TeX, and then for giving it to the world. + + + +\section{Release history} +\label{sec:history} + +\subsection{Past} + +Discussion began in late 1993 when the Dutch \TeX{} Users Group was +starting work on its 4All\TeX{} \CD{} for \acro{MS-DOS} users, and it +was hoped at that time to issue a single, rational, \CD{} for all +systems. This was too ambitious a target for the time, but it did spawn +not only the very successful 4All\TeX{} \CD{}, but also the \acro{TUG} +Technical Council working group on a \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), which specified how to create consistent and +manageable collections of \TeX{} support files. A complete draft of the +\TDS{} was published in the December 1995 issue of \textsl{TUGboat}, and +it was clear from an early stage that one desirable product would be a +model structure on \CD{}. The distribution you now have is a very direct +result of the working group's deliberations. It was also clear that the +success of the 4All\TeX{} \CD{} showed that Unix users would benefit +from a similarly easy system, and this is the other main strand of +\TL. + +We first undertook to make a new Unix-based \TDS{} \CD{} in the autumn +of 1995, and quickly identified Thomas Esser's \teTeX{} as the ideal +setup, as it already had multi-platform support and was built with +portability across file systems in mind. Thomas agreed to help, and work +began seriously at the start of 1996. The first edition was released in +May 1996. At the start of 1997, Karl Berry completed a major new release +of Web2c, which included nearly all the features which Thomas Esser had +added in \teTeX, and we decided to base the 2nd edition of the \CD{} on +the standard \Webc, with the addition of \teTeX's \texttt{texconfig} +script. The 3rd edition of the \CD{} was based on a major revision of +\Webc, 7.2, by Olaf Weber; at the same time, a new revision of \teTeX +was being made, and \TL{} included almost all of its features. The +4th edition followed the same pattern, using a new version of \teTeX, +and a new release of \Webc{} (7.3). The system now included a complete +Windows setup. + +For the 5th edition (March 2000) many parts of the \CD{} were revised +and checked, updating hundreds of packages. Package details were stored +in XML files. But the major change for \TeX\ Live 5 was that all +non-free software was removed. Everything in \TL{} is now intended +to be compatible with the Debian Free Software Guidelines +(\url{http://www.debian.org/intro/free}); we have done our best to check +the license conditions of all packages, but we would very much +appreciate hearing of any mistakes. + +The 6th edition (July 2001) had much more material updated. The major +change was a new install concept: the user could select a more exact set +of needed collections. Language-related collections were completely +reorganized, so selecting any of them installs not only macros, fonts, +etc., but also prepares an appropriate \texttt{language.dat}. + +The 7th edition of 2002 had the notable addition of \MacOSX{} support, +and the usual myriad of updates to all sorts of packages and +programs. An important goal was integration of the source back with +\teTeX, to correct the drift apart in versions~5 and~6. + +\subsubsection{2003} + +In 2003, with the continuing flood of updates and additions, we found +that \TL{} had grown so large it could no longer be contained on a +single \CD, so we split it into three different distributions (see +section~\ref{sec:tl-coll-dists}, \p.\pageref{sec:tl-coll-dists}). In +addition: + +\begin{itemize*} +\item At the request of the \LaTeX{} team, we changed the standard + \cmdname{latex} and \cmdname{pdflatex} commands to now use \eTeX{} (see + \p.\pageref{text:etex}). +\item The new Latin Modern fonts were included (and are recommended). +\item Support for Alpha \acro{OSF} was removed + (\acro{HPUX} support was removed previously), since no one had (or + volunteered) hardware available on which to compile new binaries. +\item Windows setup was substantially changed; for the first time + an integrated environment based on XEmacs was introduced. +\item Important supplementary programs for Windows + (Perl, Ghost\-script, Image\-Magick, Ispell) are now installed + in the \TL{} installation directory. +\item Font map files used by \cmdname{dvips}, \cmdname{dvipdfm} + and \cmdname{pdftex} are now generated by the new program + \cmdname{updmap} and installed into \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} now, by default, output most input + characters (32 and above) as themselves in output (e.g., + \verb|\write|) files, + log files, and the terminal, i.e., \emph{not} translated using the + \verb|^^| notation. In \TL{}~7, this translation was + dependent on the system locale settings; now, locale settings do + not influence the \TeX{} programs' behavior. If for some reason + you need the \verb|^^| output, rename the file + \verb|texmf/web2c/cp8bit.tcx|. (Future releases will have cleaner + ways to control this.) +\item This documentation was substantially revised. +\item Finally, since the edition numbers had grown unwieldy, + the version is now simply identified by the year: \TL{} 2003. +\end{itemize*} + + +\subsubsection{2004} + +2004 saw many changes: + +\begin{itemize} + +\item If you have locally-installed fonts which use their own +\filename{.map} or (much less likely) \filename{.enc} support files, you +may need to move those support files. + +\filename{.map} files are now searched for in subdirectories of +\dirname{fonts/map} only (in each \filename{texmf} tree), along the +\envname{TEXFONTMAPS} path. Similarly, \filename{.enc} files are now +searched for in subdirectories of \dirname{fonts/enc} only, along the +\envname{ENCFONTS} path. \cmdname{updmap} will attempt to warn about +problematic files. + +For methods of handling this and other information, please see +\url{http://tug.org/texlive/mapenc.html}. + +\item The \TK\ has been expanded with the addition of a \MIKTEX-based +installable \CD, for those who prefer that implementation to Web2C. +See section~\ref{sec:overview-tl} (\p.\pageref{sec:overview-tl}). + +\item Within \TL, the single large \dirname{texmf} tree of previous +releases has been replaced by three: \dirname{texmf}, +\dirname{texmf-dist}, and \dirname{texmf-doc}. See +section~\ref{sec:tld} (\p.\pageref{sec:tld}), and the \filename{README} +files for each. + +\item All \TeX-related input files are now collected in +the \dirname{tex} subdirectory of \dirname{texmf*} trees, rather than +having separate sibling directories \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Helper scripts (not meant to be invoked by users) are now located +in a new \dirname{scripts} directory of \dirname{texmf*} trees, and +searched for via \verb|kpsewhich -format=texmfscripts|. So if you have +programs which call such scripts, they'll need to be adjusted. See +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Almost all formats leave most characters printable as +themselves via the ``translation file'' \filename{cp227.tcx}, instead of +translating them with the \verb|^^| notation. Specifically, characters +at positions 32--256, plus tab, vertical tab, and form feed are +considered printable and not translated. The exceptions are plain \TeX\ +(only 32--126 printable), \ConTeXt\ (0--255 printable), and the +\OMEGA-related formats. This default behavior is almost the same as in +\TL\,2003, but it's implemented more cleanly, with more possibilities +for customization. See \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(By the way, with Unicode input, \TeX\ may output partial character +sequences when showing error contexts, since it is byte-oriented.) + +\item \textsf{pdfetex} is now the default engine for all formats +except (plain) \textsf{tex} itself. (Of course it generates \acro{DVI} +when run as \textsf{latex}, etc.) This means, among other things, that +the microtypographic features of \textsf{pdftex} are available in +\LaTeX, \ConTeXt, etc., as well as the \eTeX\ features +(\OnCD{texmf-dist/doc/etex/base/}). + +It also means it's \emph{more important than ever} to use the +\pkgname{ifpdf} package (works with both plain and \LaTeX) or equivalent +code, because simply testing whether \cs{pdfoutput} or some other +primitive is defined is not a reliable way to determine if \acro{PDF} +output is being generated. We made this backward compatible as best we +could this year, but next year, \cs{pdfoutput} may be defined even when +\acro{DVI} is being written. + +\item pdf\TeX\ (\url{http://pdftex.org}) has many new features: + + \begin{itemize*} + + \item \cs{pdfmapfile} and \cs{pdfmapline} provide font map support + from within a document. + + \item Microtypographic font expansion can be used more easily.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item All parameters previously set through the special configuration + file \filename{pdftex.cfg} must now be set through primitives, + typically in \filename{pdftexconfig.tex}; \filename{pdftex.cfg} is no + longer supported. Any extant \filename{.fmt} files must be redumped + when \filename{pdftexconfig.tex} is changed. + + \item See the pdf\TeX\ manual for more: \OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}. + + \end{itemize*} + +\item The \cs{input} primitive in \cmdname{tex} (and \cmdname{mf} and +\cmdname{mpost}) now accepts double quotes containing spaces and other +special characters. Typical examples: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +See the Web2C manual for more: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ support is now included within Web2C and consequently all +\TeX\ programs, via the \optname{-enc} option\Dash \emph{only when +formats are built}. enc\TeX\ supports general re-encoding of input and +output, enabling full support of Unicode (in \acro{UTF}-8). See +\OnCD{texmf-dist/doc/generic/enctex/} and +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, a new engine combining \eTeX\ and \OMEGA, is available. +A little information is available in \OnCD{texmf-dist/doc/aleph/base} +and \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. The +\LaTeX-based format for Aleph is named \textsf{lamed}. + +\item The latest \LaTeX\ release has a new version of the +\acro{LPPL}\Dash now officially a Debian-approved license. Assorted +other updates, see the \filename{ltnews} files in +\OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, a new program for converting \acro{DVI} to +\acro{PNG} image files, is included. See \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item We reduced the \pkgname{cbgreek} package to a ``medium'' sized set +of fonts, with the assent and advice of the author (Claudio Beccari). +The excised fonts are the invisible, outline, and transparency ones, +which are relatively rarely used, and we needed the space. The full set +is of course available from \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} has been removed; just use \cmdname{xdvi}. + +\item The \cmdname{ini} and \cmdname{vir} commands (links) for +\cmdname{tex}, \cmdname{mf}, and \cmdname{mpost} are no longer created, +such as \cmdname{initex}. The \cmdname{ini} functionality has been +available through the command-line option \optname{-ini} for years now. + +\item \textsf{i386-openbsd} platform support was removed. Since the +\pkgname{tetex} package in the \acro{BSD} Ports system is available, and +\acro{GNU/}Linux and Free\acro{BSD} binaries were available, it seemed +volunteer time could be better spent elsewhere. + +\item On \textsf{sparc-solaris} (at least), you may have to set the +\envname{LD\_LIBRARY\_PATH} environment variable to run the +\pkgname{t1utils} programs. This is because they are compiled with C++, +and there is no standard location for the runtime libraries. (This is +not new in 2004, but wasn't previously documented.) Similarly, on +\textsf{mips-irix}, the \acro{MIPS}pro 7.4 runtimes are required. + +\end{itemize} + +\subsubsection{2005} + +2005 saw the usual huge number of updates to packages and programs. +The infrastructure stayed relatively stable from 2004, but inevitably +there were some changes there as well: + +\begin{itemize} + +\item New scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys}, and + \cmdname{fmtutil-sys} were introduced, which modify the + configuration in the system trees. The \cmdname{texconfig}, + \cmdname{updmap}, and \cmdname{fmtutil} scripts now modify + user-specific files, under \dirname{$HOME/.texlive2005}. + +\item Corresponding new variables \envname{TEXMFCONFIG} and + \envname{TEXMFSYSCONFIG} to specify the trees where configuration + files (user or system, respectively) are found. Thus, you may + need to move personal versions of \filename{fmtutil.cnf} and + \filename{updmap.cfg} to these places; another option is to + redefine \envname{TEXMFCONFIG} or \envname{TEXMFSYSCONFIG} in + \filename{texmf.cnf}. In any case the real location of these files + and the values of \envname{TEXMFCONFIG} and \envname{TEXMFSYSCONFIG} + must agree. + See section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item Last year, we kept \verb|\pdfoutput| and other primitives undefined + for \dvi\ output, even though the \cmdname{pdfetex} program was + being used. This year, as promised, we undid that compatibility + measure. So if your document uses \verb|\ifx\pdfoutput\undefined| + to test if PDF is being output, it will need to be changed. You + can use the package \pkgname{ifpdf.sty} (which works under both + plain \TeX\ and \LaTeX) to do this, or steal its logic. + +\item Last year, we changed most formats to output (8-bit) characters as + themselves (see previous section). The new TCX file + \filename{empty.tcx} now provides an easier way to get the + original \verb|^^| notation if you so desire, as in: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item The new program \cmdname{dvipdfmx} is included for translation of + DVI to PDF; this is an actively maintained update of + \cmdname{dvipdfm} (which is also still available for now, though + no longer recommended). + +\item The new programs \cmdname{pdfopen} and \cmdname{pdfclose} are included + to allow reloading of pdf files in the Adobe Acrobat Reader without + restarting the program. (Other pdf readers, notably \cmdname{xpdf}, + \cmdname{gv}, and \cmdname{gsview}, have never suffered from this + problem.) + +\item For consistency, the variables \envname{HOMETEXMF} and + \envname{VARTEXMF} have been renamed to \envname{TEXMFHOME} and + \envname{TEXMFSYSVAR}, respectively. There is also + \envname{TEXMFVAR}, which is by default user-specific. See the + first point above. + +\end{itemize} + + +\subsubsection{2006--2007} + +In 2006--2007, the major new addition to \TL{} was the \XeTeX{} program, +available as the \texttt{xetex} and \texttt{xelatex} programs; see +\url{http://scripts.sil.org/xetex}. + +MetaPost also received a notable update, with more planned for the +future (\url{http://tug.org/metapost/articles}), likewise pdf\TeX{} +(\url{http://tug.org/applications/pdftex}). + +The \TeX\ \filename{.fmt} (high-speed format) and the similar files for +MetaPost and \MF\ are now stored in subdirectories of \dirname{texmf/web2c}, +instead of in the directory itself (although the directory is still +searched, for the sake of existing \filename{.fmt}'s). The +subdirectories are named for the `engine' in use, such as \filename{tex} +or \filename{pdftex} or \filename{xetex}. This change should be +invisible in normal use. + +The (plain) \texttt{tex} program no longer reads \texttt{\%\&} first +lines to determine what format to run; it is the pure Knuthian \TeX. +(\LaTeX\ and everything else do still read \texttt{\%\&} lines). + +Of course the year also saw (the usual) hundreds of other updates to +packages and programs. As usual, please check \acro{CTAN} +(\url{http://www.ctan.org}) for updates. + +Internally, the source tree is now stored in Subversion, with a standard +web interface for viewing the tree, as linked from our home page. +Although not visible in the final distribution, we expect this will +provide a stable development foundation for future years. + +Finally, in May 2006 Thomas Esser announced that he would no longer be +updating te\TeX{} (\url{http://tug.org/tetex}). As a result, there was +been a surge of interest in \TL{}, especially among \GNU/Linux +distributors. (There is a new \texttt{tetex} installation scheme in +\TL{}, which provides an approximate equivalent.) We hope this will +eventually translate to improvements in the \TeX\ environment for +everyone. + +\medskip \noindent +Final note on the past: all releases of \TL{}, along with ancillary +material such as \CD\ labels, are available at +\url{ftp://tug.org/historic/systems/texlive}. + +\htmlanchor{news} +\subsection{Present} +\label{sec:tlcurrent} + +In 2008, the entire \TL{} infrastructure was redesigned and +reimplemented. Complete information about an installation is now stored +in a plain text file \filename{tlpkg/texlive.tlpdb}. + +Among other things, this finally makes possible upgrading a \TL{} +installation over the Internet after the initial installation, a feature +MiK\TeX\ has provided for many years. We expect to regularly update new +packages as they are released to \CTAN. + +The major new engine Lua\TeX\ (\url{http://luatex.org}) is included; +besides a new level of flexibility in typesetting, this provides an +excellent scripting language for use both inside and outside of \TeX\ +documents. + +Support among Windows and the Unix-based platforms is now much more +uniform. In particular, most Perl and Lua scripts are now available on +Windows, using the Perl internally distributed with \TL. + +The new \cmdname{tlmgr} script (section~\ref{sec:tlmgr}) is the +general interface for managing \TL{} after the initial installation. +It handles package updates and consequent regeneration of formats, map +files, and language files, optionally including local additions. + +With the advent of \cmdname{tlmgr}, the \cmdname{texconfig} actions to +edit the format and hyphenation configuration files are now disabled. + +The \cmdname{xindy} indexing program +(\url{http://xindy.sourceforge.net/}) is now included on most platforms. + +The \cmdname{kpsewhich} tool can now report all matches for a given file +(option \optname{--all}) and limit matches to a given subdirectory +(option \optname{--subdir}). + +The \cmdname{dvipdfmx} program now includes functionality to extract +bounding box information, via the command name \cmdname{extractbb}; this +was one of the last features provided by \cmdname{dvipdfm} not in +\cmdname{dvipdfmx}. + +The font aliases \filename{Times-Roman}, \filename{Helvetica}, and so on +have been removed. Different packages expected them to behave +differently (in particular, to have different encodings), and there was +no good way to resolve this. + +The \pkgname{platex} format has been removed, to resolve a name conflict +with a completely different Japanese \pkgname{platex}; the +\pkgname{polski} package is now the main Polish support. + +Internally, the \web\ string pool files are now compiled into the +binaries, to ease upgrades. + +Finally, the changes made by Donald Knuth in his `\TeX\ tuneup of 2008' +are included in this release. See +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + + +\subsection{Future} + +\emph{\TL{} is not perfect!} (And never will be.) We intend to +continue to release new versions, and would like to provide more help +material, more utilities, more installation programs, and (of course) an +ever-improved and better-checked tree of macros and fonts. This work is +all done by hard-pressed volunteers in their limited spare time, and a +great deal remains to be done. Please see +\url{http://tug.org/texlive/contribute.html}. + +Please send corrections, suggestions, and offers of help to: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} diff --git a/Master/texmf/doc/texlive/source/texlive-fr/Makefile b/Master/texmf/doc/texlive/source/texlive-fr/Makefile new file mode 100644 index 00000000000..519abf8798a --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-fr/Makefile @@ -0,0 +1,5 @@ +include ../texlive-en/Makefile +doc = texlive-fr +lang = french + + diff --git a/Master/texmf/doc/texlive/source/texlive-fr/live.tex b/Master/texmf/doc/texlive/source/texlive-fr/live.tex new file mode 100644 index 00000000000..ccb25a86f0b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-fr/live.tex @@ -0,0 +1,3945 @@ +%Format: pdf + +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/live.tex#31 $ +% $Author: staw $ $Date: 2005/10/31 $ +% +% Change history (started May 18th 2002) +% 2007/01/18: synced with 2007 English version, by Daniel Flipo +% 2005/11/01: synced with 2005 English version, by Daniel Flipo +% 2005/05/05: re-added section on building binaries (Daniel Flipo) +% 2004/10/28: synced with 2004 English version, by Daniel Flipo +% 2003/08/28: synced with 2003 English version, by ric Picheral and Jacques Andr +% 2002/05/25: proof-reading and corrections, by Daniel Flipo +% 2002/05/18: synced with English version, by Fabrice +% +\documentclass{article} +%\let\tldocenglish=1 % *NOT* for French + +\usepackage[latin1]{inputenc} + +\usepackage{caption} +\DeclareCaptionLabelSeparator{endash}{\space\textendash\space} +\captionsetup{labelsep=endash} + +\usepackage[frenchb]{babel} +\usepackage{xspace} +\addto\captionsfrench{\def\figurename{{\scshape Figure}}} +\addto\captionsfrench{\def\tablename{{\scshape Table}}} +\AddThinSpaceBeforeFootnotes +\FrenchFootnotes +\NoAutoSpaceBeforeFDP + +\newcommand{\THANH}{Hn Th\'{} Thanh} + +\usepackage{comment} + +\usepackage{ifpdf} +% tex-live.sty suppose \hyper@linkurl dfini... +\ifpdf + \def\Status{1} % (df) Pour faire charger hyperref dans tex-live.sty +\else + \makeatletter + \def\hyper@linkurl#1#2{#2} % undefined if hyperref.sty not loaded + \makeatother +\fi + +\usepackage{tex-live} +%%%% Ajout J.A. garder +\newcommand{\CDdemo}{\acro{CD} \pkgname{demo}\xspace} +\newcommand{\CDinst}{\acro{CD} \pkgname{inst}\xspace} +\newcommand{\DVDlive}{\acro{DVD} \pkgname{live}\xspace} +\renewcommand{\samp}[1]{\og \texttt{#1}\fg{}} + +%%%% Ajout (df) +% Alias +\let\XemTeX\XEmTeX +% (df) La commande \TeXLive n'est pas utilise en v.f. +\renewcommand{\TL}{\TeX{} Live\xspace}% Robuste (pas besoin de \protect)... +% tex-live.sty fait prcder les no de page d'une fine... si on veut +% une inscable normale, dcommenter la ligne suivante : +\def\p.{p.~} +% Chez Karl, la commande \url{} ne protge pas les caractres actifs (:?), +% d'o ceci (essai provisoire... erreurs avec le car. #) : +%\let\urlORI\url +%\renewcommand*{\url}[1]{\foreignlanguage{english}{\urlORI{#1}}} +%\renewcommand*{\url}[1]{{\shorthandoff{:?!;}\urlORI{#1}}} +% La commande \path de url.sty ajoute des espaces parasites, pas \url, d'o +\let\path\url +% mais ceci impose de remplacer \path|...| par \path{...}, et les \$ inclus +% par des $. + +\setlength{\parindent}{0mm} +\addtolength{\parskip}{.25\baselineskip} + +\begin{document} + +\title{{\huge Guide pratique de \TL{}} \\ \strut + {\LARGE\textsf{\TK{} 2007}} + } + +\author{Karl Berry \\[3mm] + \url{http://tug.org/texlive/}\\[5mm] + \textit{Version franaise}\\[3mm] + Daniel Flipo (GUTenberg) + } + +\date{Janvier 2007} + +\maketitle +\thispagestyle{empty} % no need for page number + +\newpage +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +Ce document dcrit les principales caractristiques de la +distribution \TL{}, une distribution de \TeX{} et \LaTeX{} +pour Linux et autres Unix, \MacOSX{} et systmes Windows 32 bits +(attention, cette distribution n'est pas vraiment utilisable avec +les anciens systmes Mac ou \acro{MS-DOS}). Elle comprend les binaires +pr-compils de \TeX{}, \LaTeXe{}, \MF, \MP, \BibTeX{} et de nombreux +autres programmes ainsi qu'une bibliothque tendue de macros, de +fontes et de documentations. Elle traite aussi la composition de textes +qui utilisent plusieurs systmes d'critures diffrentes venant de toute +la surface du globe. +La distribution \TL{} est en fait un sous-ensemble de \TK{} (dcrit brivement + la section ~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}) +produit grce aux efforts combins des diffrents groupes d'utilisateurs +de \TeX. + +L'dition 2007 a t fige en janvier 2007. +Les futures mises jour des composants de la distribution 2007 +seront disponibles au fur et mesure de leur parution sur le site +\acro{CTAN}, \url{http://www.ctan.org}. + +On trouvera la fin du document, section~\ref{sec:history} +(\p.\pageref{sec:history}), un bref historique des principales modifications +apportes au fil du temps la distribution \TL. + +Les utilisateurs des ditions prcdentes de \TL{} sont invits + lire, \emph{avant toute mise jour}, la section~\ref{tlcurrent} +\p.\pageref{tlcurrent} qui prsente les principaux changements intervenus +cette anne. + + +\subsection{Utilisation lmentaire de \TL{}} +\label{sec:basic} + +Vous pouvez utiliser \TL{} de trois faons diffrentes : +\begin{enumerate} +\item Vous pouvez excuter \TL{} directement depuis le + \DVDlive{} (toutes plates-formes). + Cela prend trs peu d'espace disque et + donne un accs immdiat tout le contenu de + \TL. C'est une solution parfaitement acceptable mme si les + performances obtenues sont moins bonnes que si \TL{} tait + lanc depuis un disque local. +\item Vous pouvez installer tout ou partie de \TL{} sur un disque + local. C'est l'utilisation la plus frquente de \TL{}. + Ceci peut se faire partir du \DVDlive{} ou de l'un des \CD de la + distribution (voir section~\ref{sec:multiple-dist}, + \p.\pageref{sec:multiple-dist}). + Il faut disposer d'un minimum de 120\,Mo, mais on recommande au moins +%(df) un peu mensonger... schma GUT = 800 Mo chez moi ! + 400\,Mo pour un systme standard ou 800\,Mo pour un systme complet. +\item Vous pouvez incorporer un jeu de composants particulier ou une + collection dans un systme \TeX{} dj prsent, soit un + systme \TL{} install prcdemment, soit un systme \TeX{} diffrent. +\end{enumerate} + +Ces trois utilisations sont dcrites en dtail dans les sections +concernant l'installation spcifique chaque systme. +Quelques remarques gnrales : + +\begin{itemize} + +\item Le script d'installation globale pour Unix et pour \MacOSX{} s'appelle +\texttt{install-tl.sh}. +Les utilisateurs de Linux peuvent aussi essayer le nouvel installeur +\texttt{setuptl/tlpmgui} dvelopp au dpart pour Windows et adapt Linux. +Consulter la section \ref{sec:win-install} p.~\pageref{sec:win-install} pour +plus d'informations. + +\item Pour installer une extension ou une collection, on utilise le script + d'installation \texttt{install-pkg.sh}. +Aprs une installation faite l'aide de \texttt{tlpmgui}, il est possible +d'utiliser \texttt{tlpmgui} pour ajouter ou supprimer des extensions ou des +collections. + +\item Le programme d'installation pour Windows s'appelle + \cmdname{tlpmgui.exe}, il sert aussi ajouter ou supprimer des composants + dans une installation existante (voir section~\ref{sec:win-install}). + +\end{itemize} + +\subsection{Obtenir de l'aide} +\label{sec:help} + +La communaut \TeX{} est la fois active et conviviale ; pratiquement +toute question srieuse finit par obtenir une rponse. Le support est +pourtant informel, assur par des volontaires et des lecteurs +occasionnels, aussi est-il particulirement important que vous fassiez +votre propre travail de recherche avant de poser la question (si vous +prfrez un support commercial, vous pouvez renoncer \TL{} et +acheter un systme payant ; voir une liste +\url{http://tug.org/interest.html#vendors}). + +Voici une liste de ressources, classes selon l'ordre dans lequel nous +recommandons de les utiliser : + +\begin{description} +\item [Getting Started] Pour ceux qui dbutent en \TeX, la page web +\url{http://tug.org/begin.html} contient une courte description +du systme. + +\item [\acro{FAQ} \TeX{}] La \acro{FAQ} \TeX{} est un vaste recueil + de rponses toutes sortes de questions, de la plus lmentaire la + plus complexe. Elle est enregistre sur le \DVDlive{} dans + \OnCD{texmf-doc/doc/english/FAQ-en} + et elle est disponible sur Internet + l'adresse \url{http://www.tex.ac.uk/faq}. + Merci de consulter cette FAQ avant toute question. + +\item [Catalogue \TeX{}] Si vous recherchez une extension, une fonte, + un programme, ... particuliers, il faut examiner le catalogue + \TeX{}. C'est une importante liste de tous les lments relatifs + \TeX{}. Voir \OnCD{texmf-doc/doc/english/catalogue} sur le \DVDlive{}, + ou \url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [Ressources \TeX{} sur le Web ] La page web + \url{http://tug.org/interest.html} propose + beaucoup de liens relatifs \TeX{}, en particulier concernant des + livres, manuels et articles portant sur tous les aspects du systme. + +\item [Archives des forums d'aide] Les principaux forums ddis + au support de \TeX{} sont les groupes de news Usenet + \url{news:comp.text.tex} (en anglais) et \url{news:fr.comp.text.tex} + (en franais) ainsi que les listes de diffusion + \email{texhax@tug.org} (en anglais) et \email{gut@ens.fr} (en franais). + Les archives correspondantes contiennent des + milliers de questions et rponses dj traites et permettent + une recherche fructueuse. Voir + \url{http://groups.google.com/groups?group=comp.text.tex} + et \url{http://tug.org/mail-archives/texhax}, respectivement. Une + question pose sur un moteur de recherche, tel que + \url{http://google.com}, peut aussi fournir des rponses pertinentes. + +\item [Poster une question] Si vous n'obtenez pas de rponse, vous + pouvez poster la question \dirname{comp.text.tex} via Google ou + votre lecteur de news, ou encore par messagerie + \email{texhax@tug.org}. Mais avant de le faire, merci de lire + l'introduction de la \acro{FAQ} donnant les conseils sur la faon de + rdiger la question pour avoir des chances d'obtenir une rponse : + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [Support de \TL{}] Si vous voulez faire un rapport + d'anomalie, mettre des suggestions ou des commentaires sur la + distribution \TL{}, l'installation ou la documentation, utilisez + la liste de diffusion \email{tex-live@tug.org}. Mais attention, si + la question concerne l'utilisation d'un programme particulier inclus + dans \TL{}, il vaut mieux que vous criviez directement la + personne ou la liste de diffusion qui maintient le programme. + +\end{description} + +L'autre aspect du sujet concerne l'aide apporter aux personnes +soumettant des questions. Les forums \dirname{comp.text.tex}, +\dirname{fr.comp.text.tex} ainsi que les listes de diffusion \code{texhax} +et \code{gut} +sont ouverts tous, aussi n'hsitez pas vous y joindre, commencer +la lecture et fournir de l'aide l o cela vous est possible. +Bienvenue dans le monde \TeX{} ! + +% No \protect needed as \TL is defined in French with \newcommand (robust). +\section{Structure de \TL} +\label{sec:struct-tl} + +Nous dcrivons ici la structure et le contenu de \TL{} et +de \TK{} qui est un sur-ensemble de \TL. + +\subsection {Distributions multiples : \protect\pkgname{live}, + \protect\pkgname{inst}, \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Des limitations d'espace lies au format des \acro{CD-ROM} nous ont contraint + diviser \TK{} en plusieurs distributions : + +\begin{description} + +\item [live] Un systme excutable complet sur \acro{DVD} ; il est + trop volumineux pour tenir sur \acro{CD-ROM}. Le \DVD{} contient + aussi une image du systme \CTAN{}, totalement indpendant de + \TL{}, la distribution Mac\TeX{} pour \MacOSX, la distribution \ProTeXt{} + pour Windows, ainsi que d'autres extensions + runies dans un rpertoire \texttt{texmf-extra}. + + Les droits d'utilisation des fichiers prsents dans \CTAN, \ProTeXt, + Mac\TeX{} et \texttt{texmf-extra} diffrent de ceux de \TL{}, pensez lire + les licences si vous envisagez de modifier ou de redistribuer certains de + ces fichiers. + +\item [inst\textrm{(allable)}] Un systme complet sur \CD{} pour les Unix + (dont Linux et \MacOSX{}) ; pour le faire + tenir sur le \CD, il a fallu compresser tout ce que nous avons + pu. Du coup, il n'est pas possible d'excuter directement \TeX\ + depuis le \CD\ d'installation, il vous faut l'installer sur disque + (d'o le nom). L'installation est dcrite dans les sections + concernes (\ref{sec:unix-install-disk} et \ref{sec:osx-unix-inst} + pour \MacOSX). + +\item [protext] Une extension du systme \MIKTEX\ sur \CD{} pour + Windows. Cette distribution est totalement indpendante du \TL{}, + elle ncessite un mode d'installation spcifique. + Elle peut tre installe sur disque ou excute directement + depuis le \CD. Le site de \ProTeXt\ se trouve ici : + \url{http://tug.org/protext}. + + \pkgname{protext} est fourni la fois sur le \DVDlive{} et + sur un \CD{} spcifique pour ceux qui n'ont pas de lecteur de \DVD. + +\end{description} + +\noindent On peut dterminer la nature de la distribution +utilise en recherchant le fichier \texttt{00\var{type}.TL} dans le +rpertoire racine du mdium utilis (\CD{} ou \DVD{}). +Ce fichier contient aussi la date de dernire mise jour du \TL. + +%(df) Que fait GUT ? +%Naturally, each user group chooses what to distribute, at its own +%discretion. + +\subsection{Rpertoires situs la racine} +\label{sec:tld} + +Les rpertoires les plus importants situs la racine +% (df) bin et source ne sont pas sur \CDinst +du \DVDlive{} +sont numrs ci-dessous. Cette anne, la distribution \TL{} +est dans un sous-rpertoire \dirname{texlive2007} et non la racine. +%%% (df) confus : on parle du CD ou du DVD +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +% (df) bin pas prsent sur \CDinst : les .zip des binaires sont dans 'archive' +bin & Programmes de la famille \TeX{}, rangs dans des + sous-rpertoires selon les plates-formes. \\ +% pas sur \CDinst +source & Le code source de tous les programmes, incluant la + distribution \Webc{} de \TeX{} et \MF{}. Il s'agit d'une archive au + format \texttt{tar}, compresse par bzip2. + % Ajout (df) + Faute de place, le rpertoire \texttt{source} + n'est pas sur le \CDinst{} (seulement sur le \DVDlive{}).\\ +setuptl & Programmes d'installation pour Windows et Linux. \\ +support & Ensemble d'extensions et programmes auxiliaires. Ils ne + sont \emph{pas} installs par dfaut. +% Faux (df) +% On y trouve \cmdname{Ghostscript}, \cmdname{netpbm} et un ensemble +% d'diteurs orients \TeX{}. +\\ +texmf & Rpertoire contenant les programmes et leur documentation. + Ne contient ni les formats ni les extensions + (appel \envname{TEXMFMAIN} dans la section suivante.) \\ +texmf-dist & Rpertoire principal o se trouvent les extensions, + les fontes, etc., avec leur documentation + (appel \envname{TEXMFDIST} dans la section suivante.) \\ +texmf-doc & Rpertoire contenant le reste de la documentation, + le sous-rpertoire doc est organis par langue. \\ +texmf-var & Rpertoire contenant les fichiers gnrs automatiquement + (appel \envname{TEXMFSYSVAR} dans la section suivante.) \\ +\end{tabular} +\endgroup + +\smallskip + +Le rpertoire \dirname{texmf-doc} ne contient que de la documentation +mais pas toute la documentation. Celle concernant les programmes (manuels, +pages \textit{man} et fichiers de type \textit{info} est dans +\dirname{texmf/doc} car les programmes correspondants sont dans +\dirname{texmf}. De mme, la documentation des extensions et formats +est dans \dirname{texmf-dist/doc}. Les commandes \cmdname{texdoc} ou +\cmdname{texdoctk} trouveront pour vous les documentations o quelles soient +sur le disque. % Bof... pas vrai chez moi (df) ? +Le fichier \OnCD{doc.html} du \DVDlive{} contient une liste de liens bien +utiles pour localiser les fichiers de documentation. + +On trouve galement, au mme niveau que les rpertoires mentionns ci-dessus, +les scripts d'installation et les fichiers \filename{README} (dans +diffrentes langues). + +\subsection{Description des arborescences texmf utilises} +\label{sec:texmftrees} + +Nous donnons ici la liste complte des variables prdfinies qui contiennent +les noms des diffrentes arborescences de type texmf et l'usage qui en est +fait. La commande \cmdname{texconfig conf} retourne les valeurs de ces +variables, ce qui permet de savoir o se trouvent ces diffrentes +arborescences dans une installation donne. + +\begin{ttdescription} +\item [TEXMFMAIN] contient les lments essentiels du systme, comme les + scripts (\cmdname{web2c/mktexdir}, etc.), les fichiers \file{.pool}, + etc. +\item [TEXMFDIST] contient les fichiers de macro (Plain, \LaTeX, \ConTeXt, + etc.,), les fontes, etc., de la distribution \TL. Rien ne devrait tre + ni ajout ni supprim dans cette arborescence. +\item [TEXMFLOCAL] c'est l que l'administrateur de la machine + place les classes et extensions locales, les fontes non disponibles + dans \TL, etc. +\item [TEXMFHOME] contient les fichiers personnels (extensions, classes, + fontes) de l'utilisateur ; ce rpertoire est sous \verb+$HOME+ % $ + par dfaut. La variable \envname{TEXINPUTS} ne devrait plus tre utilise. +\item [TEXMFCONFIG] c'est l que les scripts \cmdname{updmap} et + \cmdname{fmtutil} recherchent leurs fichiers de configuration en priorit. + \cmdname{texconfig} y place les versions modifies des fichiers de + configuration. Sous \verb+$HOME+ par dfaut. %$ +\item [TEXMFSYSCONFIG] c'est l que les scripts \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} recherchent leurs fichiers de configuration en + priorit. \cmdname{texconfig-sys} y place les versions modifies des + fichiers de configuration. +\item [TEXMFVAR] c'est l que les scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} rangent les formats et les fichiers + \file{.map} qu'ils produisent. Sous \verb+$HOME+ par dfaut. %$ +\item [TEXMFSYSVAR] c'est l que les scripts \cmdname{texconfig-sys}, + \cmdname{updmap-sys} et \cmdname{fmtutil-sys} rangent les formats et les + fichiers \file{.map} qu'ils produisent. +\end{ttdescription} + +Les possibilits offertes par \cmdname{texconfig} sont dcrites la + section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + + +\subsection{Les extensions de \TeX} +\label{sec:tex-extensions} + +\TL{} contient plusieurs extensions de \TeX{}. + +\begin{description} + +\item [\eTeX{}] \label{text:etex} ajoute un jeu, petit mais puissant, + de nouvelles + primitives et les extensions \TeXXeT{} pour l'criture de droite + gauche ; \eTeX{} est, en mode normal, 100\% compatible avec + \TeX{} standard. Pour plus de dtails consulter le + fichier \OnCD{texmf-dist/doc/etex/base/etex_man.pdf} du \DVDlive{}. + +\item [pdf\TeX{}] inclut les extensions \eTeX{} et produit, au choix, + des fichiers au format Acrobat \acro{PDF} ou au format \dvi{}. + Le manuel d'utilisation se trouve sur le \DVDlive{} + dans \OnCD{texmf/doc/pdftex/manual/}. Le fichier + \OnCD{texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex}\relax{} + donne un exemple d'utilisation. pdf\TeX{} est le moteur de base + sur lequel sont construits tous les formats autres que plain\TeX. + +\item [Xe\TeX] ajoute la possibilit d'utiliser le codage Unicode en entre + et les fontes OpenType en sortie, ceci grce des bibliothques + externes : voir \url{http://scripts.sil.org/xetex}. + +\item [\OMEGA{} (Omega)] fonctionne en utilisant Unicode et des + caractres 16 bits, ce qui lui permet de travailler directement et + simultanment avec presque toutes les critures du monde entier. + L'extension supporte aussi le chargement dynamique d'\acro{OTP} + (\OMEGA{} \emph{Translation Processes}) qui permet l'utilisateur + d'appliquer sur des flux d'entre quelconques des transformations + complexes qu'il aura lui-mme dfinies. Voir la documentation + (pas vraiment jour) dans \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. + +\item [Aleph] combine les fonctionnalits de \OMEGA\ et de \eTeX. + \OnCD{texmf-dist/doc/aleph/base} contient une documentation de base. + +\end{description} + +\subsection{Quelques autres programmes intressants + dans \TL} + +Voici quelques autres programmes couramment utiliss et prsents dans +\TL{} : + +\begin{cmddescription} + +\item [bibtex] Traitement de la bibliographie. + +\item [makeindex] Traitement des index. + +\item [dvips] Conversion \dvi{} vers \PS{}. + +\item [xdvi] Visualisation \dvi{} pour le systme X Window. + +\item [dvilj] Pilote \dvi{} pour les imprimantes HP LaserJet. + +\item [dv2dt, dt2dv] Conversion \dvi{} vers ou depuis du texte simple. + +\item [dviconcat, dviselect] Couper/Coller de pages partir de fichiers + \dvi{}. + +\item [dvipdfmx] Conversion \dvi{} vers \acro{PDF}, une autre approche que + celle de pdf\TeX\ (mentionn ci-dessus). Voir les extensions + \pkgname{ps4pdf} et \pkgname{pdftricks} pour d'autres alternatives. + +\item [psselect, psnup, \ldots] Utilitaires \PS{}. + +\item [lacheck] Vrification de syntaxe \LaTeX{}. + +\item [texexec] Processeur Con\TeX{}t et \acro{PDF}. + +\item [tex4ht] Conversion \TeX{} vers \acro{HTML}. + +\end{cmddescription} + + +\section{Utilisation sous Unix} +\label{sec:unix-install} + +Comme on l'a vu en section~\ref{sec:basic} \p.\pageref{sec:basic}, +le \TL{} peut tre utilis de trois faons principales : + +\begin{enumerate} +\item Excution directe depuis le \DVDlive. +\item Installation sur le disque dur. +\item Intgration d'un jeu de composants ou collections dans un systme +\TeX{} dj install. +\end{enumerate} + +\noindent +Les procdures spcifiques Unix sont dcrites pour chacun de ces cas +dans les sections qui suivent. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} + \textbf{ATTENTION : } Les \CD{} et le \DVD{} sont au format ISO~9660 + (High Sierra), avec les extensions \og Rock Ridge\fg{} (et \og Joliet\fg{} + pour Windows). Votre systme doit pouvoir reconnatre les + extensions \og Rock Ridge\fg{} pour une utilisation optimale de + \TL{}. Consultez votre documentation concernant la commande + \cmdname{mount} pour voir si c'est le cas. Si votre rseau local est + constitu de machines diffrentes, regardez + si vous pouvez monter les \CD{} sur une machine qui supporte + Rock Ridge et utiliser ce point de montage pour les autres machines. + +\leavevmode\quad +L'utilisation des \CD{} sur les systmes modernes +ne devrait pas poser de problmes. S'il y en avait, n'hsitez pas +nous le faire savoir. +La suite de ce document suppose que vous avez install et mont les + \CD{} avec une compatibilit Rock Ridge parfaite. +\end{warningbox} + +\ifSingleColumn\end{figure}\fi + +N.B. : les droits de \og root \fg{} sont souvent requis pour monter le \CD{}. +D'autre part, selon le type d'Unix utilis, il vous faudra probablement +connatre le mot de passe de \og root \fg{} ou tout au moins utiliser la +commande \cmdname{sudo} pour effectuer l'installation (le droit +d'criture sur le(s) rpertoire(s) d'installation est videmment +indispensable). Cette remarque concerne particulirement les utilisateurs de +\MacOSX{} qui nous recommandons de prendre d'abord connaissance de la +section~\ref{sec:mac-install} avant toute installation. + + +\subsection{Utiliser \TL{} partir du \DVDlive} + +La liste des architectures sur lesquelles fonctionne \TL{} est donne +page~\pageref{tab:archlist} (table~\ref{tab:archlist}). + +\def\runlive{% text repeated in windows section +On peut utiliser le systme \TeX{} directement depuis \DVDlive, +sans l'installer sur le disque dur (d'o en fait le nom \TL). +Il \emph{n'est pas possible} de faire tourner \TeX{} directement +depuis le \CDinst{} (voir section~\ref{sec:multiple-dist}, +page~\pageref{sec:multiple-dist}). +}% fin \runlive + +\def\startinst{% repeated in other subsections +Pour dmarrer, il faut d'abord \og monter \fg{} le mdium avec les +extensions Rock Ridge. +La commande exacte varie d'un systme l'autre ; la commande suivante +fonctionne sous Linux, mais les noms du priphrique (ici +\filename{/dev/cdrom}) et du point de montage (ici \dirname{/mnt/cdrom}) +peuvent changer. +\\ N.B. Tous nos exemples utilisent \texttt{>} pour les lignes de +commandes \textit{(shell prompt)} ; les commandes de l'utilisateur sont +\underline{soulignes}. +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Se placer au point de montage du lecteur : +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} +}% fin startinst + +\def\installtlsh{% repeated in other subsections +Lancer le script \filename{install-tl.sh} : +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent Aprs l'affichage de divers messages de bienvenue et une liste des +options du menu principal, l'installation rclame l'entre d'une commande. +Taper alors le caractre voulu suivi d'un retour-chariot. Ne pas taper les +chevrons (ni \texttt{<} ni \texttt{>}) ; on peut utiliser des majuscules ou +des minuscules ; ici, les exemples utilisent des minuscules. +}% fin \installtlsh + +\runlive +\startinst +\installtlsh + +Pour excuter \pkgname{live}, la premire commande est \Ucom{d} +suivie de la sous-commande \Ucom{1} pour choisir le rpertoire du disque +local o seront placs les fichiers (tels que les fontes et les formats) que +le systme \TeX{} gnre lui-mme ainsi que les fichiers de configuration si +besoin est. On utilisera \dirname{/opt/texlive2007} dans cet exemple, +mais un utilisateur non privilgi peut trs bien choisir un +sous-rpertoire non-existant de son rpertoire personnel (il sera cr +et ne contiendra donc que du matriel \TL{}). +tant donn que les fichiers crs ne sont pas toujours compatibles d'une +anne sur l'autre, il est recommand d'inclure l'anne dans le nom du +rpertoire. +Si la valeur par dfaut \dirname{/usr/local/texlive/2007} vous convient +(c.--d. que \dirname{/usr/local/texlive/2007} n'est pas un rpertoire +existant et que vous avez les droits pour crire sous \dirname{/usr/local}), +vous pouvez sauter cette tape. +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2007 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/2007]: \Ucom{/opt/texlive2007} +... +Enter command: \Ucom{r} +\end{alltt} + +Retour au menu principal. La seconde (et dernire) commande est +\Ucom{r} +pour faire tourner \pkgname{live} partir du \DVD{} sans pour autant +l'installer sur le disque dur : + +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live! +> +\end{alltt} + +On se retrouve au niveau de la ligne de commande +comme on vient de le voir. + +Il faut maintenant modifier les deux variables +d'environnement \envname{PATH} et \envname{TEXMFSYSVAR} comme indiqu + l'cran quelques lignes au dessus de \og Welcome to TeX Live!\fg. +La syntaxe dpend du \textit{shell} utilis. Les syntaxes +prcises sont affiches pour les \textit{shell} de type Bourne ou compatible +(\cmdname{bash}, \cmdname{sh} \cmdname{ksh}, etc.) et pour les +\textit{C~shells} (\cmdname{csh}, \cmdname{tcsh}). +Rappelons qu'il suffit de taper la commande \verb+echo $SHELL+ %$ +pour connatre le nom du \textit{shell} utilis. +Le plus simple est de recopier par copier-coller, soit les deux lignes +commenant par \og\cmdname{setenv}\fg{} pour les \textit{C~shells}, +soit les trois lignes \og\envname{PATH=}\fg, \og\envname{TEXMFSYSVAR=}\fg, +\og\envname{export ...}\fg{} pour les \textit{shell} de type Bourne +(suivies d'un retour-chariot) dans le terminal de commandes. + +Ceci suffit pour pouvoir utiliser la distribution \TL{} +pendant toute la session. +Pour ne pas avoir redfinir \envname{PATH} et \envname{TEXMFSYSVAR} + chaque nouvelle connexion, il suffit d'entrer les mmes commandes + l'aide d'un diteur dans le fichier d'initialisation du \textit{shell} +(\file{.bash\_profile}, \file{.profile} ou \file{.cshrc} +selon le cas). +L'initialisation se fera ensuite automatiquement au dbut de chaque nouvelle +session. + +\def\textruntexconfig{% + Une fois l'installation termine et les variables d'environnement + initialises, la dernire tape consiste excuter \cmdname{texconfig} ou + \cmdname{texconfig-sys} pour ventuellement modifier certains paramtres. + Ceci est expliqu la section~\ref{sec:texconfig}, + \p.\pageref{sec:texconfig}.% +} +\textruntexconfig + +\def\textifindoubt{% +Passez maintenant la section~\ref{sec:test-install} pour effectuer +quelques tests de bon fonctionnement. + +En cas de doute, n'hsitez pas contacter un gourou systme pour +vous aider rsoudre vos problmes, tels que la faon de monter le + mdium \TL{}, le choix des rpertoires utiliser ou les modifications + apporter dans vos fichiers d'initialisation. +}%fin textifindoubt +\textifindoubt + +\subsection{Installer \TL{} sur le disque} +\label{sec:unix-install-disk} + +Il est possible, et mme habituel, d'installer le systme \TeX{} +partir du \TL{} sur le disque (\og dur\fg{}). +Ceci peut se faire en utilisant soit le \DVDlive, soit le \CDinst +(voir section~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist} +pour des explications sur les diffrentes distributions). + +\startinst +\installtlsh + +La table~\ref{tab:main-menu-options} donne la liste des options du menu +principal. On peut choisir les options dans n'importe quel ordre, mais +\Ucom{i} doit tre la dernire choisie. Il est cependant raisonnable de +procder dans l'ordre o elles apparaissent ici ! + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Options d'installation du menu principal} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & plate-forme que vous utilisez\\ +b & choix des binaires installer (architectures multiples)\\ +s & \emph{schma d'installation} de base + (complet, recommand, GUTenberg, etc.).\\ +c & modifier le choix des collections individuelles\\ +l & modifier le choix des langues installer\\ +d & rpertoire o faire l'installation\\ +o & autres options\\ +i & lancer l'installation\\ +\end{tabular} +\end{table} + +Voici quelques prcisions sur chaque option. + +\begin{description} + +\item[\optname{p} -- Platform (current).] Plate-forme utilise.\\ +Le script d'installation dtecte automatiquement la plate-forme +sur laquelle il tourne, il est en gnral inutile de modifier cette option, +sauf en cas d'erreur. + +\item[\optname{b} -- Binary architectures.] Binaires pour d'autres +architectures.\\ +Par dfaut, seuls les binaires pour votre plate-forme seront installs. +l'aide de ce menu-ci, il est possible de choisir d'installer aussi les +binaires pour d'autres plates-formes (ou de ne pas installer pour la +plate-forme courante). C'est utile si on partage un arbre \TeX\ +au travers d'un rseau de machines htrognes. +La table~\ref{tab:archlist} ci-dessous donne la liste des architectures +pour lesquelles des binaires sont disponibles. + +\begin{table*}[!ht] +%\captionsetup{margin=5mm,justification=centerfirst} +\caption{Les binaires sont disponibles pour les architectures suivantes.} +\label{tab:archlist} +%(df) vrifier la liste finale +\begin{tabular}{>{\hspace*{15mm}\ttfamily}lll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%hppa2.0-hpux10.20 & HP9000 HPUX 10.20 \\ +i386-darwin & Intel x86 \MacOSX \\ +i386-freebsd & Intel x86 FreeBSD \\ +i386-linux & Intel x86 GNU/Linux \\ +%i386-openbsd3.3 & Intel x86 OpenBSD \\ +%i386-solaris2.8 & Intel x86 Solaris \\ +mips-irix & SGI IRIX \\ +powerpc-aix & IBM RS/6000 AIX \\ +powerpc-darwin & PowerPC \MacOSX \\ +sparc-linux & Sun Sparc GNU/Linux \\ +sparc-solaris & Sun Sparc Solaris \\ +win32 & Windows (32-bit) \\ +x86\_64-linux & Intel x86 64-bit GNU/Linux \\ +% \\ \hline +\end{tabular} +\end{table*} + +\item[\optname{s} -- Base Installation scheme.] +Schma d'installation de base.\\ +Ce menu permet de choisir un type d'installation plus ou moins complet. +L'option par dfaut (\optname{full}) installe tout, c'est un bon choix si +l'espace disque n'est pas limit. Les francophones prfreront peut-tre +le schma \acro{GUT}enberg, mais on peut choisir un ensemble minimal +(\optname{basic}) pour conomiser de la place sur le disque. On trouve +aussi des ensembles spcifiques pour Omega ou pour les utilisateurs +d'\acro{XML}. + +\item[\optname{c} -- Individual collections.] Collections individuelles.\\ +Ce menu permet d'ajouter ou de supprimer des collections +parmi celles retenues par le schma choisi ci-dessus. +Chaque collection\Dash fichiers de macros TeX, familles de fontes Metafont, +etc.\Dash{} est forme de plusieurs composants. +Attention, le programme diffrencie les lettres minuscules +des lettres capitales pour les touches de slection. + +\item[\optname{l} -- Language collections.] Collections de langues.\\ +Ce menu fonctionne comme celui de \Ucom{c} pour modifier +le choix des langues installer. +Attention, le programme diffrencie les lettres minuscules +des lettres capitales pour les touches de slection. + +Voici la liste des collections de langues du \TL{} +(on garde ici les noms anglais des options qui sont ceux du systme !) : + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.20\linewidth} \= +\hspace{.20\linewidth} \= +\hspace{.35\linewidth} \kill +African \textit{(qq scripts)} \> +Arabic \> +Armenian \> +Chinese\,Japanese\,Korean \\ +Croatian \> +Cyrillic \> +Czech/Slovak \> +Danish \\ +Dutch \> +Finnish \> +French \> +German \\ +Greek \> +Hebrew \> +Hungarian \> +Indic \\ +Italian \> +Latin \> +Manju \> +Mongolian \\ +Norwegian \> +Polish \> +Portuguese \> +Spanish \\ +Swedish \> +Tibetan \> +\acro{UK} English \> +Vietnamese \\ +\end{tabbing} + +\noindent Les collections de langues comprennent normalement des fontes, +macros, motifs de csure et autres fichiers. Par exemple, +\pkgname{frenchle.sty} est install lorsqu'on slectionne la collection +\optname{French}. Par ailleurs, l'installation d'une langue de la collection +modifie le fichier de configuration \filename{language.dat} qui contrle +quelles divisions (ou coupures de mots) sont charges. + +\item[\optname{d} -- Installation directories] Choix des +rpertoires d'installation.\\ \label{text:instdir} +Ceci concerne les trois rpertoires suivants : + +\begin{ttdescription} +\item [TEXDIR] +Rpertoire de plus haut niveau sous lequel tout le reste sera install, +la valeur par dfaut est \dirname{/usr/local/texlive/2007}. +Il est conseill de faire figurer l'anne dans le nom choisi, de faon +pouvoir conserver sparment plusieurs versions de \TL. +L'ajout d'un lien symbolique +\dirname{/usr/local/texlive/current} qui pointe vers la version utiliser +facilitera grandement le basculement d'une version + l'autre et le retour l'ancienne version en cas de problme. + +Sous \MacOSX, les interfaces utilisateurs recherchent \TeX{} +dans \dirname{/usr/local/teTeX} ; plutt que d'installer la distribution \TL{} +dans ce rpertoire, on pourra faire l'installation par dfaut +(dans \dirname{/usr/local/texlive/2007} donc) et ajouter deux liens +symboliques : \dirname{current} qui pointe vers \dirname{2007} et +\dirname{teTeX} qui pointe vers \dirname{current}. Pour cela il suffit de +taper les deux commandes suivantes dans un terminal : +\begin{alltt} +> \Ucom{(cd /usr/local/texlive ; ln -s ./2007 ./current)} +> \Ucom{(cd /usr/local ; ln -s ./texlive/current teTeX)} +\end{alltt} + +\item [TEXMFLOCAL] +C'est dans cette arborescence que doivent tre placs les fichiers +non fournis par \TL{}. +La valeur par dfaut est \dirname{/usr/local/texlive/texmf-local}. +C'est l'endroit recommand pour y mettre les classes et les fichiers de style +locaux, les fontes (par exemple commerciales) non disponibles +sur \TL{} ainsi que les paramtres de configuration locaux. + +\item [TEXMFSYSVAR] +C'est dans cette arborescence que les scripts \cmdname{texconfig-sys}, +\cmdname{fmtutil-sys}, \cmdname{updmap-sys} installent les fichiers qui +sont spcifiques la version, notamment les fichiers de format. +La valeur par dfaut est \dirname{TEXDIR/texmf-var}, il n'y a en +gnral aucune raison de la changer. +Les fichiers configuration modifiables par \cmdname{texconfig-sys} (voir +section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}), comme +\filename{fmtutil.cnf} et \filename{updmap.cfg}, sont eux dans +\envname{TEXMFSYSCONFIG}. +\end{ttdescription} + +\item[\optname{o} -- Other Options.] +Ce menu permet de choisir les options suivantes : + +\begin{ttdescription} +\item [a] Pour spcifier un autre rpertoire pour les fontes gnres. +La valeur par dfaut utilise l'arborescence \envname{TEXMFVAR}, comme on +l'a dit plus haut. +Si vous voulez que l'arborescence principale soit accessible en lecture +uniquement, cette option permet de choisir une autre localisation +(qui doit bien sr tre accessible en lecture-criture pour tous) +pour ranger les fontes cres dynamiquement. + +\item [l] Pour crer des liens symboliques pour les binaires, +la documentation \textit{(man pages)} ou les fichiers Info \acro{GNU}. +Par exemple, on peut dsirer rendre la documentation de type \textit{man} +accessible depuis \dirname{/usr/local/man} et les fichiers Info +depuis \dirname{/usr/local/info} (il faut alors bien sr avoir les droits +d'criture dans les rpertoires spcifis). + +En revanche, il est dconseill d'utiliser cette option pour les binaires. +Rendre les binaires \TL{} accessibles depuis \dirname{/usr/local/bin} +risque de masquer dfinitivement, y compris pour \textit{root}, les +binaires \TeX\ fournis en standard sur la plate-forme. +Sous Linux par exemple, \textit{root} doit utiliser par dfaut les binaires +\teTeX{} fournis avec la distribution installe (Debian, Mandrake, RedHat, +etc.) et non ceux fournis par \TL. + +\item [d] Pour ne pas installer l'arborescence de la documentation +sur les fontes et les macros. Utile pour conomiser de l'espace +disque ou bien si la documentation a t installe auparavant un +autre emplacement. + +\item [s] Pour ne pas installer l'arborescence des fichiers source. +Ceci peut tre utile si cette arborescence est commune +diffrentes machines ou architectures, (partage par \acro{NFS} ou +\cmdname{automount} par exemple). + +\end{ttdescription} + +\item[\optname{i} -- Perform Installation.] Installer.\\ +Quand les options de configuration sont satisfaisantes, on peut taper +\Ucom{i} pour lancer effectivement l'installation. + +\end{description} + +Lorsque l'installation est termine, l'tape suivante consiste inclure dans +la variable \envname{PATH} des usagers (autres que \textit{root} +cf. ci-dessus) le sous-rpertoire de \dirname{TEXDIR/bin} spcifique +l'architecture de faon que les programmes nouvellement installs puissent +tre trouvs. Le tableau~\ref{tab:archlist} (page~\pageref{tab:archlist}) +donne la liste des noms des architectures ; on peut aussi lister le contenu de +\dirname{TEXDIR/bin} pour dterminer le nom du sous-rpertoire de +\dirname{TEXDIR/bin} inclure en tte de \envname{PATH}. + +\label{text:path} +La syntaxe de cette commande et le fichier d'initialisation utiliser +dpendent du systme utilis. Pour un \textit{shell} Bourne ou +compatible (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, etc.), il +faut mettre dans le fichier \filename{$HOME/.profile}% %$ +\footnote{Pour les utilisateurs qui possdent un fichier + \filename{$HOME/.bash_profile}, c'est dans ce dernier qu'il faut redfinir + la variable \envname{PATH}, car pour eux, \filename{$HOME/.profile} est + sans effet.} +des futurs utilisateurs de \TL{} : +\begin{alltt} +PATH=/\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH; export PATH +\end{alltt} + +\noindent +et pour un \textit{C~shell} (\cmdname{csh}, \cmdname{tcsh}), +mettre dans le fichier \filename{$HOME/.cshrc} : +\begin{alltt} +setenv PATH /\Ucom{\emph{TEXDIR}}/bin/\Ucom{\emph{archname}}:$PATH +\end{alltt} %$ + +Sous \MacOSX{} ceci se peut se faire de la manire suivante, qui vite d'avoir + ouvrir un diteur sur un fichier cach : +on redevient utilisateur de base, on se place dans son rpertoire personnel, +en tapant dans le Terminal +\begin{alltt} +> \Ucom{exit ; cd} +\end{alltt} +On vrifie quel est le \textit{shell} utilis en tapant +\begin{alltt} +> \Ucom{echo $SHELL} +\end{alltt} %$ +Si la rponse est \filename{bash} (ou \filename{sh}) le fichier modifier est +\file{.profile}, si c'est \filename{tcsh} (ou \filename{csh}) +le fichier modifier est \file{.cshrc}.\\ +Cas de \filename{bash} : on tape dans le terminal\footnotemark{} +\addtocounter{footnote}{-1} +\begin{alltt} +> \Ucom{touch .profile} +> \Ucom{echo "export PATH=/usr/local/texlive/2007/bin/powerpc-darwin:$PATH" >> .profile} +> \Ucom{source .profile} +\end{alltt} %$ +Cas de \filename{tcsh} : on tape dans le terminal% +\footnote{Cet exemple suppose qu'on a fait l'installation dans +\dirname{/usr/local/texlive/2007} et que processeur est un Motorola, sinon il +faut adapter \envname{PATH} en consquence (changer \dirname{powerpc-darwin} +en \dirname{i386-darwin} pour les Mac base de processeur Intel).} +\begin{alltt} +> \Ucom{touch .cshrc} +> \Ucom{echo "setenv PATH /usr/local/texlive/2007/bin/powerpc-darwin:$PATH" >> .cshrc} +> \Ucom{source .cshrc} +\end{alltt} %$ +La mise jour de la variable \envname{PATH} est termine. + +\medskip +Voici un court exemple qui slectionne une installation complte avec +les binaires du systme actuel seulement (on accepte tous les choix par +dfaut). Les \acro{RETURN} sont omis ici. + +% Respecter les espaces pour aligner les # !!! +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # lancer l'installation +# Redevenir utilisateur de base (non root) +> \Ucom{exit ; cd} +# Nouveau PATH (sous Linux, SHELL=bash, compte avec fichier \file{.bash_profile}) : +> \Ucom{echo "export PATH=/usr/local/texlive/2007/bin/i386-linux:$PATH" >> .bash_profile} +> \Ucom{source .bash_profile} # faire prendre en compte le nouveau PATH +\end{alltt} %$ + +Si votre systme Unix connat la commande \cmdname{manpath} (essayez en tapant +\code{man manpath} dans un terminal), vous pourrez accder la documentation +de \TL{} grce la commande \cmdname{man} en ajoutant la ligne suivante +(en adaptant les chemins ventuellement) dans +le fichier \filename{/etc/manpath.config} (ceci ncessite les droits de +\textit{root}) : +\begin{alltt} +MANPATH_MAP /usr/local/texlive/2007/bin/i386-linux /usr/local/texlive/2007/texmf/doc/man +\end{alltt} + + +\textruntexconfig + +\medskip %J.A. + +\textifindoubt + + +\subsubsection{Installation non interactive } +\label{sec:noninteractive-install} + +Lorsqu'on doit dupliquer la mme installation sur plusieurs machines, il +peut tre fastidieux de devoir rpondre chaque fois la mme liste de +questions. Une installation personnalise automatique est possible. + +Exemple : pour raliser une installation standard de \TL{} sous +\dirname{/opt/texlive} plutt que sous \dirname{/usr/local/texlive}, +il suffit d'excuter les trois commandes suivantes : +\begin{alltt} +> \Ucom{TEXLIVE_INSTALL_PREFIX=/opt/texlive} +> \Ucom{export TEXLIVE_INSTALL_PREFIX} +> \Ucom{echo i | sh install-tl.sh} +\end{alltt} + +L'argument \og\texttt{i}\fg{} pass au script d'installation sert lancer +l'installation (en mode interactif, on taperait \texttt{i} au clavier). + +Cinq variables d'environnement permettent de choisir o aura lieu +l'installation : +\begin{ttdescription} +\item [TEXLIVE\_INSTALL\_PREFIX] + remplace \dirname{/usr/local/texlive}. +\item [TEXLIVE\_INSTALL\_TEXDIR] + remplace \dirname{/usr/local/texlive/2007}. +\item [TEXLIVE\_INSTALL\_TEXMFLOCAL] + remplace \dirname{/usr/local/texlive/texmf-local}. +\item [TEXLIVE\_INSTALL\_TEXMFSYSVAR] + remplace \dirname{/usr/local/texlive/2007/texmf-var}. +\item [TEXLIVE\_INSTALL\_TEXMFHOME] + remplace \dirname{$HOME/texmf}. %$ +\end{ttdescription} + +\enlargethispage*{\baselineskip} +Pour raliser une installation personnalise, il est facile d'crire un petit +script qui passe les arguments adquats la commande \cmdname{install-tl.sh} ; +par exemple pour une installation selon le schma Gutenberg, avec comme langues +supplmentaires l'espagnol et l'anglais britannique, placer sous +\dirname{/opt/texlive}, on pourrait lancer (sous root, en supposant que +le SHELL est \cmdname{sh} ou \cmdname{bash} le script suivant : +\begin{verbatim} +TEXLIVE_INSTALL_PREFIX=/opt/texlive +export TEXLIVE_INSTALL_PREFIX +sh install-tl.sh <<EOI +s +e +l +A +D +r +i +EOI +\end{verbatim} +les lettres figurant entre \verb+<<EOI+ et \verb+EOI+ tant exactement +celles entres (dans le mme ordre) lors d'une installation interactive. + +Une autre solution (meilleure ?) consisterait utiliser un fichier +\filename{configure} la mode \acro{GNU}\dots{} Les volontaires +pour travailler dans cette direction sont les bienvenus ! + +% +\subsection{Ajouter des composants une installation} + +On peut ajouter des composants individuels ou des collections de la +distribution actuelle une distribution autre que \TL{} ou + une installation plus ancienne de \TL{}. Ceci peut se faire soit partir +du \DVDlive{} soit partir du \CDinst{}. + +%\startinst +Pour dmarrer, il faut d'abord \og monter \fg{} le mdium avec les +extensions Rock Ridge. +La commande exacte varie d'un systme l'autre ; la commande suivante +fonctionne sous Linux, mais les noms du priphrique (ici +\filename{/dev/cdrom}) et du point de montage (ici \dirname{/mnt/cdrom}) +peuvent changer. +\\ N.B. Tous nos exemples utilisent \texttt{>} pour les lignes de +commandes \textit{(shell prompt)} ; les commandes de l'utilisateur sont +\underline{soulignes}. +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Se placer au point de montage du lecteur : +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +Lancer le script \filename{install-pkg.sh} (et non +\filename{install-tl.sh} qui n'est destin qu' l'installation complte) : + +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +Le premier jeu d'options permet de choisir ce qui sera install : + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] Le composant individuel installer. + +\item [-{}-collection=\var{colname}] La collection individuelle installer. + +\item [-{}-nodoc] Ne pas installer les fichiers de documentation pour +cette opration. + +\item [-{}-nosrc] Ne pas installer les fichiers source pour cette opration. + +\item [-{}-cddir=\var{dir}] Rpertoire source d'o on lit ; +par dfaut le rpertoire courant. Si on a suivi les instructions ci-dessus, +il n'a pas besoin d'tre modifi. + +\item [-{}-listdir=\var{dir}] +Ce qu'on appelle \og rpertoire des listes\fg{} dans \var{cddir} +d'o on lira l'information sur le composant. +Si on a suivi les instructions ci-dessus, il n'y a pas besoin de le modifier. + +\end{ttdescription} + +La suite des oprations est contrle par les options dcrites ci-dessous. +Si aucune n'est spcifie, par dfaut on installe les fichiers spcifis. +L'arborescence principale de destination est +le rpertoire pre du rpertoire \dirname{bin} affich par la commande +\cmdname{which tex}. +On peut la modifier en changeant les variables d'environnement +\envname{TEXMFMAIN} ou \envname{TEXMF}. + +\begin{ttdescription} + +\item [-{}-listonly] Liste les fichiers installer mais n'installe + rien du tout ! + +\item [-{}-archive=\var{tarfile}] Au lieu d'installer les fichiers + dans le systme \TeX{}, cre une archive \cmdname{tar}. + +\end{ttdescription} + +Options additionnelles : + +\begin{ttdescription} + +\item [-{}-config] Aprs l'installation, excuter \code{texconfig init}. + +\item [-{}-nohash] Aprs installation, ne pas lancer \cmdname{mktexlsr} +pour reconstruire la base de donnes des noms de fichiers. +\item [-{}-verbose] Donner plus d'informations durant l'excution des scripts. +\end{ttdescription} + +Voici quelques exemples d'utilisation : + +\begin{enumerate} + +\item Voir les fichiers du composant \pkgname{fancyhdr} sans l'installer : + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=fancyhdr --listonly} +\else> \Ucom{sh install-pkg.sh --package=fancyhdr \bs} +> \Ucom{--listonly} +\fi{} +texmf-dist/doc/latex/fancyhdr/README +texmf-dist/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} + +\item Installer le composant \LaTeX{} \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Installer le composant + \LaTeX{} \pkgname{alg} sans les sources ni la documentation : + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=alg --nosrc --nodoc} +\else> \Ucom{sh install-pkg.sh -{}-package=alg \bs} +> \Ucom{-{}-nosrc -{}-nodoc} +\fi\end{alltt} + +\item Installer tous les composants dans la collection de macros + additionnelles de plain \TeX\ : +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item +Faire une archive \cmdname{tar} dans \path{/tmp} contenant tous les +composants +de \pkgname{pstricks} : +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh --package=pstricks --archive=/tmp/pstricks.tar} +\else +> \Ucom{sh install-pkg.sh -{}-package=pstricks \bs} +> \Ucom{-{}-archive=/tmp/pstricks.tar} +\fi\end{alltt} + +\end{enumerate} + +\textifindoubt + +% +\section{ faire aprs l'installation} +\label{sec:postinstall} + +Une fois l'installation termine il faut, quel que soit le systme, +configurer le systme pour certains besoins locaux et +faire des tests de base. + +Cette phase de post-installation comprend ventuellement la prise en compte de +composants, fontes ou de programmes qui n'taient pas inclus dans \TL{}. +L'ide de base est de faire les ajouts dans l'arborescence +\envname{TEXMFLOCAL} (si vous avez install depuis le disque) +ou dans \envname{TEXMFSYSVAR} (si vous excutez depuis le disque) ; +voir \og rpertoires d'installation\fg{} en page~\pageref{text:instdir}. + +Bien sr, les dtails varient d'un cas l'autre et nous n'essayerons +donc pas de les traiter ici. Voici quelques pointeurs consulter : +\begin{itemize} +\item +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages} +\item +\url{http://www.ctan.org/installationadvice} +\item +\url{http://www.ctan.org/tex-archive/info/beginlatex/html/chapter5.html#pkginst} +\item +\url{http://www.ctan.org/tex-archive/info/Type1fonts} sur l'installation +de fontes. +\end{itemize} + +\subsection{Le programme \protect\cmdname{texconfig}} +\label{sec:texconfig} + +Vous pouvez utiliser le programme \cmdname{texconfig} n'importe quand aprs +votre installation pour reconfigurer votre systme +de faon satisfaire les besoins locaux. +Il peut tre ncessaire de l'excuter au moins une fois juste aprs +l'installation si les valeurs par dfaut de certains paramtres ne vous +conviennent pas. +Ce programme est install avec les autres sous le rpertoire propre +votre architecture \texttt{TEXDIR/bin/\var{archname}}, si vous n'avez pas +modifi le \envname{PATH} de \textit{root}, il faudra le lancer +(sous \textit{root}) avec son chemin complet. + +Si on le lance sans arguments, il entre en mode plein-cran et on peut +alors voir et modifier interactivement les paramtres. + +On peut aussi le lancer avec diverses options. Voici les plus courantes +(la distribution \TL{} est configure pour utiliser du papier~A4 par dfaut) : + +\begin{ttdescription} + +\item [texconfig paper letter] +Mettre la taille par dfaut du papier \textit{letter} pour les pilotes +\cmdname{pdftex}, \cmdname{dvips}, \cmdname{dvipdfm}, \cmdname{xdvi}, etc. + +\item [texconfig rehash] Mettre jour toutes les bases de donnes des +fichiers du systme \TeX{} ( faire aprs tout ajout ou suppression de +fichier). + +\item [texconfig faq] Afficher la \acro{FAQ} sur \teTeX{}. +(voir aussi la \acro{FAQ} principale de \TeX{} dans +\OnCD{texmf-doc/doc/english/FAQ-en} sur le \DVDlive{}). + +\item [texconfig help] Obtenir de l'aide sur la commande \cmdname{texconfig}. + +\end{ttdescription} + +Bien sr, \cmdname{texconfig} ne permet de changer que certaines des +nombreuses options et paramtres de configuration d'un systme \TeX{}. +Le fichier principal de configuration pour les programmes de la base +\Webc{} s'appelle \filename{texmf.cnf}. ; on peut trouver son emplacement +en excutant \samp{kpsewhich texmf.cnf}. Ce fichier contient de nombreux +commentaires expliquant les options par dfaut et la signification des +paramtres, sa lecture est recommande. + +Depuis 2005, la commande \cmdname{texconfig} \emph{ne modifie plus les +fichiers de configuration de la machine}, mais ceux de l'utilisateur qui la +lance ; ces fichiers sont dans le rpertoire \dirname{$HOME/.texlive2007} %$ +de l'utilisateur. + +De mme, les commandes \cmdname{updmap} et \cmdname{fmtutil} +oprent maintenant au niveau de l'utilisateur dans le rpertoire +\dirname{$HOME/.texlive2007} %$ + +\textbf{Important : machines multi-utilisateurs}. Les administrateurs +installant \TL{} sur une machine multi-utilisateurs devront dornavant +utiliser les commandes \cmdname{texconfig-sys}, \cmdname{updmap-sys} et +\cmdname{fmtutil-sys} pour respectivement modifier la configuration, mettre +jour les fichiers \file{.map} et crer les formats \emph{au niveau de la + machine}. Noter qu'aucun format n'est cr l'installation, ils sont +fabriqus la demande ; depuis cette anne, le format cr par un utilisateur +l'est uniquement pour lui (il est mis dans \dirname{$HOME/.texlive2007}). %$ +Afin d'viter la multiplication de fichiers de formats, il y a donc lieu crer +au moins les formats les plus utiliss au niveau du systme la fin de +l'installation par la commande \cmdname{fmtutil-sys}. Le plus simple est de +les crer tous (c.--d. ceux qui figurent dans le fichier fmtutil.conf) par +\begin{alltt} +> \Ucom{fmtutil-sys --all} +\end{alltt} +De plus, ceux qui ont des fichiers de configuration spcifiques +\filename{fmtutil.cnf} ou \filename{updmap.cfg} devront les placer +dans l'arborescence pointe par la nouvelle variable +\envname{TEXMFSYSCONFIG}, +faute de quoi ces fichiers ne seront pas trouvs par les scripts +\cmdname{fmtutil-sys} et \cmdname{updmap-sys}. +Si les fichiers \filename{fmtutil.cnf} et \filename{updmap.cfg} propres la +machine sont, par exemple, dans \envname{\$TEXMFLOCAL}, +rien n'empche de dfinir \envname{TEXMFSYSCONFIG} comme +\envname{\$TEXMFLOCAL}, +mais il faut le faire explicitement dans le fichier \filename{texmf.cnf}. + +Rappelons que la commande \cmdname{texconfig conf} retourne les valeurs des +variables \envname{TEXMFSYSCONFIG}, \envname{TEXMFLOCAL}, etc., et que +l'utilisation des diffrentes arborescences texmf a t dcrite la +section~\ref{sec:texmftrees} \p.\pageref{sec:texmftrees}. + + +\subsection{Tester l'installation} +\label{sec:test-install} + +Une fois l'installation de \TL{} termine, il faut +la tester avant de crer des documents ou des fontes. +Les tests doivent tre faits par un utilisateur non privilgi +(autre que \textit{root}). + +On donne ici quelques procdures de base pour vrifier que le nouveau +systme est oprationnel. On les dcrit pour Unix ; pour \MacOSX{} ou +Windows, il vaut mieux tester au travers d'une interface graphique, +mais les principes sont les mmes. + +\begin{enumerate} + +\item +S'assurer en premier lieu que le programme \cmdname{tex} fonctionne : + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} + +Si on rcupre un \textit{command not found} au lieu d'informations +comme le numro de version et le copyright, il est fort probable que +vous n'avez pas le bon rpertoire \dirname{bin} dans votre +\envname{PATH}. +Voir les informations sur l'environnement page~\pageref{text:path}. + +\item Traiter un fichier \LaTeX{} simple : + +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7496 bytes). +Transcript written on sample2e.log. +\end{alltt} +Si a choue en cherchant \filename{sample2e.tex} ou d'autres fichiers, +il y a peut-tre des interfrences entre vos anciennes variables +d'environnement ou fichiers de configuration. Pour analyser en dtail +votre problme, vous pouvez demander \TeX{} de dire exactement ce +qu'il cherche et trouve ; voir \og Actions de dbogage \fg{} +page~\pageref{Debugging}. + +\item Prvisualiser les rsultats en ligne : +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Sous Windows, la commande quivalente est \cmdname{dviout}. +Une nouvelle fentre doit s'ouvrir et montrer un document expliquant les +bases de \LaTeX{} (document lire d'ailleurs si vous tes dbutant !). +Vous devez tourner sous X pour que \cmdname{xdvi} fonctionne. Sinon, votre +variable d'environnement \envname{DISPLAY} n'est pas correcte et vous +aurez une erreur \samp{Can't open display}. + +\item Crer un fichier \PS{} pour l'imprimer ou l'afficher : + +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Crer un fichier \acro{PDF} au lieu de \dvi{} ; +cet exemple traite le fichier \filename{sample2e.tex} et cre directement +du \acro{PDF} : + +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Prvisualiser le fichier \acro{PDF} : + +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{ou} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} + +Hlas, ni \cmdname{gv} ni \cmdname{xpdf} ne sont actuellement inclus dans +\TL{}, aussi devez-vous les installer sparment si ce n'est dj fait. +Voir respectivement +\url{http://www.gnu.org/software/gv} et +\url{http://www.foolabs.com/xpdf}. + +\item Autres fichiers de tests utiles : + +\begin{ttdescription} + +\item [small2e.tex] Un document plus simple compiler que +\filename{sample2e} si celui-ci pose des problmes. + +\item [testpage.tex] Teste que l'imprimante n'introduit pas de dcalages. + +\item [nfssfont.tex] Imprime des tables de fontes et des tests. +\item [testfont.tex] Aussi pour les tables de fontes, mais en (plain) \TeX. +\item [story.tex] Le fichier de test de (plain) \TeX{} le plus canonique +de tous. Il faut taper \samp{\bs bye} la commande \code{*} aprs +\samp{tex story.tex}. + +\end{ttdescription} +Pour excuter ces tests procder comme on l'a fait pour +\filename{sample2e.tex}. + +\end{enumerate} + +Si vous tes dbutant ou si vous avez besoin d'aide pour raliser des +documents \TeX{} ou \LaTeX{}, n'hsitez pas consulter +\url{http://tug.org/begin.html}. +On vous recommande galement l'introduction \LaTeX{} de Tobias Oetiker +dans sa version anglaise (la version franaise n'est plus jour) +disponible aprs installation sous +\url{texmf-doc/doc/english/lshort-english/lshort.pdf}. + + +\section{Installation pour \MacOSX} +\label{sec:mac-install} + +\TL{} traite \MacOSX, mais pas les versions antrieures des Macintosh. + +On peut installer \TeX{} sous \MacOSX{} de deux faons : + +\begin{enumerate} + +\item Utiliser la nouvelle distribution, appelle Mac\TeX{}, disponible + depuis l'dition 2005 sur le \DVDlive ; elle se trouve dans le rpertoire + \dirname{mactex/}, voir section~\ref{sec:mactex}. C'est la mthode + \emph{vivement recommande}, car l'installation est trs simple. + +\item Utiliser les commandes \filename{install*} comme pour Unix (lire d'abord + la section~\ref{sec:osx-unix-inst} ci-dessous pour les spcificits \MacOSX{} +puis la section~\ref{sec:unix-install}). Cette mthode offre plus de choix +quant ce qui sera install mais droute bien des utilisateurs de Macintosh +(ceux qui rpugnent taper des commandes dans un Terminal). + +\end{enumerate} + +\noindent Par ailleurs, l'utilisation de \TeX{} sous \MacOSX{} se fait +normalement par le biais d'une interface graphique (\emph{frontend}), +comme expliqu ci-dessous la section~\ref{sec:interf-graph-macosx}. + +\subsection{Installation de Mac\TeX} +\label{sec:mactex} + +La distribution Mac\TeX{} est une variante de \TL{} complte par de +nombreuses applications et de la documentation spcifique. +Elle dispose de son propre installeur intgr. + +Le site de rfrence pour Mac\TeX{} est \url{http://tug.org/mactex}. + +\subsection{\protect\cmdname{install*.sh} : installation depuis \TL{}} +\label{sec:osx-unix-inst} + +Le systme \MacOSX{} est un Unix (presque) comme les autres, mais Apple +cache soigneusement ce fait, ce qui ne facilite pas l'installation de +logiciels comme \TL{}. + +Nous allons essayer de dcrire en dtail la procdure d'installation. +La premire chose faire est d'ouvrir une fentre \og Terminal \fg{}. +L'application \og Terminal\fg{} se trouve dans le rpertoire +/Applications/Utilitaires, elle est accessible partir du menu +principal en haut de l'cran. + +Ensuite, nous allons vrifier si l'interprteur de commandes +(ou \textit{shell} en anglais) \cmdname{bash} est prsent ou non. +Pour cela, taper dans la fentre \og Terminal \fg{} la commande suivante : +\begin{alltt} +> \Ucom{which bash} +\end{alltt} +Si le \textit{shell} \cmdname{bash} est prsent (cas des versions +de 10.2 et suivantes de \MacOSX) la rponse sera un chemin, par exemple +\filename{/bin/bash}. +Si la rponse est \texttt{command not found}, vous avez une version +antrieure 10.2, sur laquelle \cmdname{bash} n'est pas install par dfaut. +Vous devrez alors rcuprer le \textit{shell} \cmdname{bash} sur internet +(par exemple ici : \url{http://tug.org/texlive/bash.dmg}) +et l'installer\dots{} ou mieux, mettre jour votre version de \MacOSX. + +Supposons dsormais le \textit{shell} \cmdname{bash} prsent. +Il faut maintenant \og passer \textit{root} \fg{}, c'est--dire +se donner le pouvoir d'effectuer des oprations normalement interdites +aux utilisateurs de base. Ceci se fait en tapant dans le \og Terminal\fg{} +la commande : +\begin{alltt} +> \Ucom{sudo su -} +\end{alltt} + +Mettre le \CDinst{} ou le \DVDlive{} dans le lecteur, son contenu +devient automatiquement accessible sous le rpertoire \dirname{/Volumes}. +On tape ensuite dans le \og Terminal\fg{} les commandes : +\begin{alltt} +> \Ucom{cd /Volumes/texlive2007} +> \Ucom{sh install-tl.sh} +\end{alltt} +pour se placer la racine de l'image disque monte et y lancer le script +d'installation. Il suffit ensuite de suivre la documentation +d'installation de la section~\ref{sec:unix-install-disk} +\p.\pageref{sec:unix-install-disk} o des notes spcifiques pour \MacOSX{} +ont t incluses si ncessaire. + +\subsection{Interfaces graphiques pour \MacOSX{}} +\label{sec:interf-graph-macosx} + +Normalement, l'utilisation de \TeX{} sur un Macintosh se fait travers +une interface graphique, comprenant un \textit{shell} d'excution, un +diteur, un prvisualiseur et d'autres outils (on chappe toutefois +difficilement l'utilisation de \og Terminal \fg{} ds que l'on veut +raliser des tches un tant soit peu volues\ldots). + +Voici les principales interfaces disponibles : + +\begin{cmddescription} +\item [TeXShop] Inclus dans \TL{} sous +\filename{./MacOSX/texshop.dmg}.\\ +Voir \url{http://www.uoregon.edu/~koch/texshop/texshop.html}. + +\item [ITeXMac] Inclus dans \TL{} sous \filename{./MacOSX/iTM-*.dmg}.\\ +Voir \url{http://itexmac.sourceforge.net}. + +\item [Mac-emacs] Une adaptation d'Emacs \MacOSX{}, avec +\pkgname{AucTeX} inclus.\\ +Voir \url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. + +\end{cmddescription} + +Si vous choisissez d'utiliser \cmdname{TeXShop} ou \cmdname{ITeXMac}, +il sera ncessaire de donner ces logiciels les informations concernant +le PATH : + +\begin{cmddescription} + +\item [TeXshop] Lancer l'application et ouvrir le panneau prfrences (menu + TeXShop). Slectionner l'onglet \og Moteur\fg{} et modifier la premire + ligne en saisissant votre PATH, par exemple : + \dirname{/usr/local/texlive/2007/bin/powerpc-darwin}. + +\item [ITeXMac] Lancer l'application et ouvrir le panneau prfrences (menu + ITeXMac). Slectionner le bouton \og Assistant teTeX\fg{}, puis l'onglet + \og TeX\fg{} et cliquer sur le bouton radio \og{} Autre\fg{}. Saisir alors + votre PATH, par exemple : + \dirname{/usr/local/texlive/2007/bin/powerpc-darwin}. + +\end{cmddescription} + + +\section{Installation sous Windows} +\label{sec:win-install} + +La distribution \TL{} inclut un +installeur pour Windows qui s'appelle \cmdname{tlpmgui}. + +%%%%%%%%%%%%%%%%%%%% Ajout (df) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\begin{quote} +\textbf{Note du traducteur :} titre personnel, je ne recommande pas +l'installation sous Windows partir de \cmdname{tlpmgui}, sauf aux +utilisateurs qui connaissent bien \TL{} sous Unix et veulent avoir sous +Windows une distribution aussi proche que possible de celle-ci. + +Une autre piste, non base sur la distribution \TL{}, me semble nettement plus +adapte : il s'agit installer la distribution \ProTeXt{} partir du +\DVDlive{} ou du \CD{} spcifique, elle est base sur \MIKTEX{} distribution +trs apprcie sous Windows ; + +Si vous dcidez d'opter pour \ProTeXt{} la suite de toute cette +section ainsi que la suivante (Maintenance sous Windows) ne vous +concernent pas. +\end{quote} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\cmdname{tlpmgui} propose essentiellement les mmes options que le script +\cmdname{install-tl.sh} sous Unix mais dans une interface graphique : + slection des schmas, choix des collections, etc., se reporter + la section~\ref{sec:unix-install-disk} \p.\pageref{sec:unix-install-disk}. +Certaines manipulations telles que l'ajout ou la suppression +de composants, la mise jour des bases de donnes +et la constructions de formats sont galement possibles. +De plus, \cmdname{tlpmgui} offre la possibilit d'utiliser \TL{} depuis +le \DVDlive{} (sans l'installer sur le disque dur). + +Pour les connaisseurs, \cmdname{tlpmgui} repose sur le programme +\cmdname{tlpm} accessible en ligne de commande Windows. + +Les binaires pour Windows sont emprunts la distribution \acro{W32TEX}, +fournie par Akira Kakuto. +Certains outils de l'ancienne distribution \fpTeX{} de Fabrice Popineau ont +t conservs, le nouveau visualiseur \cmdname{dviout} de Toshio Oshima +a remplac celui de Fabrice (\cmdname{Windvi}). + +\TL{} peut tre install sur les systmes Windows~9x, \acro{ME}, +\acro{NT}, \acro{2K} or \acro{XP}. Il ne fonctionne pas avec les versions +plus anciennes Windows (3.1x) et \acro{MS-DOS}. + +\textbf{Attention :} Les utilisateurs de Windows~9x + doit vrifier qu'il disposent d'assez d'espace pour les variables + d'environnement. Le programme \cmdname{tlpmgui.exe} cre un certain + nombre de variables d'environnement, si l'espace manque ajouter + \texttt{SHELL=<path>COMMAND.COM /E:4096 /P} dans le fichier + \filename{config.sys}. + +\subsection{Installation sous Windows depuis le \CDinst} + +Le programme \cmdname{tlpmgui} devrait dmarrer automatiquement +ds l'insertion du \CDinst{} dans le lecteur de \acro{CD}. +Si ce n'est pas le cas, cliquer sur \guiseq{Start\arw Run} puis +taper \path{<lecteur cdrom>:\string\setuptl\string\tplmgui.exe} +--- resp. +\path{<lecteur cdrom>:\string\texlive\string\setuptl\string\tplmgui.exe} +si vous installez partir du \DVDlive{} --- o \path{<lecteur cdrom>} +dsigne la lettre correspondant au lecteur de \acro{CD} ; cliquer ensuite +sur OK. + +La fentre intitule \guiseq{TeX Live installation and maintenance utility} +devrait s'ouvrir. Elle propose les options suivantes : +\guiseq{Main customization}, \guiseq{Install}, \guiseq{Select a scheme}, +\guiseq{Select systems}, \guiseq{Directories} et \guiseq{Options}. + +Dans la section \guiseq{Directories}, le nom du lecteur de \acro{CD/DVD} +(par exemple \texttt{F:/}) devrait apparatre ct du bouton +\acro{CD/DVD}. S'il n'est pas affich utiliser ce bouton pour +slectionner le lecteur de \acro{CD/DVD} contenant \TL. + +Il est possible de choisir le rpertoire devant contenir la distribution \TL{} +en cliquant sur le bouton \guiseq{TLroot}(la variable \path{TLroot} contiendra +le nom de ce rpertoire). +% Le contenu des variables d'environnement +% \path{TEXMFTEMP} et \path{TEXMFCNF} est affich ct des boutons +% \guiseq{TEXMFTEMP} et \guiseq{TEXMFCNF}, il sera mis jour automatiquement +% pendant l'installation (il est possible de le modifier en cas de besoin +% particulier). + +La section \guiseq{Select a scheme} permet, comme sous Unix, de choisir le +schma de base souhait pour l'installation (complte, GUTenberg, etc.) : +utiliser le bouton radio pour faire ce choix et le bouton \guiseq{Info} +pour une description du schma slectionn. + +Il est possible de personnaliser le schma choisi en lui ajoutant ou en +supprimant certaines de ses composantes (appeles \guiseq{collections}). +Ceci se fait en utilisant les boutons \guiseq{Standard collections} +et \guiseq{Language collections} (choix des langues utilisables) +dans \guiseq{Main customization}. + +La collection \guiseq{Wintools} est slectionne par dfaut car elle contient +beaucoup de petits utilitaires non fournis avec Windows, comme des +convertisseurs tels que \cmdname{sam2p}, \cmdname{jpeg2ps}, \cmdname{tiff2png}, +des prgramme de compression tels que \cmdname{bzip2}, \cmdname{gzip}, +\cmdname{unzip} et \cmdname{wget} qui est requis par le nouvel utilitaire +\cmdname{getnonfreefonts}. + +\textbf{Remarque :} Les collections \guiseq{Ghostscript}, \guiseq{Perl} +sont slectionnes par dfaut. Elles \emph{doivent tre +installes}\dots{} sauf si elles l'ont t par ailleurs. +Les variables d'environnement \envname{PERL5LIB} et \verb|GS_LIB| doivent +aussi tre initialises et le chemin complet des binaires \guiseq{Ghostscript} +doit tre ajout la variable \verb|PATH|. + +Finalement, cliquer sur le bouton \guiseq{Install} dans la section +\guiseq{Install} pour lancer le processus d'installation. + +Laisser le processus se poursuivre jusqu' l'affichage du message annonant +que l'installation a russi (un certain nombre d'tapes sont ncessaires, +comme la cration des formats, la mise jour des bases de donnes, etc. ce +qui peut prendre un certain temps). + +Un raccourci pour \cmdname{tlpmgui} (et pour \cmdname{dviout} s'il est +install), sera ajout dans le menu \guiseq{Start\arw Programs\arw +TeXLive2007}. + +Si ncessaire (Windows~9x/WinME), il vous sera demand de +redmarrer l'ordinateur. + + +\subsection{Programmes auxiliaires pour Windows} +\label{sec:win-xemtex} + +Pour tre complte, une installation \TL{} a besoin de programmes +auxiliaires qu'on ne trouve pas frquemment sur une machine Windows. +De nombreux scripts sont crits en Perl. Certains outils importants utilisent +l'interprteur \PS{} Ghostscript pour afficher ou convertir les fichiers. +Il faut aussi dans certains cas une bote outils graphique. +Enfin, un diteur orient \TeX{} facilite la saisie de fichiers \TeX{}. + +Tous ces outils sont assez faciles trouver pour \TeX{}, mais pour essayer +de vous rendre la vie plus facile, nous avons incorpor des outils de ce type +dans \TL{} : +\begin{itemize} +\item GNU \cmdname{GhostScript} 8.54 ; +\item un \cmdname{Perl} 5.8 minimum, suffisant pour excuter tous les scripts +Perl du \TL{} ; +\item quelques utilitaires comme bzip2, gzip, jpeg2ps et tiff2png. +\end{itemize} + +Perl et Ghostscript sont installs par dfaut ; vous pouvez empcher +leur installation en les dselectionant explicitement lors de +l'installation si vous les avez dj. + +Si vous prfrez ne pas installer les outils inclus dans \TL{}, vous tes +libre d'installer les outils ncessaires pour complter votre systme \TL{} ; +voici une liste des adresses o les obtenir : +\begin{description} +\item[GhostScript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (mais il vous faudra peut-tre + chercher des bibliothques supplmentaires sur CPAN, + \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] Vous pouvez aussi utiliser NetPBM la place de ImageMagick + pour traiter ou convertir vos fichiers graphiques. La page d'accueil + de NetPBM est + \url{http://netpbm.sourceforge.net/} +\item[diteurs orients \TeX] Il y a un large choix, et cela dpend des + prfrences de l'utilisateur. En voici une slection : + \begin{itemize} + \item \cmdname{GNU Emacs} avec l'extension AucTeX existe nativement + sous Windows, l'url de rfrence est + \url{ftp://alpha.gnu.org/gnu/auctex} ; + \item \cmdname{WinShell} se trouve sur \TL{} dans le rpertoire + \path{support}, l'url de rfrence est \url{http://www.winshell.de} ; + \item \cmdname{WinEdt} est un partagiciel disponible l'adresse + \url{http://www.winedt.com} ; + \item TeXnicCenter est libre et se trouve l'adresse + \url{http://www.toolscenter.org/products/texniccenter/} et aussi dans + la distribution \ProTeXt{} ; + \item \cmdname{Vim} peut tre tlcharg sur le site + \url{http://www.vim.org} ; + \item \cmdname{LEd} se trouve l'adresse + \url{http://www.ctan.org/support/LEd} ; + \item \cmdname{SciTE} se trouve l'adresse + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize} +\end{description} + +Il est aussi possible d'installer d'autres outils qui ne sont pas +libres\footnote{Pas libres en fait dans le sens de la libert de les + modifier et les redistribuer, selon les +\emph{Debian's guidelines}. Cela ne signifie pas qu'on ne peut pas les +acqurir gratuitement.} +comme \cmdname{GSView}, le programme compagnon de \cmdname{GhostScript} +pour afficher plus facilement les fichiers PS/PDF. +\cmdname{GSView} est disponible l'url +\url{http://www.cs.wisc.edu/~ghost/gsview/} +ou sur tout site \acro{CTAN}. + +\section{Maintenance sous Windows} + +Une fois la distribution \TL{} installe, vous pouvez vous servir du programme +\cmdname{tlpmgui} pour modifier ou complter votre installation. + +\subsection{Ajouter ou supprimer des composants} + +Le raccourci \cmdname{tlpmgui} du menu +\guiseq{Start\arw Programs\arw TeXLive2007} permet de lancer le programme +et affiche la fentre \guiseq{TeX Live installation and maintenance utility}. +Les sections utiliser sont \guiseq{Add Packages} (ajout de composants), +\guiseq{Remove packages} (suppression de composants), +\guiseq{Manage installation} (maintenace), \guiseq{Remove installation} +(suppression totale de \TL). + +Cliquer sur \guiseq{Add packages} ou \guiseq{Remove packages}, puis + +\begin{itemize} +\item Choisir le lecteur de \acro{CD} (ou le rpertoire \texttt{texlive} + du lecteur de \acro{DVD}) grce au bouton \guiseq{CD/DVD}. + +\item Cliquer sur le bouton \guiseq{Search} dans la section \guiseq{Buttons} +pour afficher la liste de composants installer ou supprimer +dans \guiseq{Select packages to\dots}. + +Lors de l'ajout de composants, la liste des composants installs est compare + la liste des composants disponibles sur le \acro{CD/DVD}. +Seuls les composants non installs sont affichs, vous de choisir ceux que +vous souhaitez ajouter. + +Inversement, lors de la suppression de composants, seuls les composants +installs sont affichs. + +Noter que les collections sont en tte de liste. + +\item Slectionner un composant en cliquant sur son nom dans la liste. +Un clic sur le bouton \guiseq{Info} donne une courte description du contenu. +Il est possible de slectionner plusieurs composants la fois l'aide des +touches \og Ctrl \fg{} et \og Shift \fg{} (majuscules). + +\item Cliquer sur \guiseq{Install} ou \guiseq{Remove} pour terminer +l'opration. +\end{itemize} + +\subsection{Configuration et maintenance} + +La section \guiseq{Manage the installation} permet d'effectuer les oprations +courantes de configuration et de maintenance. + +Voici la liste des actions possibles : +\begin{itemize} + \item mettre jour la base \filename{ls-R}, + \item crer les formats, + \item modifier le fichier \filename{language.dat}, + \item modifier le fichier \filename{fmtutil.cnf}, + \item modifier le fichier \filename{updmap.cfg}. + \end{itemize} + +Il faut sortir de la fentre d'dition en cliquant sur le bouton \guiseq{Done} +pour que les mises jour des formats, fichiers \file{.map}, base +\filename{ls-R} soient effectues. + +Les autres possibilits de configuration sont dcrites la +section~\ref{sec:persconf}, \p.\pageref{sec:persconf}. + +\subsection{Dsinstallation complte de \TL{}} + +L'option \guiseq{Remove the TeX Live installation} permet de supprimer toute +la distribution \TL{}. + +Attention, ce que vous avez ventuellement install dans le rpertoire +\path{texmf-local} ne sera pas supprim ; le rpertoire \path{setuptl} +contenant \cmdname{tlpmgui} doit tre galement nettoy la main si +ncessaire. + +\subsection{Ajouter des composants votre systme} + +Tout d'abord, quelles que soient les modifications faites, +\emph{n'oubliez pas de reconstruire les fichiers ls-R de bases de + donnes}, sinon les nouveaux fichiers ne seront jamais retrouvs. +Pour cela, vous pouvez soit utiliser le programme \cmdname{tlpmgui}, option +\guiseq{Manage the installation}, soit lancer manuellement la commande +\file{mktexlsr}. + +Si vous choisissez d'ajouter des fichiers qui ne proviennent pas de la +distribution \TL{} (ou fp\TeX{}), il est fortement +recommand de les mettre dans le rpertoire \path{$TEXMFLOCAL}. %$ +De cette manire, vous serez certain qu'il n'y aura pas de problme +lors d'une mise jour de \TL. + +L'arborescence pointe par \path{$TEXMFLOCAL} est initialement %$ +vide. Si vous souhaitez y ajouter par exemple les fichiers de style +pour le logiciel de calcul formel Maple, vous devrez mettre ces +fichiers dans le rpertoire +\path{C:\string\TeXLive2007\string\texmf-local\string\tex\string\latex\string\maple} +et les fichiers de documentation dans +\path{C:\string\TeXLive2007\string\texmf-local\string\doc\string\latex\string\maple} + + +\subsection{Excution de \texttt{tlmp.exe} en ligne de commande} + +Le programme \cmdname{tlpm.exe} utilis par \cmdname{tlpmgui} +possde de nombreuses options utiles dont la liste est donne par +\begin{verbatim} +tlpm --help +\end{verbatim} + +Consulter le fichier \filename{tlpm.readme} pour plus de renseignements et des +exemples. + +\subsection{Installation en rseau} + +\KPS{} est compatible avec les noms UNC, ceux-ci peuvent donc tre utiliss +pour rcuprer l'arborescence TEXMF depuis le rseau. Mais +encore mieux, tous les fichiers, y compris ceux de +configuration et except les binaires dans \path{bin/win32}, sont +compatibles et partageables avec \teTeX{} ou le \TL{} Unix. Cela +signifie que vous pouvez utiliser Samba, soit pour monter la +distribution Unix sur un client Windows, ou un client Unix +depuis un serveur NT. Plusieurs stratgies sont possibles : +\begin{itemize} + +\item tout mettre sur le serveur. Il faut simplement tre certain de mettre dans \path{bin/} les binaires pour tous les couples systmes d'exploitation / architectures ncessaires. Par exemple, ajouter \path{bin/win32} et + \path{bin/i386-linux}. Ensuite configurer les variables principales ; vous + pouvez utiliser des noms UNC pour pointer sur les rpertoires appropris + sous Win32. + +\item Installer une copie locale pour les binaires et les fichiers de + format. Dans ce cas, assigner \path{$TEXMFMAIN} au rpertoire + principal \path{texmf} qui sera pris sur le rseau. Faire pointer + \path{$VARTEXMF} vers un rpertoire local qui contiendra les fichiers + de configuration locaux et les fichiers gnrs au vol. %$ + +\end{itemize} + +\subsection{Diffrences entre la version Windows et la version + Unix de \TL} + +La version Windows de \Webc{} possde quelques spcificits qui mritent +d'tre notes. + +\begin{description} +\item [\cmdname{kpsecheck}] Cette commande fournit des fonctionnalits + qui ne rentraient pas bien dans \cmdname{kpsewhich}. En particulier, + elle permet de lister tous les fichiers qui apparaissent plusieurs + fois travers les multiples arborescences \path{texmf/}. Ceci + l'air pratique, sauf qu'en ralit, la sortie est pollue par des + occurrences multiples de fichiers qui ne sont pas utiles \TeX{} + proprement parler (commes des dizaines de fichiers + \filename{README})\footnote{Tous ces fichiers + sont susceptibles de produire des collisions lors de l'accs la + table de hachage ; heureusement \TeX{} ne les utilise pas, ils ne + sont donc pas pris en compte !}. Pour cette raison, vous pouvez combiner + l'option \path{-multiple-occurences} avec deux autres options pour + inclure ou exclure de la recherche tout fichier conforme un + certain motif (plusieurs motifs d'inclusion ou d'exclusion peuvent + tre spcifis). + + La commande \cmdname{kpsecheck} peut aussi indiquer le statut + d'utilisation de la mmoire partage : en utilisation ou + non-utilise. Cette information peut tre trs utile, car si le + statut rapport est \og en utilisation\fg{}, cela signifie qu'un + ou plusieurs processus tournent et utilisent le bloc de mmoire + partage. Dans ce cas, une rinitialisation des tables de hachage + base sur les fichiers \filename{ls-R}, comme la commande + \cmdname{mktexlsr} l'effectue, sera automatiquement repousse + jusqu' ce que tous les processus utilisant la version courante en + mmoire partage soient termins. Il est prvu d'enlever cette + limitation dans une version future, mais la version actuelle de + \KPS{} ne permet pas de faire facilement cette rinitialisation. + + Enfin, la mme commande \cmdname{kpsecheck} peut indiquer l'endroit + o \KPS{} pense pouvoir trouver la Dll de Ghostscript. En effet, + sous Win32, il est souvent plus simple de travailler directement + avec la Dll de Ghostscript, et de la trouver en utilisant la cl + approprie dans la base de registre, que d'utiliser \path{gswin32c.exe} et + de modifier le \path{PATH} qui a une longueur limite. + +\item [\Webc] Les moteurs \TeX{} ont une option supplmentaire + par rapport la version standard : + \path{-proctimes} affiche des statistiques propos du + temps d'excution. Il est noter que Windows~9x n'tant pas un + systme multi-tche premptif, il ne possde pas d'horloge + interne suffisamment prcise pour mesurer ces temps d'excution + et donc la valeur affiche n'est qu'une approximation. Sous + NT/2K/XP, le rsultat est assez prcis et comprend le temps + utilisateur et le temps systme allous la compilation. Pour + les utilisateurs d'Unix : la commande \path{time} n'existe pas + sous Windows. +\end{description} + +\subsection{Personnalisation de l'installation} +\label{sec:persconf} + +\subsubsection{Dvips} + +Le fichier de configuration de \texttt{dvips} se trouve par dfaut en +\path{C:\string\TeXLive2007\string\texmf-var\string\dvips\string\config\string\config.ps}. Il peut tre ouvert avec n'importe quel diteur de texte +% (comme \cmdname{WinShell}) +pour modifier certains paramtres : +\begin{description} +\item[fontes] vous pouvez changer la rsolution et le mode de + l'imprimante laquelle sont destins vos fichiers dans le cas o + \texttt{dvips} aurait besoin de gnrer des fontes bitmap. Par dfaut, + les fontes Type1 CM interpoles sont utilises, et donc + \path{mktexpk} ne devrait pas tre appel trop souvent. +\item[imprimante] vous pouvez spcifier o se fera l'impression par + dfaut. Si l'option `o' n'est pas suivie d'un nom d'imprimante, un + fichier est cr avec l'extension \file{.ps}. Sinon, vous pouvez + spcifier un nom d'imprimante tel que : +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[papier] vous pouvez changer le format de papier retenu par + dfaut (A4), par exemple en format US letter, le premier format + mentionn. Allez vers les lignes dbutant par \path{@}. Dplacez les + lignes adquates, ainsi le fichier commencera par les lignes qui suivent. +\begin{verbatim} +@ letterSize 8.5in 11in + +@ letter 8.5in 11in +@+ %%BeginPaperSize: Letter +@+ letter +@+ %%EndPaperSize +\end{verbatim} +\end{description} + +La distribution \TL{} actuelle intgre un programme \og \cmdname{updmap} \fg{} +facilitant la mise jour des fichiers \file{psfonts.map} pour Dvips et +\file{pdftex.map} pour PdfTeX. +\cmdname{updmap} est lanc automatiquement durant l'installation. +Si vous ajoutez de nouvelles fontes la main, +ditez le fichier \verb+updmap.cfg+ dans \path{$TEXMFVAR/web2c}. %$ +et relancez \cmdname{updmap}. + +\subsubsection{PdfTeX} + +Si le programme \cmdname{pdflatex} est utilis pour crire directement en +format +\acro{PDF} et qu'on utilise du papier au format \acro{US} letter-size, +diter le fichier +\path{C:\string\TeXLive2007\string\texmf-var\string\tex\string\generic\string\config\string\pdftexconfig.tex} +et modifier \samp{\bs page\_width} et \samp{\bs page\_height}. +Ces entres doivent tre : +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} + +Sauvegarder le fichier et sortir de l'diteur. + +\subsubsection{Xe\TeX} + +Xe\TeX{} pour Windows est li statiquement la bibliothque fontconfig 2.4.2. +Le fichier de configuration pour les fontes s'appelle \verb+fonts.conf+. +Ce fichier se trouve dans le rpertoire indiqu par la commande +\texttt{kpsewhich --var-value=FONTCONFIG\_PATH}. + +\subsubsection{Gsview} + +\cmdname{GSView} est maintenant distribu sous licence Aladdin et n'est donc +plus inclus dans \TL{}. + +Si vous voulez changer le format du papier, ouvrez \cmdname{GSView} +partir du menu \guiseq{Dmarrer} et slectionnez \guiseq{Media\arw Letter}. +Le sous menu Display Settings vous permet +galement d'amliorer la nettet du rendu en positionnant les +deux valeurs \textbf{Text Alpha} et \textbf{Graphics Alpha} 4 bits. + +Pour ce qui est de l'impression, consulter la +sous-section~\ref{sub:printing}. + +Les fichiers \file{.ps} et \file{.eps} seront automatiquement ouverts +par \cmdname{GSView}. + +\subsection{Tests} + +Pour des procdures gnriques de vrification, voir +section~\ref{sec:test-install}, page~\pageref{sec:test-install}. +Cette section dcrit les tests spcifiques Windows. + +Vous pouvez tester l'installation +en ouvrant le fichier +\verb+sample2e.tex+ dans votre diteur (\cmdname{XEmacs}, +\cmdname{WinShell}) qui se trouve dans +\path{C:\string\TeXLive2007\string\texmf-dist\string\tex\string\latex\string\base}. +Le source \LaTeX{} doit apparatre l'cran. Compilez-le en cliquant +sur le menu (XEmacs) \guiseq{Command\arw LaTeX} ou sur l'icne \LaTeX{} +(WinShell) dans la barre d'outils, ensuite affichez-le en +cliquant sur le menu (XEmacs) \guiseq{Command\arw View DVI} +ou sur l'icne Preview (dviout). + +La premire fois que vous afficherez un document avec \cmdname{dviout}, il va +crer les fichiers de fontes bitmaps qui ne sont pas installes. +Aprs avoir visualis quelques fichiers, vous aurez cr la plupart de ces +fichiers et vous ne verrez plus souvent apparatre la fentre de cration de +fontes. + +En cas de problmes, reportez-vous la +sous-section~\ref{sec:troubleshooting}. + +\subsection{Impression} +\label{sub:printing} + +Il est possible d'imprimer depuis \cmdname{dviout}. Dans ce cas, l'impression +utilise le pilote unifi d'impression de Windows, il est donc par +dfinition compatible avec toutes les imprimantes. Cependant, il y a +un inconvnient : cette impression gnre des fichiers (spool) trs +importants, quelques versions anciennes de Windows le supportent mal. +L'avantage est que vous pouvez tirer +parti de l'impression d'images BMP ou WMF par exemple. Il faut +galement faire bien attention ce que les paramtres de l'imprimante +soient correctement dfinis sous peine +d'avoir un effet d'chelle +(imprimer 600\,dpi sur une imprimante qui fait rellement 300\,dpi +aboutit n'avoir qu'un seul quart de la page visible). + +L'impression est souvent plus rapide en utilisant \cmdname{dvips}, puis en +imprimant le fichier \file{.ps} depuis \cmdname{GSView}. Pour imprimer +depuis \cmdname{GSView}, slectionner \textbf{Print\dots{}} dans le menu +\textbf{File}. Une fentre de dialogue pour l'impression apparat. + +Si vous utilisez une imprimante PostScript, \emph{soyez sr de + slectionner \textbf{PostScript Printer}} en choisissant cette +option dans \textbf{Print Method} en bas gauche de la bote de +dialogue, faute de quoi l'impression chouera. Vous +pouvez ensuite slectionner une imprimante quelconque parmi celles +installes. + +Si vous utilisez une imprimante qui ne supporte pas PostScript, +slectionnez \textbf{Ghostscript Device} dans \textbf{Print + Method}. Ensuite cliquez sur le bouton \textbf{djet500} et +slectionnez votre imprimante. + +\subsection{Trucs et astuces propos de la plate-forme Win32} + +\subsubsection{Diffrentes dclinaisons de Win32} + +Ce que recouvre la dnomination Win32 n'est pas un systme +d'exploitation. C'est un ensemble de fonctions trs +vaste (environ 12000 fonctions dans les fichiers d'en-tte du + SDK Microsoft) que vous pouvez utiliser pour crire des programmes +pour diffrentes versions des systmes d'exploitation de la famille +Windows. + +Windows se dcline en plusieurs versions : +\begin{itemize} +\item Win95, Win98 et WinME, qui \emph{ne sont pas de vrais systmes + d'exploitation multitches et multithreads}. Ils sont en fait les + dernires incarnations de DOS. On peut s'en apercevoir, car en + lanant le PC, l'interprteur de commandes \path{command.com} est + charg et si vous arrtez le processus ce moment, vous pouvez + demander la version courante (de DOS) et il vous est rpondu quelque + chose du style "MS-DOS 7.0", au moins pour les versions anciennes de + Windows~9x ; +\item Windows \acro{NT} est un systme d'exploitation crit partir + de zro, avec un + vrai multitche premptif et des fonctionnalits de trs haut niveau ; +\item Windows 2000 est crit sur une base \acro{NT}, il est dot de toutes les + facilits offertes par Win98 ; +\item Windows \acro{XP} existe en versions Personnelle et + Professionnelle. C'est la dernire tape dans la fusion entre les + deux lignes de produits (base sur Windows~9x et base sur NT). \acro{XP} est + crit sur une base NT. +\end{itemize} + +Windows~9x peut faire tourner des programmes 32~bits et des +programmes 16~bits en mme temps. Mais le systme d'exploitation +lui-mme n'est pas entirement crit en mode 32~bits et ne fournit pas +une protection mmoire entre les applications : les applications +16~bits peuvent craser des parties du systme d'exploitation en +mmoire ! Des parties du systme telles que le \acro{GDI} +(\emph{Graphical Device Interface}) ne se voient allouer que des +ressources de taille trs +limite pour grer les bitmaps, les pinceaux et les polices, et ces +ressources sont alloues de manire globale pour tous les programmes +qui tournent de manire concurrente. Par exemple, toutes les enttes de +bitmaps utiliss par tous les programmes qui tournent simultanment ne +doivent pas requrir plus de 64~ko de mmoire. Ceci explique le +comportement du moniteur de performance et le fait que vous pouvez +mettre votre systme genoux en utilisant de manire intensive les +objets graphiques. + +NT, 2K et XP ne souffrent pas de ces limitations, ni d'aucune autre +limitation de Windows~9x. Ce sont de vrais environnements multitches, avec +une vraie mmoire protge. Ils rpondent de manire plus fluide que +Windows~9x de par leur meilleure gestion de la mmoire, leur systme de +gestion de fichiers plus performant, etc. + +\subsubsection{La ligne de commande} + +Vous allez demander : mais pourquoi diable devrais-je me +proccuper d'une ligne de commande alors que j'ai Windows ? + +Bonne question. Le problme est de nature trs gnrale. Toutes les +oprations ne peuvent pas tre accomplies trs facilement l'aide de +la seule interface graphique. La ligne de commande vous donne la +puissance de la programmation -- si vous avez un bon interprteur de +commandes. + +Mais le problme est plus fondamental : \TeX{} est un outil qui +fonctionne \emph{en batch}, de manire non interactive. \TeX{} a +besoin de calculer la meilleure mise en page pour chaque page, de +rsoudre les rfrences croises, etc. Ceci ne peut tre ralis +que par un traitement global du document. Ce n'est pas encore une tche +qui peut tre ralise interactivement. + +Ceci implique que vous devriez utiliser \TeX{} depuis la ligne de +commande. En fait la situation n'est pas si catastrophique. Il y a un +avantage crire des outils en ligne de commande pour des tches +complexes : ils sont bien plus fiables, parce qu'ils n'hritent pas de +la complexit inhrente aux interfaces graphiques. +Il est ensuite possible de +concevoir des outils graphiques qui servent d'interface aux outils en +ligne de commande. C'est le cas de \TeX{} : vous interagirez avec lui +la plupart du temps au travers d'un diteur de textes qui possde une +interface graphique. + +Cependant, il se peut que vous ayez besoin d'utiliser la ligne de +commande dans certaines situations. Par exemple en cas de +problmes, parce que vous avez besoin de trouver une erreur dans votre +installation -- voir la section~\ref{sec:troubleshooting}. + +\begin{description} +\item[Windows~9x, WinME] Vous ouvrirez une ligne de commande soit en cherchant + l'icne \acro{MS-DOS} dans le menu \og \guiseq{Dmarrer\arw Programmes}\fg{}, + soit en choisissant \og \guiseq{Dmarrer\arw Excuter}\fg{}, puis en tapant + \path{command.com} . +\item[NT, 2K, XP] Vous ouvrirez une ligne de commande en cherchant + \og \guiseq{Invite de commandes}\fg{} dans le menu \og \guiseq{Dmarrer\arw + Accessoires}\fg{} (ces emplacements peuvent changer d'une version de Windows + l'autre). Vous pouvez aussi choisir le menu + \og Dmarrer -> Excuter\fg{} et taper \path{cmd.exe}, qui est le nom + du nouvel interprteur de commandes pour NT. +\end{description} + +\subsubsection{Les sparateurs de chemins} + +L'API Win32 admet les deux caractres \verb+/+ et \verb+\+ comme +sparateurs pour les noms de fichiers. Mais pas les interprteurs +de commande ! Donc, chaque fois qu'un nom de fichier est utilis par +un programme, vous pouvez utiliser l'un ou l'autre sparateur, mais +sur la ligne de commande, vous devez utiliser \verb+\+ comme unique +sparateur. Ce qui explique que vous pouvez taper : +\begin{verbatim} + C:\>set TEXMFCNF=C:/Program Files/TeXLive/texmf-var/web2c +\end{verbatim} +mais pas : +\begin{verbatim} +C:\>dir "C:/Program Files/TeXLive" +\end{verbatim} +Dans le premier cas, seuls des programmes utiliseront le chemin que +vous avez fourni, dans le deuxime cas, c'est l'interprteur de commandes +qui va vouloir s'en servir directement. + +Tout ceci pour dire, ne soyez pas surpris de voir des noms de +fichiers crits avec des \path{/} en guise de sparateurs, la mode Unix ; +Windows-\TL{} est un portage de \Webc, dont l'objectif est d'tre +compatible avec toutes les plates-formes. Pour cette raison, les +fichiers de configuration utilisent la convention Unix des sparateurs +dans les noms de fichiers. + +\subsubsection{Les systmes de gestion de fichiers} + +Une des plus mauvaises caractristiques de Windows~9x vis--vis de \TeX{} +est probablement ce qu'on appelle le systme de fichiers FAT. +\TeX{} utilise une myriade de petits fichiers dont la taille varie +entre 1~ko et 5~ko. Le systme FAT est ancien et date d'une poque bien +antrieure l'apparition des disques de plusieurs Go qui sont monnaie +courante aujourd'hui. Tout ceci pour dire qu'il n'est pas possible de +grer efficacement les dizaines de fichiers de \TL{} sur un disque dur +format en FAT. Les fichiers se voient allouer chacun 32~ko au +minimum, donc l'installation de \TL{} utilise beaucoup plus de +place que ncessaire. + +Le seul moyen d'viter ce problme consiste +passer en FAT32 ou NTFS. Ces systmes sont plus rcents et n'ont pas +l'inconvnient de FAT. La taille des clusters par dfaut y est de 4~ko, +leur accs est plus performant. NTFS est protg, redondant et on peut +mme ajuster la taille des clusters jusqu' un minimum de 512 octets + la cration. + +\subsubsection{Comment ajouter un rpertoire votre PATH} + +Il existe dans votre systme des variables qui +agissent un peu comme des variables globales tous vos programmes. On +appelle cet ensemble de variables \emph{l'environnement}. Chaque +programme hrite son dmarrage d'une copie de l'environnement. Il peut +modifier les valeurs des variables, ajouter ou enlever des variables, +mais les modifications ne sont effectives que pour sa propre copie et +ne sont pas propages aux autres programmes, sauf ceux qu'il lance +lui-mme. + +Votre variable PATH est une variable spciale de l'environnement +utilise pour chercher les programmes lorsque vous en demandez +l'excution. Il y a une procdure diffrente pour modifier cette +variable selon que vous tes sous Windows~9x, \acro{ME} ou +\acro{NT}/\acro{2K}/\acro{XP}. + +\begin{description} +\item[Windows 95/98] +ditez votre fichier \path{autoexec.bat}. Dans ce fichier, vous +trouverez une ligne commenant par \path{PATH=} et suivie par une +liste de rpertoires spars par des points-virgules. Ajoutez le rpertoire +contenant les programmes excutables au bout de cette ligne. Cette +ligne ressemble alors la suivante : +\begin{verbatim} +PATH=C:\windows;C:\windows\system;C:\TeXLive2007\bin\win32 +\end{verbatim} +Les modifications ne prendront effet qu'aprs redmarrage de la machine. +\item[Windows ME] + Vous devez utiliser le programme + \path{C:\string\windows\string\system\string\msconfig.exe} pour pouvoir + modifier une des + variables d'environnement. Dans ce programme, choisissez l'onglet + Environnement, ensuite ajoutez ou modifiez la variable de votre + choix. Il faut alors redmarrer la machine pour que les modifications + prennent effet. +\item[Windows NT/2K/XP] + Ouvrez le \guiseq{Panneau~de~Contrle}, accessible depuis le menu + \guiseq{Dmarrer\arw} \guiseq{Paramtres\arw Panneau~de~Contrle}. + Ouvrez l'icne Systme, la fentre des \guiseq{Proprits systme} + s'ouvre. Choisissez l'onglet \textsf{Environnement} ou cherchez un + bouton \guiseq{Variables d'environnement} +parmi les diffrentes botes de dialogue offertes. +Vous pouvez maintenant modifier vos propres variables d'environnement. +Il est noter que les variables d'environnement systme communes +tous les utilisateurs sont galement affiches. Vous ne pouvez les +modifier que si vous avez les droits d'administrateur. Si c'est le +cas, vous pouvez modifier la variable \path{PATH} pour tous les +utilisateurs du systme -- mais vous devez savoir prcisment ce que +vous faites. + +S'il y a dj un \path{PATH} dfini pour votre compte utilisateur, cliquez +dessus. Dans le champ \textsf{Variable} apparat \path{PATH} et dans le champ +\textsf{Valeur}, la liste courante de rpertoires spars par des +points-virgules. Ajoutez les rpertoires o se trouvent vos excutables (i.e. +\path{C:\string\TeXLive2007\string\bin\string\win32}). Si la variable +\path{PATH} n'est pas encore dfinie, il suffit de taper son nom dans le champ +\textsf{Variable} et la valeur initiale que vous souhaitez lui donner dans le +champ \textsf{Valeur}. Important : cliquez sur le bouton \textsf{Appliquer} +avant de cliquer sur \textsf{Ok}, de cette faon, les modifications seront +propages immdiatement la session courante. Soyez prudent quand vous +modifiez les variables d'environnement. +\end{description} + +Le meilleur moyen de savoir si une variable a t correctement dfinie +consiste ouvrir une console et taper +\begin{verbatim} +set VARIABLE +\end{verbatim} +la valeur correspondante doit alors tre affiche.. + +\subsubsection{Les moteurs \TeX{}} + +En lisant la documentation de \Webc{}, on voit +que les diffrents programmes drivs de \TeX{} +utilisent le mme moteur de base. Par exemple, \path{tex.exe} et +\path{latex.exe} sont des copies exactes du mme programme, mais +chacun utilise un fichier de format diffrent, en se basant sur le nom +par lequel il a t invoqu. + +Sous Unix, ce mode de fonctionnement est ralis en faisant appel aux +\emph{liens symboliques}. On peut ainsi conomiser un peu d'espace disque, +car plusieurs moteurs de base sont utiliss avec diffrents fichiers +de format. + +L'API Win32 ne connat pas les liens symboliques. Dans le but +d'conomiser presqu'autant d'espace disque, tous les moteurs +\TeX{} de base ont t mis dans des DLL (\emph{Dynamic Linked + Library}). Ceci se traduit par l'aspect suivant pour les fichiers : +\begin{alltt} + 2006-11-23 07:06 2 560 latex.exe + 2007-01-06 23:54 1 073 664 pdftex.dll + 2006-01-28 08:05 2 560 pdftex.exe +\end{alltt} +\noindent et le fichier \path{latex.exe} n'est ni plus ni moins qu'une copie +presqu'identique du fichier \path{pdfetex.exe}, utilisant le mme moteur +\path{pdftex.dll}. La mme astuce a t utilise pour la famille de +programmes \path{mktex*.exe} qui utilisent tous la bibliothque +\path{mktex.dll}. + +Il existe mme un outil gnrique appel \path{irun.exe} qui permet +de simuler les liens durs de Unix sous Win32, mais uniquement pour les +fichiers \file{.exe}. + +\subsection{En cas de problme} +\label{sec:troubleshooting} + +\subsubsection{Que faire si \texttt{latex} ne trouve pas vos fichiers ?} + +\begin{itemize} +\item \cmdname{kpsewhich} est l'outil de choix pour trouver la source + de n'importe quel problme. Malheureusement, \cmdname{kpsewhich} + crit le rsultat de ses recherches sur le flux \path{stderr}, et + les anciennes versions de la console de Windows ne savaient pas + rediriger ce flux vers un fichier\footnote{En fait, les systmes + Windows NT/2K/XP savent le faire, grce leur nouvel interprteur + de commandes, mais l'astuce spcifique \KPS{}-Win32 fonctionne + sur toutes les consoles.}. Pour des besoins de diagnostic, vous + pouvez positionner temporairement une variable d'environnement en tapant + dans une console : +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +Vous pouvez galement dfinir un niveau de trace : +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +La trace de l'excution des commandes suivantes sera conserve dans le +fichier \filename{err.log}. Si vous voulez rediriger le flux stderr sur le +flux stdout, ce qui n'est normalement possible sous aucune version de Windows, +il vous suffit de faire : +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +De cette manire, vous pourrez rediriger la fois stdout et stderr +dans le mme fichier. + +\item En supposant que l'installation a t faite dans + \texttt{C:/TeX}, vrifiez les valeurs suivantes :\\ + \begin{tabular}{ll} + \texttt{kpsewhich -expand-path \$SELFAUTOPARENT} & \texttt{C:/TeX} \\ + \texttt{kpsewhich -expand-path \$TEXMF} & \texttt{C:/TeX/texmf....} \\ + \texttt{kpsewhich -expand-path \$TEXMFCNF} & + \texttt{.;C:/TeX/texmf-var/web2c;} \\ + \texttt{kpsewhich -expand-var \$TEXINPUTS} & \texttt{.;C:/TeX/texmf/tex//} + \end{tabular} + +\item Si des variables d'environnement lies TeX sont + positionnes dans votre environnement, enlevez-les, car elles + masquent les valeurs existant dans le fichier \filename{texmf.cnf}. + +\item Vrifiez les valeurs de :\\ + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \texttt{C:/TeX/texmf-dist/fonts/tfm/public/cm/cmr10.tfm}\\ + \texttt{kpsewhich latex.fmt}& \texttt{C:/TeX/texmf-var/web2c/latex.fmt} + \end{tabular} + +\item ce point, si tout est correct, \TeX{} et tous les + programmes associs doivent fonctionner. Si ce n'est pas le cas, + vous devez poursuivre vos investigations avec l'option \path{-debug=n} de + \path{kpsewhich} et contrler toutes les valeurs. Essayez + d'identifier et de signaler le problme. +\end{itemize} + +\subsubsection{Que faire si votre installation ne fonctionne toujours + pas selon vos attentes ?} + +Il faut se poser plusieurs questions : +\begin{enumerate} +\item Est-ce que \path{tex.exe} est bien dans mon \path{PATH} ? + +\item Est-ce que la variable d'environnement \path{TEXMFCNF} est bien + positionne \\ + \path{C:/TeXLive2007/texmf-var/web2c} (valeur par dfaut) ? + +\item Est-ce qu'il y a des erreurs dans le fichier de log \file{tlmpgui.log} + gnr lors de l'installation par \filename{tlmpgui} ? Ce fichier est dans + le rpertoire \file{TEMP}, les erreurs sont repres par la squence + \samp{Error}. + +\item Y a-t-il des correctifs de bogues correspondant au problme + \url{http://www.tug.org/tex-live.html} (improbable, mais il vaut + mieux le vrifier). + +\end{enumerate} + +Le logiciel \TL{} est compos de centaines de +programmes et de milliers de fichiers d'origines trs diverses. Il +est pratiquement impossible de prdire toutes les causes possibles de +problmes. Nanmoins, nous ferons notre possible pour vous aider dans +tous les cas (voir section~\ref{sec:help}, \p.\pageref{sec:help}). + +% don't use \Webc so the \uppercase in the headline works. +%\section{Guide d'utilisation du systme \protect\Webc{}} +\section{Guide d'utilisation du systme Web2C} + +\Webc{}est une collection intgre de programmes relatifs \TeX, +c.--d. \TeX{} lui-mme, \MF{}, \MP, \BibTeX{}, etc. +C'est le c\oe ur de \TL{}. + +Un peu d'histoire : la premire implmentation a t ralise par Tomas +Rokicki qui, en 1987, a dvelopp un premier systme \TeX{}-to-C en adaptant +les \textit{change files} pour Unix (travail de Howard Trickey et Pavel Curtis +principalement). Tim Morgan assura la maintenance du systme, dont le nom fut +remplac durant cette priode par Web-to-C. En 1990, Karl Berry reprit le +travail, assist par des dizaines de contributeurs, et en 1997 il passa le +relais Olaf Weber. + +Le systme \Webc{} fonctionne sur Unix, les systmes Windows 32 bits, +\MacOSX{} et de nombreux autres systmes d'exploitation. Il utilise les +sources originales de D.E.~Knuth pour \TeX{} et les autres programmes de base +crits en \web{} qui sont tous traduits en langage C. Les composants du noyau +de \TeX{} sont : + +\begin{description} +%\renewcommand{\makelabel}[1]{\descriptionlabel{\makebox[0.6in][l]{#1}}} +\item[bibtex] Gre les bibliographies. +\item[dmp] \cmdname{troff} vers MPX (dessins \MP{}). +\item[dvicopy] Copie le fichier \dvi{} en supprimant les fontes +virtuelles. +\item[dvitomp] Convertit le fichier \dvi{} en MPX (dessins \MP{}). +\item[dvitype] Convertit le fichier \dvi{} en un texte lisible. +\item[gftodvi] Visualisation de fontes gnriques GF. +\item[gftopk] Convertit les fontes gnriques GF en fontes bitmap PK. +\item[gftype] Convertit le fichier GF en un texte lisible. +\item[makempx] Typographie des tiquettes \MP{}. +\item[mf] Cration de fontes. +\item[mft] Mise en page de code source \MF{}. +\item[mpost] Cration de diagrammes techniques. +\item[mpto] Extraction d'tiquettes \MP{}. +\item[newer] Comparaison de dates de modification (fichiers). +\item[patgen] Cration de motifs de csure. +\item[pktogf] Convertit les fontes bitmap PK en fontes gnriques GF. +\item[pktype] Convertit les fontes PK en un texte lisible. +\item[pltotf] Convertit les fichiers PL (lisibles) en TFM. +\item[pooltype] Affiche les fichiers \web{} pool. +\item[tangle] \web{} vers Pascal. +\item[tex] Composition de textes. +\item[tftopl] Convertit les fichiers TFM en PL (lisibles). +\item[vftovp] Convertit les fontes virtuelles VF en VPL (lisibles). +\item[vptovf] Convertit les fontes VPL en fontes virtuelles VF. +\item[weave] \web{} vers \TeX. +\end{description} + +La syntaxe et les fonctions prcises de ces programmes sont dcrites +dans +la documentation des composants individuels et dans le manuel \Webc{} +lui-mme. Toutefois, connatre un certain nombre de principes +rgissant +l'ensemble de la famille de programmes peut aider exploiter de +faon +optimale votre installation \Webc{}. + + Presque tous ces programmes suivent les +options standard de \acro{GNU} : +\begin{description} +%\renewcommand{\descriptionlabel}[1]{\makebox[1.4in][l]{#1}} + \item[\texttt{-{}-help}] imprime le sommaire de l'utilisation, + \item[\texttt{-{}-verbose}] imprime le rapport dtaill du processus, + \item[\texttt{-{}-version}] imprime seulement le numro de version. +\end{description} + +Pour localiser les fichiers, les programmes \Webc{} utilisent la +bibliothque de recherche \KPS{}. Cette bibliothque utilise une +combinaison de +variables d'environnement et un certain nombre de fichiers de +paramtres pour optimiser la recherche dans l'norme arborescence +\TeX{}. +\Webc{} peut excuter une recherche dans plusieurs arborescences +simultanment, ce qui est utile si l'on souhaite maintenir la +distribution standard de \TeX{} et les extensions locales dans deux +arborescences distinctes. Afin d'acclrer la recherche de fichiers, la +racine de chaque arborescence possde un fichier \file{ls-R} contenant +une +entre donnant le nom et le chemin de chaque fichier situ sous la +racine. + +\subsection{Kpathsea et la recherche de fichiers} + +Dcrivons en premier lieu le mcanisme de recherche de la bibliothque +\KPS{}. + +Nous appelons \emph{chemin de recherche} une liste, spare par +\og deux-points\fg{} ou \og point-virgule\fg{}, d'lments, appels +\emph{lments de chemin}, qui sont des noms de rpertoires. +Un chemin de recherche peut provenir de plusieurs sources. +Pour rechercher un fichier \samp{my-file} le long +d'un chemin \samp{.:/dir}, \KPS{} vrifie chaque lment du +chemin : +d'abord \filename{./my-file}, puis \filename{/dir/my-file}, et renvoie la +premire occurrence (voire toutes). + +Afin d'optimiser l'adaptation tous les systmes d'exploitation, +\KPS{} peut utiliser dans les noms de fichiers des sparateurs +diffrents +de deux-points (\samp{:}) et barre oblique (\samp{/}) + pour les systmes non-Unix. + +Pour vrifier un lment de chemin particulier \var{p}, \KPS{} +vrifie d'abord si une base de donnes existante (voir +page~\pageref{Filename-database}) contient \var{p}, +c.--d. si la base de donnes se trouve dans un +rpertoire qui est un prfixe de \var{p}. Si oui, la spcification +du chemin est compare avec le contenu de la base de donnes. + +Si la base de donnes n'existe pas, si elle ne s'applique pas cet +lment de chemin ou si elle ne contient aucune correspondance, +la recherche est lance sur tout le systme de fichiers (si cela +n'a +pas t interdit +par une commande commenant par \samp{!!} + et si le fichier cherch est cens exister). +\KPS{} construit la liste de rpertoires qui correspondent + cet lment de chemin, puis cherche le fichier dans chaque +lment +de cette liste. + +La condition \og le fichier est cens exister\fg{} est lie aux +fichiers~\samp{.vf} et aux fichiers d'entre lus par la commande \TeX\ +\cs{openin}. +De tels fichiers peuvent ne pas exister (par exemple \file{cmr10.vf}), +il +est donc inutile de les rechercher sur le disque. De plus, si vous +n'actualisez pas le fichier \file{ls-R} lors de l'installation d'un +nouveau fichier +\samp{.vf}, +il ne sera jamais trouv. +Chaque lment de chemin est alors vrifi : d'abord dans +la base de donnes puis sur le disque. Si une occurrence est +trouve, la recherche s'arrte et le rsultat est obtenu. + +Bien que l'lment de chemin le plus simple et le plus frquent +soit un +nom de rpertoire, \KPS{} supporte d'autres types d'lments dans +les +chemins de recherche : des valeurs par dfaut diffrentes pour chaque +programme, des noms de variables d'environnement, des valeurs de +fichiers de +configuration, les rpertoires de l'utilisateur et la recherche +rcursive +de sous-rpertoires. Nous disons alors que \KPS{} \emph{tend} un +lment, c'est--dire que \KPS{} transforme toutes ces +spcifications +en noms de rpertoires de base. Cette opration est dcrite dans les sections +suivantes. + +Notons que si le nom de fichier cherch est absolu ou explicitement +relatif, c'est--dire commenant par \samp{/}, \samp{./} ou +\samp{../}, \KPS{} ne vrifie que l'existence de ce fichier. +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Un exemple de fichier de configuration} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Les diffrentes sources} +\label{Path-sources} + +Un chemin de recherche peut provenir de plusieurs sources. Voici l'ordre +dans lequel \KPS\ les utilise. + +\begin{enumerate} +\item + Une variable d'environnement dfinie par l'utilisateur, par exemple + \envname{TEXINPUTS}. Les variables d'environnement avec une + extension attache (nom de programme) sont d'abord prises en compte : + par exemple, si \samp{latex} est le nom du programme excut, + \envname{TEXINPUTS.latex} passera avant \envname{TEXINPUTS}. +\item + Un fichier de configuration de programme spcifique, par exemple une +ligne + \og \texttt{S /a:/b}\fg{} dans le fichier \file{config.ps} de \cmdname{dvips}. +\item + Un fichier de configuration \file{texmf.cnf} de \KPS{} contenant une + ligne telle que \\ \samp{TEXINPUTS=/c:/d} (voir ci-dessous). +\item La valeur par dfaut obtenue la compilation. +\end{enumerate} +\noindent On peut voir chacune de ces valeurs pour un chemin de +recherche +donn en utilisant l'option de dbogage (voir page~\pageref{Debugging}). + +\subsubsection{Fichiers de configuration} + +\begingroup\tolerance=3500 +\KPS{} lit dans les \emph{fichiers de configuration + l'excution} appels \file{texmf.cnf} les chemins de recherche et +d'autres dfinitions. Le chemin pour accder ces fichiers dans +l'arborescence est stock dans la variable \envname{TEXMFCNF} +(par dfaut ces +fichiers se trouvent dans le sous-rpertoire \file{texmf/web2c}). +\emph{Tous} les fichiers \file{texmf.cnf} se trouvant dans le chemin +de recherche vont tre lus et les dfinitions provenant +de fichiers prcdents craseront celles des fichiers suivants. Par +exemple, avec un chemin tel que \verb|.:$TEXMF|, les dfinitions du +fichier \filename{./texmf.cnf} crasent celles de +\verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + Les commentaires sont signals par un \texttt{\%} et + se terminent la fin de la ligne. +\item + Les lignes vides sont ignores. +\item + Un \bs{} la fin d'une ligne joue le rle d'un lien entre deux + lignes, c'est--dire que la ligne courante se poursuit la ligne + suivante. Dans ce cas, les espaces prsents au dbut de la ligne + suivante ne sont pas ignors. +\item + Toutes les autres lignes sont de la forme : +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + o le \samp{=} et les espaces autour sont optionnels. +\item + Le nom de la \ttvar{variable} peut contenir n'importe + quel caractre autre que les espaces, \samp{=}, ou \samp{.}, mais + on recommande d'utiliser \samp{A-Za-z\_} pour viter les + problmes. +\item + Si \samp{.\var{progname}} est prsent, sa dfinition + s'applique seulement si le programme excut se nomme + \texttt{\var{progname}} ou \texttt{\var{progname}.exe}. Ceci permet + par exemple diffrentes variantes de \TeX{} d'avoir des chemins de + recherche diffrents. +\item + \var{value} peut contenir n'importe quel caractre + except \code{\%} et \samp{@}. + L'option + \code{\$\var{var}.\var{prog}} + n'est pas disponible droite du signe \samp{=} ; + la place, on doit utiliser une variable supplmentaire. Un +\samp{;}\ dans \var{value} +est compris comme un + \samp{:}\ si on travaille sous Unix ; ceci est trs utile et + permet d'avoir un seul \file{texmf.cnf} pour les systmes Unix, + \acro{MS-DOS} et Windows. +\item + Toutes les dfinitions sont lues avant tout dsarchivage ou + dcompactage, de telle faon que les variables peuvent tre + rfrences avant d'tre dfinies. +\end{itemize} +Voici un fichier de configuration illustrant les points +prcdents +\ifSingleColumn + +%\verbatiminput{examples/ex5.tex} % trop petit (df) +\begin{verbatim} +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// +TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// +% e-TeX related files +TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// +TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// +\end{verbatim} + +\else +dans la figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Expansion d'un chemin de recherche} +\label{Path-expansion} + +\KPS{} reconnat certains caractres et constructions spciales dans +les chemins de recherche, semblables ceux disponibles dans les +\textit{shells} Unix. Ainsi, le chemin complexe, +\verb+~$USER/{foo,bar}//baz+ %$ +tend la recherche vers tous les sous-rpertoires situs sous les +rpertoires \file{foo} et \file{bar} dans le rpertoire utilisateur +\texttt{\$USER} contenant un rpertoire ou un fichier appel %$ +\file{baz}. Ces expansions sont explicites dans les sections +suivantes. + +\subsubsection{Expansion par dfaut} +\label{Default-expansion} + +\tolerance=2500 +Si le chemin de recherche le plus prioritaire (voir +section~\ref{Path-sources}) contient un \samp{:} +\emph{supplmentaire} (c.--d. en dbut ou fin de ligne ou +double), \KPS{} insre cet endroit le chemin suivant dont la +priorit dfinie est immdiatement infrieure. Si ce chemin insr +possde un \samp{:} supplmentaire, le mme processus se +rpte pour le chemin prioritaire suivant. +Par exemple, tant donn une variable d'environnement dfinie ainsi + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +la valeur de \code{TEXINPUTS} d'aprs le fichier \file{texmf.cnf} tant + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +alors la valeur finale utilise pour la recherche sera + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Comme il est inutile d'insrer la valeur par dfaut en plusieurs +endroits, \KPS{} applique la substitution seulement un \samp{:} +supplmentaire et laisse les autres inchangs : il cherche d'abord un +\samp{:} en dbut de ligne, puis en fin de ligne et enfin un double +\samp{:}. + +\subsubsection{Expansion spcifie par les accolades} + +Option utile, l'expansion par le biais des accolades +signifie, par exemple, que \verb+v{a,b}w+ va permettre la recherche +dans \verb+vaw:vbw+. Les dfinitions embotes sont autorises. Ceci +peut tre utilis pour tablir des hirarchies \TeX{} multiples en +attribuant une liste entre accolades \code{\$TEXMF}. Par exemple, +dans \file{texmf.cnf}, on trouve une dfinition du type suivant +(il y a en fait plus de rpertoires) : +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFSYSVAR,!!$TEXMFMAIN} +\end{verbatim} +Avec ceci, on peut crire quelque chose comme +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +ce qui signifie que, aprs avoir cherch dans le rpertoire courant, les +arborescences compltes \code{\$TEXMFHOME/tex} suivie de +\code{\$TEXMFLOCAL/tex} (sur le disque) et ensuite les arborescences +\code{!!\$TEXMFVAR/tex} et \code{!!\$TEXMFMAIN/tex} +(dfinies dans le fichier de rfrence \file{ls-R} \emph{seulement}) seront +inspectes. C'est un moyen pratique permettant d'utiliser en parallle deux +distributions \TeX{}, une \og gele\fg{} (sur un \CD, par exemple) et une +autre rgulirement mise jour avec de nouvelles versions quand elles +deviennent disponibles. En utilisant la variable \code{\$TEXMF} dans toutes +les dfinitions, on est toujours sr d'inspecter d'abord l'arborescence la +plus rcente. + +\subsubsection{Expansion des sous-rpertoires} +\label{Subdirectory-expansion} + +Deux barres \samp{//} ou plus conscutives dans une partie d'un chemin suivant +un rpertoire \var{d} sont remplaces par tous les sous-rpertoires de +\var{d} : d'abord les sous-rpertoires directement prsents dans +\var{d}, ensuite les sous-rpertoires de ceux-ci, et ainsi de suite. +chaque niveau, l'ordre dans lequel les rpertoires sont inspects est +\emph{non-dtermin}. + +Dans le cas o l'on spcifie une partie de nom de fichier aprs le +\samp{//}, seuls sont inclus les sous-rpertoires auxquels le nom +correspond. Par exemple, \samp{/a//b} va correspondre aux rpertoires +\file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b}, et ainsi de suite, mais pas \file{/a/b/c} ni +\file{/a/1}. + +Des \samp{//} multiples et successifs dans un chemin sont possibles, +mais \samp{//} au dbut d'un chemin est ignor. + +\subsubsection{Liste des caractres spciaux et de leur signification : + rcapitulatif} + +La liste suivante rcapitule la signification des caractres spciaux +dans les fichiers de configuration de \KPS{}. + +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} + +\begin{ttdescription} + +\item[\CODE{:}] Sparateur dans un chemin de recherche ; au dbut + ou la fin d'un chemin, il remplace le chemin par dfaut. + +\item[\CODE{;}] Sparateur dans les systmes non-Unix + (joue le rle de \code{:}). + +\item[\CODE{\$}] Substitue le contenu d'une variable. + +\item[\CODE{\string~}] Reprsente le rpertoire racine de + l'utilisateur. + +\item[\CODE{\char`\{...\char`\}}] Expansion par les accolades, + par exemple \verb+a{1,2}b+ devient \verb+a1b:a2b+. + +\item[\CODE{//}] La recherche concernera aussi les sous-rpertoires + (peut tre insr n'importe o dans un chemin sauf au dbut). + +\item[\CODE{\%}] Dbut d'un commentaire. + +\item[\CODE{\bs}] Caractre de continuation de ligne (permet les + entres sur plusieurs lignes). + +\item[\CODE{!!}] Cherche \emph{seulement} dans la base de + donnes pour localiser le fichier et \emph{ne cherche pas} sur le disque. + +\end{ttdescription} + +\subsection{Les bases de donnes} +\label{Filename-database} + +\KPS{} a une certaine profondeur d'investigation pour minimiser les +accs disque durant les recherches. Nanmoins, dans le cas de +distributions comprenant beaucoup de rpertoires, inspecter chaque +rpertoire possible pour un fichier donn peut durer excessivement +longtemps (ceci est typiquement le cas quand plusieurs centaines de +rpertoires de polices de caractres doivent tre parcourus). En +consquence, \KPS{} peut utiliser un fichier texte appel \file{ls-R} --- en +fait une base de donnes +construite au pralable --- qui fait correspondre +les fichiers leur rpertoire, ce qui permet d'viter une recherche +exhaustive sur le disque. + +Un deuxime fichier appel \file{aliases} (qui est galement une base de +donnes) permet de donner +des noms diffrents aux fichiers lists dans \mbox{\file{ls-R}}. Ceci peut +aider adapter ses fichiers source aux conventions de \acro{DOS}~8.3 pour les +noms de fichiers. + +\subsubsection{Le fichier base de donnes} +\label{ls-R} + +Comme nous l'avons expliqu ci-dessus, le nom du principal fichier-base de +donnes doit tre \mbox{\file{ls-R}}. +Dans votre installation, vous pouvez en mettre un la racine de chaque +arborescence \TeX{} que vous dsirez voir +inspecter (\code{\$TEXMF} par dfaut) ; la plupart des sites ont +une seule arborescence \TeX{}. \KPS{} cherche les fichiers \file{ls-R} +dans le chemin spcifi dans la variable \code{TEXMFDBS}. + +La meilleure faon de crer et mettre jour le fichier \file{ls-R} +est d'excuter le script \cmdname{mktexlsr} inclus dans la +distribution. Il est appel par les divers scripts \cmdname{mktex}\dots\ +En principe, ce script excute uniquement la commande +%cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R| +% Remplac (df) car \path|...| plante cause de \let\path\url. +\begin{alltt} +cd \var{/your/texmf/root} && \boi{}ls -1LAR ./ >ls-R +\end{alltt} +en supposant que la commande \code{ls} de votre systme produise le bon +format de sortie (le \code{ls} de \acro{GNU} convient +parfaitement). Pour s'assurer que la base de donnes est toujours +jour, le meilleur moyen est de la reconstruire en utilisant la table +des \code{cron}, de telle faon que le fichier \file{ls-R} prenne +automatiquement en compte les changements dans les fichiers +installs, par exemple aprs une installation ou une +mise jour d'un composant \LaTeX{}. + +Si un fichier n'est pas trouv dans la base de donnes, par dfaut +\KPS{} dcide de le chercher sur le disque. Par contre, si un lment du +chemin commence par \samp{!!}, \emph{seule} la base de donnes +sera inspecte pour cet lment, jamais le disque. + +\subsubsection{kpsewhich : programme de recherche dans une arborescence} +\label{Invoking-kpsewhich} + +Le programme \texttt{kpsewhich} effectue une recherche dans une +arborescence indpendamment de toute application. On peut le +considrer comme une sorte de \code{find} pour localiser des fichiers +dans les arborescences \TeX{} (ceci est largement utilis dans les +scripts \cmdname{mktex}\dots\ de la distribution). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Les options spcifies dans \ttvar{option} peuvent +commencer soit par \samp{-} soit par \samp{-{}-} ; n'importe quelle +abrviation claire est accepte. + +\KPS{} considre tout argument non optionnel dans la ligne de commande +comme un nom de fichier et renvoie la premire occurrence trouve. Il +n'y a pas d'option pour renvoyer tous les fichiers ayant un nom +particulier (vous pouvez utiliser le \cmdname{find} d'Unix pour cela). + +Les options les plus importantes sont dcrites ci-aprs. + +\begin{ttdescription} +%\renewcommand{\makelabel}[1]{\descriptionlabel{\makebox[1.2in]{#1}}} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} \\ + Dfinit la rsolution \ttvar{num} ; ceci affecte + seulement la recherche des fichiers \samp{gf} et \samp{pk}. \samp{-D} est un + synonyme pour assurer la compatibilit avec \cmdname{dvips}. Le dfaut + est 600. +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Dfinit le format pour la recherche \ttvar{name}. + Par dfaut, le format est estim en fonction du nom de fichier. + Pour les formats qui n'ont pas de suffixe clair associ, comme les + fichiers de support \MP{} et les fichiers de configuration + \cmdname{dvips}, vous devez spcifier le nom connu de \KPS, comme + \texttt{tex} ou \texttt{enc files}. Excutez la commande + \texttt{kpsewhich -{}-help} pour obtenir la liste prcise. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Dfinit le nom du mode comme tant \ttvar{string} ; +ceci affecte seulement la recherche des \samp{gf} et des \samp{pk}. +Pas d'option par dfaut, n'importe quel mode sera trouv. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Fait tout ce qui est possible pour trouver les fichiers, ce qui +inclut une recherche sur le disque. Par dfaut, seule la base de +donnes \file{ls-R} est inspecte, dans un souci d'efficacit. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Recherche dans le chemin \ttvar{string} (spar par +deux-points comme d'habitude), au lieu de prendre le chemin partir +du nom de fichier. \samp{//} et toutes les expansions habituelles sont +supportes. + Les options \samp{-{}-path} et \samp{-{}-format} s'excluent mutuellement. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Dfinit le nom de programme comme tant \ttvar{name}. + Ceci peut affecter les chemins de recherche via l'option + \texttt{.\var{progname}} dans les fichiers de configuration. + Le dfaut est \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + Montre le chemin utilis pour la recherche des fichiers de type +\ttvar{name}. + On peut utiliser soit une extension de fichier (\code{.pk}, \code{.vf}, + etc.), soit un nom de fichier, comme avec l'option \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + Dfinit les options de dbogage comme tant + \ttvar{num}. +\end{ttdescription} + +\subsubsection{Exemples d'utilisation} +\label{SExamplesofuse} + +Jetons un coup d'{\oe}il \KPS{} en action ; voici une recherche +toute simple : + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Nous recherchons le fichier \file{article.cls}. Puisque le suffixe +\file{.cls} est non-ambigu, nous n'avons pas besoin de spcifier que +nous voulons rechercher un fichier de type \optname{tex} (rpertoires des +fichiers sources de \TeX{}). Nous le trouvons dans le sous-rpertoire +\filename{tex/latex/base} du rpertoire racine \samp{TEXMF}. De mme, + le suffixe non-ambigu permet de trouver facilement les autres fichiers. +\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} + +Le dernier exemple est une base de donnes bibliographiques pour \BibTeX{} +servant aux articles de \textsl{TUGBoat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Les fichiers de glyphes de fontes bitmaps, de type +\file{.pk}, sont +utiliss pour l'affichage par des programmes comme \cmdname{dvips} et +\cmdname{xdvi}. Rien n'est renvoy dans ce cas puisque il n'y a pas +de fichiers Computer Modern \file{.pk} pr-crs sur nos systmes +(nous utilisons les versions type~1 du \TL{}). +\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} +Pour ces fontes (alphabet phontique de l'universit Washington), +nous avons d crer les fichiers \file{.pk} et, puisque le mode \MF{} par +dfaut sur notre installation est \texttt{ljfour} avec une rsolution de +base de 600\dpi{} \textit{(dots per inch)}, cette instance est trouve. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +Dans ce cas, lorsque l'on spcifie que nous recherchons une +rsolution de 300\dpi{} (\texttt{-dpi=300}) nous voyons qu'aucune fonte +pour cette rsolution n'est disponible dans le systme. En fait, un +programme comme \cmdname{dvips} ou \cmdname{xdvi} ne s'en +proccuperait pas et crerait les fichiers \file{.pk} la +rsolution demande en utilisant le script \cmdname{mktexpk}. + +Intressons-nous prsent aux fichiers d'en-tte et de configuration +pour \cmdname{dvips}. +Regardons en premier le fichier \file{tex.pro} communment utilis +pour le support de \TeX{} avant de regarder le fichier +de configuration gnrique (\file{config.ps}) et la liste des fontes +\PS{} \file{psfonts.map}. Depuis l'dition 2004, les fichiers +\file{.map} et les fichiers de codage ont chang de place dans +l'arborescence \dirname{texmf}. Comme le suffixe \file{.ps} est +ambigu, nous devons spcifier quel type particulier du fichier +\texttt{config.ps} nous considrons (\optname{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} + +Regardons plus en dtail les fichiers de support Times +\PS{} d'\acro{URW}. Leur nom standard dans le schma de nommage des fontes +est \samp{utm}. Le premier fichier que nous voyons est le +fichier de configuration, qui contient le nom du fichier +de la liste : +\begin{alltt} +> \Ucom{kpsewhich -{}-format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Le contenu de ce fichier est +\begin{alltt} + p +utm.map +\end{alltt} +qui pointe vers le fichier \file{utm.map}, que nous cherchons +localiser ensuite. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Ce fichier liste les noms des fichiers des +fontes \PS{} de type~1 dans la collection URW. Son contenu +ressemble (nous ne montrons qu'une partie des lignes) : +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Prenons par exemple le cas de Times Roman \file{utmr8a.pfb} et +trouvons sa position dans l'arborescence \file{texmf} en utilisant une +recherche applicable aux fichiers de fontes de type~1 : +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Il devrait tre clair, d'aprs ces quelques exemples, qu'il est facile +de trouver l'endroit o se cache un fichier donn. C'est +particulirement important si vous suspectez que c'est, pour une +raison quelconque, une mauvaise version du fichier qui est utilise, +puisque \cmdname{kpsewhich} va vous montrer le premier fichier +trouv. + +\subsubsection{Oprations de dbogage} +\label{Debugging} + +Il est quelquefois ncessaire de savoir comment un programme rfrence +les fichiers. Pour permettre cela, \KPS{} offre +plusieurs niveaux de dbogage : +\begin{ttdescription} +\item[\texttt{\ 1}] Appels \texttt{stat} (test d'existence de fichier). Lors d'une + excution utilisant une base de donnes \file{ls-R} jour, ce niveau + ne devrait donner presque aucune information en sortie. +\item[\texttt{\ 2}] Rfrences aux diffrentes tables (comme la base + de donnes \file{ls-R}, les fichiers de correspondance de fontes, les fichiers de + configuration). +\item[\texttt{\ 4}] Oprations d'ouverture et de fermeture des + fichiers. +\item[\texttt{\ 8}] Information globale sur la localisation des types + de fichiers recherchs par \KPS. Ceci est utile pour trouver o a t + dfini le chemin particulier pour un fichier. +\item[\texttt{16}] Liste des rpertoires pour chaque lment du + chemin (utilis uniquement en cas de recherche sur le disque). +\item[\texttt{32}] Recherche de fichiers. +\end{ttdescription} +Une valeur de \texttt{-1} activera toutes les options ci-dessus ; en +pratique, c'est habituellement la valeur la plus adapte. + +De la mme faon, avec le programme \cmdname{dvips}, en utilisant une +combinaison d'options de dbogage, on peut suivre en dtail la +localisation des +diffrents fichiers. De plus, lorsqu'un fichier n'est +pas trouv, la trace du dbogage montre les diffrents rpertoires dans +lesquels le programme va chercher tel ou tel fichier, donnant ainsi +des indices sur le problme. + +Gnralement, comme la plupart des programmes appellent la +bibliothque \KPS{} en interne, on peut slectionner une option de +dbogage en utilisant la variable d'environnement +\envname{KPATHSEA\_DEBUG}, et en la dfinissant gale la valeur (ou + une combinaison de valeurs) dcrite(s) dans la liste ci-dessus. + +Note l'intention des utilisateurs de Windows : il n'est pas facile +de rediriger les messages d'erreur vers un fichier sur ces +systmes. des fins de diagnostic, vous pouvez temporairement +affecter \texttt{KPATHSEA\_DEBUG\_OUTPUT=err.log} pour capturer le flux +standard d'erreur dans le fichier \texttt{err.log}. + +Considrons comme exemple un petit fichier source \LaTeX{}, +\file{hello-world.tex}, dont le contenu est le suivant. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Ce petit fichier utilise simplement la fonte \file{cmr10}, aussi +allons voir comment \cmdname{dvips} prpare le fichier \PS{} +(nous voulons utiliser la version type~1 +des fontes Computer Modern, d'o l'option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +Dans ce cas, nous avons combin le niveau 4 de dbogage de +\cmdname{dvips} (chemins des fontes) avec l'option d'expansion des +lments du chemin de \KPS\ (voir \cmdname{dvips} Reference Manual, +\OnCD{texmf/doc/html/dvips/dvips_toc.html} sur le \DVDlive{}). +La sortie (lgrement formate) apparat dans la +figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Recherche des fichiers de configuration}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Recherche du fichier prolog}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Recherche du fichier de fontes}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} commence par localiser ses fichiers de +fonctionnement. D'abord, \file{texmf.cnf} est trouv, ce qui donne les +dfinitions pour les chemins de recherche servant localiser les +autres fichiers, ensuite le fichier base de donnes \file{ls-R} (pour +optimiser la recherche des fichiers) et le fichier \file{aliases}, qui +permet de dclarer plusieurs noms (\p.ex., un nom \acro{DOS} de type +8.3 court et une version longue plus naturelle) pour le mme +fichier. Ensuite \cmdname{dvips} continue en cherchant le fichier de +configuration gnrique \file{config.ps} avant de rechercher le fichier +de paramtrisation \file{.dvipsrc} (qui, dans notre cas, \emph{n'est +pas trouv}). Enfin, \cmdname{dvips} localise le fichier de +configuration pour les fontes \PS{} Computer Modern +\file{config.cms} (ceci est lanc par l'option \mbox{\texttt{-Pcms}} de la +commande \cmdname{dvips}). Ce fichier contient la liste des fichiers + qui dfinissent la relation entre les noms des fontes +selon \TeX{}, selon \PS{} et dans le systme de fichiers. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} veut chercher tous ces fichiers, y compris le +fichier gnrique d'association \file{psfonts.map}, qui est toujours +charg (il contient des dclarations pour les fontes \PS{} les +plus communment utilises ; voir la dernire partie de la Section +\ref{SExamplesofuse} pour plus de dtails sur la gestion du fichier +d'association \PS{}). + +Arriv l, \cmdname{dvips} s'identifie l'utilisateur : + \begin{alltt} + This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) + \end{alltt} + +\ifSingleColumn +pour continuer ensuite en cherchant le fichier prologue \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 +pour continuer ensuite en cherchant le fichier prologue \file{texc.pro} +(voir la figure~\ref{fig:dvipsdbgb}). +\fi + +Aprs avoir trouv ce fichier, \cmdname{dvips} affiche la date et +l'heure, et nous informe qu'il va gnrer le fichier +\file{hello-world.ps}, puis qu'il a besoin du fichier de fonte +\file{cmr10}, et que ce dernier est dclar comme \og rsident\fg{} +(pas besoin de bitmaps) : +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Maintenant la recherche concerne le fichier \file{cmr10.tfm}, qui est +trouv, puis quelques fichiers de prologue de plus (non montrs) sont +rfrencs ; finalement le fichier de la fonte type~1 \file{cmr10.pfb} +est localis et inclus dans le fichier de sortie (voir la dernire ligne). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Options l'excution} + +\Webc{} offre la possibilit de contrler l'excution bon nombre de +paramtres concernant la mmoire (en particulier la taille des +tableaux utiliss) partir du fichier +\file{texmf.cnf} qui est lu par \KPS. +Les paramtres en question se trouvent +dans la troisime partie du fichier inclus dans la distribution \TL{}. + Les variables les plus importantes sont : +\begin{ttdescription} +\item[\texttt{main\_memory}] + Nombre total de mots mmoire disponibles pour + \TeX{}, \MF{} et \MP. Vous devez gnrer un nouveau fichier de + format pour chaque nouveau paramtrage. Par exemple, vous pouvez + gnrer une version large de \TeX{} et appeler le fichier de format + \texttt{hugetex.fmt}. En utilisant la mthode supporte par \KPS{} + qui consiste suffixer la variable par le nom du programme, la valeur + particulire de la variable \texttt{main\_memory} destine ce + fichier de format sera lue dans le fichier \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Espace supplmentaire pour certaines structures de donnes de \TeX{} : + botes, \textit{glue}, points d'arrt\dots{} Surtout utile si vous utilisez + \PiCTeX{} par exemple. +\item[\texttt{font\_mem\_size}] + Nombre de mots mmoire disponibles pour dcrire les polices. C'est + plus ou moins l'espace occup par les fichiers TFM lus. +\item[\texttt{hash\_extra}] + Espace supplmentaire pour la table de hachage des noms de squences + de contrle. Environ 10~000 de ces noms peuvent tre stocks dans la + table principale ; si vous avez un document trs volumineux avec + beaucoup de rfrences croises, il se peut que ce ne soit pas + suffisant. La valeur par dfaut \texttt{hash\_extra} est \texttt{50000}. +\end{ttdescription} + +\noindent videmment, cette possibilit ne remplace pas une vritable +allocation dynamique des tableaux et de la mmoire, mais puisque c'est +complexe implmenter dans le prsent source \TeX{}, ces paramtres lus + l'excution fournissent un compromis pratique qui procure une certaine +souplesse. + +%\begin{comment} (supprim (df) 5/5/2006, mail K.B. + +\section{Installation sur un nouveau systme Unix} + +Si vous avez un systme Unix ne correspondant aucun des excutables +fournis, il faut compiler vous-mme \TeX{} et tous ses programmes +satellites partir des sources. Cela n'est pas aussi difficile qu'il +y parat. Tout ce dont vous aurez besoin est contenu dans le +rpertoire \texttt{source} qui se trouve sur le \DVDlive. + +\subsection{Prrequis} + +Il faut au moins 400\,Mo d'espace sur disque pour compiler la +totalit de \TeX{} et des programmes associs. +Vous aurez aussi besoin d'un +compilateur C \acro{ANSI}, de l'utilitaire \cmdname{make}, +d'un gnrateur d'analyseur lexical et d'un gnrateur d'analyseur +syntaxique. Nous recommandons les versions \acro{GNU} des programmes suivants +(\cmdname{gcc}, \acro{GNU}\cmdname{make}, \cmdname{m4}, +\cmdname{flex}, \cmdname{bison}). Vous pouvez utiliser d'autres compilateurs C +et d'autres programmes \cmdname{make} si vous matrisez +correctement la programmation sous Unix pour rsoudre les +problmes ventuels. La commande \texttt{uname} doit renvoyer une valeur +raisonnable. + +\subsection{Configuration} + +Tout d'abord, effectuez l'installation normale de \TL{} sur le disque +dur (voir section~\ref{sec:unix-install-disk}, +\p.\pageref{sec:unix-install-disk}). Vous pouvez sauter l'installation de +tous les binaires prcompils. +Dcompactez ensuite sur le disque le fichier +\file{source.tar.bz2} (archive compresse) trouv dans +le rpertoire \dirname{source} et placez-vous dans +le rpertoire o vous avez transfr l'ensemble. +\begin{alltt} +> \Ucom{cd /tmp/tl-source} +> \Ucom{bunzip2 source.tar.bz2} +> \Ucom{tar xf source.tar} +\end{alltt} + +Lancez maintenant \textsf{configure} de la faon suivante : +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/texlive/2007} +\end{alltt} + +Le rpertoire \optname{-prefix} est le rpertoire de base de +l'arborescence \TL{}, il est dsign par \var{TEXDIR} dans la suite. +\begin{comment} +Les rpertoires utiliss sont les suivants : + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/texmf-dist} & rpertoire de base pour les fontes, + macros, etc\\ + \dirname{$TEXDIR/man} & pages du manuel Unix\\ + \dirname{$TEXDIR/info} & manuels \acro{GNU} en format Info\\ + \dirname{$TEXDIR/bin/$archname} & excutables.\\ +\end{tabular}\\ +\end{comment} +%$ + +Si vous ne voulez pas crer de rpertoire \dirname{$archname} spcifique %$ +au systme choisi pour stocker les excutables (c.--d. les +copier directement dans \dirname{$TEXDIR/bin}), %$ +il faut excuter \textsf{configure} avec l'option \\ +\verb|--disable-multiplatform|. + +Tapez \verb|./configure --help|, le programme affichera +les options supplmentaires disponibles (telles que supprimer l'installation +des extensions optionnelles comme \OMEGA\ ou \eTeX). + +\subsection{Excuter \textsf{make}} +S'assurer que la variable ou l'option \texttt{noclobber} n'est pas dfinie. + et lancer le \cmdname{make} la racine de l'arborescence de la faon +suivante : +\begin{alltt} +>> \Ucom{make world} +\end{alltt} +et aller prendre un caf\dots + +Il peut tre utile de garder une trace complte dans un fichier log en tapant : +\begin{alltt} +>> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Avant de conclure que tout va bien, vrifier que le fichier log ne contient +pas de message d'erreur : le \cmdname{make} de \acro{GNU} renvoie toujours +le message \samp{***} chaque erreur d'excution. Vrifier aussi que +tous les excutables ont t crs. +\begin{alltt} +>> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +>> \Ucom{ls | wc} +\end{alltt} +Le rsultat doit tre suprieur 200 (on peut tester le nombre exact +dans le rpertoire \dirname{bin} de la distribution). + +Si vous avez besoin de droits spciaux pour excuter \texttt{make install}, +vous pouvez sparer \samp{make world} en deux processus diffrents : +\begin{alltt} +>> \Ucom{make all} +>> \Ucom{su} +>> \Ucom{make install strip} +\end{alltt} + +Aprs avoir install vos nouveaux binaires, il faut suivre les procdures +normales de la post-installation, indiques dans la +section~\ref{sec:postinstall}, \p.\pageref{sec:postinstall}. + +%\end{comment} supprim (df) 5/5/2006 + +\section{Remerciements} + +\TL{} est le rsultat des efforts +collectifs de pratiquement tous les groupes d'utilisateurs de \TeX. +La prsente dition de \TL{} a t coordonne par +Sebastian Rahtz et Karl Berry. +Voici la liste des principaux contributeurs : + +\begin{itemize} + +\item Les associations d'utilisateurs anglais, allemands, nerlandais et + polonais (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, + respectivement) qui contribuent ensemble l'infrastructure technique et + administrative. Soutenez votre association locale (\acro{GUTenberg} pour + les francophones) ! + +\item L'quipe du \acro{CTAN} qui distribue les images des distributions \TL{} + et fournit les sites d'hbergement pour le stockage et la mise jour des + extensions qui sont la base de \TL. + +\item Peter Breitenlohner et toute l'quipe \eTeX{} qui construisent + les bases des successeurs de \TeX. + +\item Thomas Esser, car, sans lui, sa merveilleuse distribution \teTeX{} et + son aide continuelle, \TL{} n'existerait probablement pas. + +\item Michel Goossens, en tant que co-auteur de la documentation initiale. + +\item Eitan Gurari, dont le programme \TeX4ht a t utilis pour crer la + version \HTML{} de cette documentation et qui travailla inlassablement + l'amliorer, avec des dlais trs brefs. + +\item Hans Hagen qui, outre sa participation active aux tests, + a adapt le format \ConTeXt\ aux besoins de \TL{}. + +\item \Thanh, Martin Schr\"oder et toute l'quipe pdf\TeX\ qui continuent + inlassablement tendre les performances de \TeX. + +\item Taco Hoekwater, pour ses efforts sans cesse renouvels l'amlioration + de MetaPost et de \TeX\ lui-mme. + +\item Pawe{\l} Jackowski, pour l'installeur Windows \cmdname{tlpm}, +et Tomasz {\L}uczak, pour la version graphique \cmdname{tlpmgui}. + +\item Akira Kakuto, pour son aide prcieuse qui nous a permis + d'intgrer dans \TL{} les binaires Windows de sa distribution \acro{W32TEX} + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). + +\item Jonathan Kew et son employeur \acro{SIL}, pour avoir produit + Xe\TeX{} et pour avoir pris la peine de l'intgrer dans \TL{}. + +\item Reinhard Kotucha, pour son aide dans la lourde tche consistant +mettre jour les innombrables extensions incluses dans \TL{} et pour ses +contributions sous Windows en particulier le script \texttt{getnonfreefonts}. + +\item Petr Ol\v{s}ak, qui coordonna et vrifia minutieusement toute la + partie tchque et slovaque. + +\item Toshio Oshima, pour le visualisateur \cmdname{dviout} pour Windows. + +\item Fabrice Popineau, pionnier du dveloppement de \TL{} sous Windows. + +\item Norbert Preining, pour son aide la mise jour de \TL, ses nombreuses + suggestions d'amlioration et pour avoir coordonn (avec Frank K\"uster) la + version Debian de \TL. + +\item Staszek Wawrykiewicz, principal testeur de \TL{} et + coordinateur des contributions polonaises + (fontes, installation Windows, etc.). + +\item Olaf Weber, pour son patient assemblage et la maintenance de \Webc{} + sur laquelle tout repose. + +\item Gerben Wierda, qui a cr et maintient la partie \MacOSX{} + et qui participe activement aux tests. + +\item Graham Williams, du travail duquel dpend le catalogue des +composants. +\end{itemize} + +Les binaires ont t compils par : +Hartmut Henkel (\pkgname{x86\_64-linux}), +Akira Kakuto et Fabrice Popineau (\pkgname{win32}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux} + et \pkgname{sparc-solaris}), +Karl Berry (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Documentation et mises jour des traductions : +Karl Berry (anglais), +G\"unter Partosch, Hartmut Henkel \& Klaus H\"oppner (allemand), +Daniel Flipo (franais), +Petr Sojka \& Janka Chleb\'\i kov\'a (tchque et slovaque), +Boris Veytsman (russe), +Staszek Wawrykiewicz (polonais). + +Bien sr, notre gratitude va en premier lieu Donald Knuth pour avoir +invent \TeX{} et l'avoir offert au monde entier. + +\section{Historique des versions successives} +\label{sec:history} + +\subsection{Les ditions prcdentes} + +La discussion commena la fin de 1993 quand le Groupe des Utilisateurs +Nerlandais de \TeX{} commenait travailler son \CD{} 4All\TeX{} pour les +utilisateurs de \acro{MS-DOS}, et on esprait ce moment sortir un \CD{} +unique pour tous les systmes. C'tait un objectif beaucoup trop ambitieux, +mais il permit la naissance du \CD{} 4All\TeX{}, projet couronn de succs, +mais aussi d'un groupe de travail \og \acro{TUG} Technical Council\fg{} pour +mettre en place TDS (\emph{\TeX{} Directory Structure} : +\url{http://tug.org/tds}), qui spcifiait la gestion des fichiers \TeX{} sous +une forme logique. La mouture finale de \TDS{} fut publie dans le numro de +dcembre 1995 de \textsl{TUGboat}, et il tait clair depuis un certain temps +qu'il fallait proposer un produit contenant une structure modle sur \CD{}. +La distribution que vous possdez est le rsultat direct des dlibrations de +ce groupe de travail. Il tait galement clair que le succs des \CD{} +4All\TeX{} dmontrait que les utilisateurs d'Unix trouveraient leur bonheur +avec une distribution aussi simple, et ceci a t l'autre objectif de +\TL. + +Nous avons d'abord entrepris de crer un nouveau \CD{} \TDS{} Unix l'automne +1995, et nous avons rapidement choisi \teTeX{} de Thomas Esser comme tant la +configuration idale, car il supportait dj plusieurs plates-formes et avait +t construit en gardant l'esprit la portabilit entre systmes. Thomas +accepta de nous aider et commena travailler srieusement au dbut de 1996. +La premire dition sortit en mai 1996. Au dbut de 1997, Karl Berry acheva +une nouvelle distribution de \Webc{}, qui incluait presque toutes les +caractristiques que Thomas Esser avait ajoutes dans \teTeX, et il fut dcid +de baser la deuxime dition du \CD{} sur le standard \Webc, en y ajoutant le +script \texttt{texconfig} de \teTeX. La troisime dition du \CD{} tait +base sur une version majeure de \Webc, 7.2, par Olaf Weber ; en mme temps, +une nouvelle version rvise de \teTeX{} tait acheve dont \TL{} partageait +presque toutes les caractristiques. La quatrime dition a suivi le mme +schma, en utilisant une nouvelle version de \teTeX{} et une nouvelle version +de \Webc{} (7.3). Le systme incluait dornavant un programme complet +d'installation pour Windows. + +Pour la cinquime dition (mars 2000), de nombreuses parties du \CD{} +ont t vrifies et rvises, des centaines de composants +mis jour. +Le contenu dtaill des composants tait dcrit par des +fichiers XML. Mais le changement majeur de cette cinquime dition a +t la suppression de tout logiciel non libre de droits. +Tout ce qui se trouve dans \TL{} devait tre compatible avec la licence +Debian (\emph{Debian Free Software Guidelines} : +\url{http://www.debian.org/intro/free}) ; nous avons +fait de notre mieux pour vrifier les termes des licences de chaque +composant, et nous souhaiterions que toute erreur nous soit signale. + +La sixime dition (juillet 2001) contient un grand nombre de mises jour. +Le changement majeur de cette version rside dans la refonte du +processus d'installation : l'utilisateur peut dsormais choisir +les collections de manire plus prcise. Les collections concernant +les langues ont t entirement rorganises, aussi le choix d'une +langue installe non seulement les macros, les fontes, etc. mais +prpare galement un fichier \file{language.dat} adquat. + +La septime dition (mai 2002) a comme ajout majeur une installation +pour \MacOSX{} et l'habituelle myriade de mises jour de composants et +de programmes. Un objectif important a t de fusionner +nouveau les sources avec ceux de \teTeX{}, alors que les versions +5 et 6 s'en taient loignes. + +\subsubsection{2003} + +En 2003, le flot de mises jour et d'additions a continu, mais nous +avons constat que \TL{} tait devenu si volumineux qu'il ne +pouvait plus tenir sur un seul \CD, aussi l'avons-nous divis en trois +distributions distinctes (voir section~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}). Par ailleurs : +\begin{itemize} +\item la demande de l'quipe \LaTeX{}, nous avons modifi les + commandes standard \cmdname{latex} et \cmdname{pdflatex} pour + qu'elles utilisent \eTeX{} (voir \p.\pageref{text:etex}). +\item Les nouvelles fontes Latin Modern sont disponibles (et + recommandes). +\item Le support pour Alpha \acro{OSF} a t supprim + (celui pour \acro{HPUX} l'avait t auparavant), car personne + disposant des machines ncessaires ne s'est + propos pour compiler les nouveaux binaires. +\item L'installation pour Windows a t largement modifie ; un environnement + de travail intgr bas sur \cmdname{XEmacs} a t introduit. +\item Des programmes supplmentaires importants pour Windows (Perl, + Ghost\-script, Image\-Magick, Ispell) sont maintenant installs dans le + rpertoire d'installation de \TL{}. +\item Les fichiers \emph{font map} utiliss par \cmdname{dvips}, + \cmdname{dvipdfm} et \cmdname{pdftex} sont maintenant gnrs par le + nouveau programme \cmdname{updmap} et installs dans + \dirname{texmf/fonts/map}. +\item Dornavant, \TeX{}, \MF{} et \MP{} crivent les caractres 8-bit + prsents en entre sans modification, et non pas avec la notation + \verb|^^|, que ce soit dans des fichiers (par la commande + \verb|write|), dans les fichiers de trace (\verb|.log|) ou sur le + terminal. Dans le \TL{}~7, l'criture de ces caractres + 8-bit tait influence par les paramtres de localisation du + systme; maintenant ces paramtres n'influent plus du tout sur le + comportement des programmes \TeX{}. Si pour quelque raison que ce + soit, vous avez besoin de la notation \verb|^^| en sortie, + renommez le fichier \verb|texmf/web2c/cp8bit.tcx|. Les prochaines + versions disposeront d'un moyen plus propre pour contrler cette + sortie. +\item La documentation de \TL{} a t largement rvise. +\item Enfin, comme la numrotation squentielle des versions + devenait peu maniable, il a t dcid d'identifier dsormais la version + de \TL{} par l'anne : \TL{}~2003 au lieu de \TL{}~8. +\end{itemize} + + +\subsubsection{2004} + +2004 a apport beaucoup de changements (et quelques incompatibilits avec les +versions prcdentes) : + +\begin{itemize} + +\item Si vous avez install des fontes supplmentaires qui ont leur propre +fichier \file{.map} ou des fichiers \file{.enc} spcifiques, vous +devrez vraisemblablement dplacer ces fichiers. + +Les fichiers \file{.map} sont dsormais recherchs uniquement dans les +sous-rpertoires \dirname{fonts/map} (dans chaque arborescence +\filename{texmf}), leur chemin de recherche est donn par la variable +\envname{TEXFONTMAPS} de \filename{texmf.cnf}. +De mme, les fichiers \file{.enc} sont dsormais recherchs uniquement +dans les sous-rpertoires \dirname{fonts/enc}, leur chemin de recherche est +donn par la variable \envname{ENCFONTS} de \filename{texmf.cnf}. +Le script \cmdname{updmap} devrait mettre des messages d'avertissement +pour les fichiers \file{.map} et \file{.enc} mal placs. + +Sur les diffrentes faons de traiter le problme, consulter +\url{http://tug.org/texlive/mapenc.html}. + +\item La distribution pour Windows a chang cette anne : +l'installation de la distribution \fpTeX{} (base sur \Webc{}) de Fabrice +Popineau n'est provisoirement plus propose dans l'attente +d'un nouvel installeur. la place, vous pouvez tester et installer +la distribution \MIKTEX{} (indpendante de \Webc{}), +voir section~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}. +Le \CDdemo{} diffus en 2003 a t supprim. + +\item L'ancien rpertoire \dirname{texmf} a t clat en trois parties : +\dirname{texmf}, \dirname{texmf-dist} et \dirname{texmf-doc}. Voir +section~\ref{sec:tld}, \p.\pageref{sec:tld}. +% et les fichiers \filename{README} la racine de ces rpertoires. +% (df) Y'en a pas !!! + +\item Tous les fichiers relatifs aux diffrents avatars de \TeX{} sont +dsormais regroups dans le mme sous-rpertoire \dirname{tex} des +arborescences \dirname{texmf*} (ils taient jusqu'ici placs dans des +sous-rpertoires spcifiques \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc.). Voir +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + +\item Les scripts auxiliaires, normalement pas excuts directement +par les utilisateurs, sont regroups dans un rpertoire \dirname{scripts} +des arborescences \dirname{texmf*}. On les localise grce la +commande \verb|kpsewhich -format=texmfscripts|. Au cas o vous en auriez, +les programmes utilisant ces scripts ncessiteront une adaptation. Voir +\OnCD{texmf-doc/doc/english/tds/tds.html\#Scripts}. + +\item La plupart des formats affichent en clair (dans les fichiers +\file{.log} en particulier) les caractres imprimables au lieu +de les transcrire en notation hexadcimale \verb|^^|. Ceci se fait +grce au fichier \filename{cp227.tcx}, qui considre comme imprimables +les caractres 32 256, ainsi que les tabulations et les changements +de page (caractres 9 11). Les formats faisant exception sont +plain \TeX\ (seuls les caractres 32 127 sont dclars imprimables), +\ConTeXt{} (0 255 imprimables) et les formats bass sur \OMEGA. +Il y a peu de diffrence avec le comportement de \TL\,2003 +mais la mise en {\oe}uvre est plus propre et plus facilement configurable. +Voir \OnCD{texmf/doc/web2c/web2c.html\#TCX-files}. +Noter que l'utilisation du codage Unicode en entre peut provoquer +des affichages dfectueux en sortie (TeX code sur un seul octet). + +\item Tous les formats, sauf plain \TeX, font appel au moteur +\textsf{pdfetex} (qui produit bien sr par dfaut des fichiers \acro{DVI} +lorsque le format choisi est \LaTeX). Ceci permet aux formats +\LaTeX, \ConTeXt, etc., d'avoir accs aux fonctionnalits +micro-typographiques de pdf\TeX{} (alignement optique des marges par exemple) +et aux fonctionnalits de \eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). + +Ceci rend \emph{indispensable} le recours l'extension \pkgname{ifpdf} +(qui fonctionne aussi bien avec plain que \LaTeX) pour dterminer si +le format de sortie est \acro{DVI} ou \acro{PDF}. Tester si la commande +\cs{pdfoutput} est dfinie ou non \emph{n'est pas} un moyen fiable +de le faire. + +\item pdf\TeX\ (\url{http://pdftex.org}) offre de nouvelles fonctionnalits : + + \begin{itemize} + + \item Les commandes \cs{pdfmapfile} et \cs{pdfmapline} permettent + de spcifier le choix des fichiers \file{.map} utiliser + pour le document en cours. + + \item L'amlioration du gris typographique par variation (infime) de la + largeur des caractres (\textit{font expansion}) est plus facile + mettre en {\oe}uvre, voir + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item Le fichier \filename{pdftex.cfg} n'est plus utilis. + Toutes les affectations de paramtres doivent dsormais tre + faites dans le prambule en utilisant les primitives ad~hoc. + + \item Pour plus d'informations, consulter le manuel de pdf\TeX\ : + \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize} + +\item La primitive \cs{input} de \cmdname{tex}, \cmdname{mf} et +\cmdname{mpost}, accepte dsormais les espaces et autres caractres +spciaux dans les noms de fichiers condition d'utiliser des +\textit{double quotes}, en voici deux exemples typiques : +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +Consulter le manuel \Webc{} pour plus d'informations : \OnCD{texmf/doc/web2c}. + +\item Les fonctionnalits de enc\TeX\ sont dsormais incluses dans \Webc{}. +Ainsi, tous les formats \emph{construits avec l'option \optname{-enc}} y ont +accs. enc\TeX\ permet le transcodage en entre et en sortie et +l'utilisation transparente du codage Unicode \acro{UTF}-8. Voir +\OnCD{texmf-dist/doc/generic/enctex/} et +\url{http://www.olsak.net/enctex.html}. + +\item Un nouveau moteur combinant les fonctionnalits de \eTeX\ +et d'\OMEGA, appel Aleph, est disponible. \OnCD{texmf-dist/doc/aleph/base} +et \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} +fournissent une information succincte. Le format \LaTeX{} utilisant +Aleph s'appelle \textsf{lamed}. + +\item La licence \acro{LPPL} de \LaTeX\ (version dcembre 2003) a chang, +elle est dsormais compatible avec les prescriptions Debian. +Les autres changements sont dcrits dans le fichier \filename{ltnews}, voir +\OnCD{texmf-dist/doc/latex/base}. + +\item Un nouveau programme, \cmdname{dvipng}, qui convertit les fichiers +\acro{DVI} en images \acro{PNG} a t ajout. Voir +\OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Nous avons d rduire le nombre de fontes incluses dans l'extension +\pkgname{cbgreek}, ceci a t fait avec l'accord et l'aide de l'auteur +(Claudio Beccari). Les fontes exclues (invisibles, transparentes, contours) +sont rarement utilises et la place nous manquait. La collection complte +des fontes \pkgname{cbgreek} est disponible sur \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item La commande \cmdname{oxdvi} a t supprime, il suffit utiliser +\cmdname{xdvi} la place. + +\item Les commandes \cmdname{initex}, \cmdname{virtex} et leurs +homologues pour \cmdname{mf} et \cmdname{mpost} ont disparu. +Vous pouvez les recrer si ncessaire mais elles sont avantageusement +remplaces, depuis des annes maintenant, par l'option \optname{-ini} +(\cmdname{tex} \optname{-ini} pour \cmdname{initex} et \cmdname{virtex}). + +\item Les binaires pour l'architecture \textsf{i386-openbsd} ont t + supprims par manque de volontaires pour les compiler. + +Sur \textsf{sparc-solaris} (au moins) il sera probablement +ncessaire de positionner la variable d'environnement +\envname{LD\_LIBRARY\_PATH} pour utiliser les programmes de la famille +\pkgname{t1utils}. Ceci vient du fait qu'ils sont compils en C++, +et que l'emplacement des bibliothques dynamiques est variable. +Ce n'est pas une nouveaut 2004 mais ce point n'tait pas document +prcdemment. De mme, sur \textsf{mips-irix}, les bibliothques dynamiques +\acro{MIPS}pro 7.4 sont ncessaires. + +\end{itemize} + +\subsubsection{2005} + +2005 a apport son lot habituel d'innombrables mises jour d'extensions +et de programmes. L'infrastructure est reste relativement stable par rapport + 2004, quelques changements invitables prs : + +\begin{itemize} + +\item Trois nouveaux scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} ont t introduits ; ils agissent sur la + configuration gnrale de la machine, comme le faisaient les + scripts \cmdname{texconfig}, \cmdname{updmap} et \cmdname{fmtutil} + jusqu' l'an dernier. Les nouveaux scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} modifient maintenant + la configuration \emph{personnelle} de l'utilisateur qui les lance ; + le rsultat est plac dans le rpertoire personnel de l'utilisateur + (sous \dirname{$HOME/.texlive2005}), voir %$ + section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\item De nouvelles variables, \envname{TEXMFCONFIG} (resp. + \envname{TEXMFSYSCONFIG}) ont t introduites ; elles dfinissent + les rpertoires o doivent se trouver les fichiers de configuration de + l'utilisateur (resp. de la machine), comme \filename{fmtutil.cnf} et + \filename{updmap.cfg}. Les utilisateurs de fichiers de configuration + locaux \filename{fmtutil.cnf} ou \filename{updmap.cfg} devront + probablement les dplacer ; une autre possibilit est de modifier la + dfinition des variables \envname{TEXMFCONFIG} ou + \envname{TEXMFSYSCONFIG} dans \filename{texmf.cnf}. L'important est + de s'assurer de la cohrence entre les dfinitions de ces variables + dans \filename{texmf.cnf} et l'emplacement rel de ces fichiers. + Voir section~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees} pour + la description des diffrentes arborescences texmf utilises. + +\item L'an dernier nous avions rendu \og \texttt{undefined} \fg certaines + primitives propres \cmdname{pdftex} (comme \verb|\pdfoutput|) + dans les formats crs partir de \cmdname{pdfetex} (\cmdname{latex} + \cmdname{amstex}, \cmdname{context} par exemple)). + C'tait titre transitoire, aussi cette anne, ces primitives sont de + nouveau dfinies dans tous les formats base \cmdname{pdf(e)tex}, + \emph{mme lorsqu'ils sont utiliss pour produire des fichiers + \file{.dvi}}. Ceci implique qu'il vous faudra modifier vos + documents qui utilisent le test \verb|\ifx\pdfoutput\undefined| + pour dterminer si la sortie est en DVI ou en PDF. Le mieux est + d'utiliser l'extension \pkgname{ifpdf.sty} et son test + \verb|\ifpdf| qui fonctionne mme en plain \TeX. + +\item L'an dernier nous avions fait en sorte que la plupart des formats + impriment dans les sorties \file{.log} des caractres 8-bit + lisibles la place des notations hexadcimales \verb|^^| + (voir section prcdente). + Le nouveau fichier TCX \filename{empty.tcx} permet + de revenir facilement la notation traditionnelle \verb|^^|, il suffit + de coder : +\begin{verbatim} +latex --translate-file=empty.tcx fichier.tex +\end{verbatim} + +\item Le nouveau programme \cmdname{dvipdfmx} est disponible pour convertir + des fichier DVI en PDF ; ce programme remplace \cmdname{dvipdfm}, + toujours disponible mais dont l'usage est maintenant dconseill. + +\item Les variables \envname{HOMETEXMF} et \envname{VARTEXMF} ont t renommes + en \envname{TEXMFHOME} et \envname{TEXMFSYSVAR} respectivement pour + raisons de cohrence avec les autres noms de variables. Il y a aussi + \envname{TEXMFVAR} qui dsigne maintenant un rpertoire personnel + de l'utilisateur (cf. le premier point de la prsente liste). + +\end{itemize} + +\subsection{L'dition 2006--2007} +\label{tlcurrent} + +En 2006--2007, la nouveaut majeure a t l'arrive dans \TL{} de Xe\TeX{} +disponible sous forme de deux programmes \texttt{xetex} et \texttt{xelatex}, +voir \url{http://scripts.sil.org/xetex}. + +MetaPost a subi une mise jour importante et d'autres amliorations +sont prvues, voir \url{http://tug.org/metapost/articles}. Il en va de mme +pour pdf\TeX{}, voir \url{http://tug.org/applications/pdftex}. + +Le format \filename{tex.fmt} et les formats pour MetaPost and \MF\ ne +se trouvent plus dans \dirname{texmf/web2c} mais dans des +sous-rpertoires de \dirname{texmf/web2c} (la recherche de fichiers +\filename{.fmt} est nanmoins faite aussi dans \dirname{texmf/web2c}). +Ces sous-rpertoires portent le nom du moteur utilis pour construire +le format, par exemple \filename{tex}, \filename{pdftex} ou +\filename{xetex}. Ce changement ne devrait pas avoir d'effet visible +pour les utilisateurs. + +Le programme (plain) \texttt{tex} ignore dsormais les lignes commenant +par \texttt{\%\&} qui permettent de dterminer le format utiliser ; +c'est un vrai \TeX{} \og la Knuth \fg ! +\LaTeX\ et tous les autres prennent toujours en compte les lignes commenant +par \texttt{\%\&}. + +Les scripts d'installation peuvent maintenant tre utiliss de manire +non interactive (voir section~\ref{sec:noninteractive-install}) en +positionnant des variables d'environnement. + +Comme chaque anne des centaines d'extensions et de programmes ont t mis +jour, voir les sites \acro{CTAN} (\url{http://www.ctan.org}). + +L'arborescence utilise en interne a t rorganise avec de nouveaux outils +qui devraient fournir une meilleure base de travail pour les dveloppements +futurs. + +Enfin, en mai 2006 Thomas Esser a annonc qu'il renonait poursuivre +le dveloppement de te\TeX{} (\url{http://tug.org/tetex}). Sa dcision a +relanc l'intrt pour \TL, en particulier chez les distributeurs de solutions + \acro{GNU}/Linux (un nouveau schma d'installation \texttt{tetex} a t + ajout dans le script d'installation de \TL{} pour produire une + distribution proche de l'ancienne te\TeX). La distribution \TL{} existe +dj sous forme de paquets Debian, esprons que les autres acteurs du monde +Linux (RedHat, SuSe, etc.) suivront et que les utilisateurs +se verront proposer l'avenir des distributions \TeX{} riches et plus +faciles installer. + + + +\subsection{Versions futures} + +\emph{\TL{} n'est pas un produit parfait !} +(et ne le sera jamais). Nous prvoyons de continuer produire de +nouvelles versions, et aimerions fournir plus d'aide, de +fonctionnalits, de programmes d'installation, et (bien sr) une +arborescence amliore et vrifie de macros et de fontes. Ce travail +est effectu par des volontaires dbords, dans la limite de leur temps +libre, et beaucoup reste faire. Si vous pouvez nous aider, n'hsitez pas + vous proposer ! + +Corrections, suggestions et propositions d'aide doivent +tre envoyes :\hfill\null +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Bon travail avec \TeX{} !} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "francais" +%%% TeX-master: t +%%% coding: latin-1 +%%% End: diff --git a/Master/texmf/doc/texlive/source/texlive-fr/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-fr/live4ht.cfg new file mode 100644 index 00000000000..4da18b3c746 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-fr/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% charset=utf-8 fails for French, all accented letters get lost. +\Preamble{html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/source/texlive-fr/tex-live.css b/Master/texmf/doc/texlive/source/texlive-fr/tex-live.css new file mode 100644 index 00000000000..5062bc0d229 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-fr/tex-live.css @@ -0,0 +1,44 @@ +/* $Id$ + Simple CSS for TeX Live that adds margins and a little color. + original by Bzyl Wlodzimierz, edited by Karl Berry, 2005. + Public domain. */ + +html { + // top left bottom right + margin: 15pt 15pt 15pt 15pt; + background: rgb(255,255,224); +} + +body { + margin: 0 5pt 0 5pt; + padding: 0; + //matw: background: rgb(224,255,224); + // (It looks better to me to have a consistent background --karl) +// fonts in browser are low resolution; +// therefore generated serif are poor quality, +// so they disturb reading (that is my opinion) + font-family: sans-serif; + font-style: normal; +} + +/* (It looks better to me to not vary colors at every level --karl) */ + +h3.sectionHead { + padding: 12pt 10pt 12pt 20pt; + //matw: background: rgb(192,224,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h4.subsectionHead { + padding: 7pt 10pt 7pt 40pt; + background: rgb(224,224,255); + color: rgb(0,0,32); +} + +h5.subsubsectionHead { + padding: 3pt 10pt 3pt 40pt; + //matw: background: rgb(224,255,255); + background: rgb(224,224,255); + color: rgb(0,0,32); +} diff --git a/Master/texmf/doc/texlive/source/texlive-fr/texlive-fr.tex b/Master/texmf/doc/texlive/source/texlive-fr/texlive-fr.tex new file mode 100644 index 00000000000..6b74bc3bd13 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-fr/texlive-fr.tex @@ -0,0 +1,3148 @@ +%Format: pdf +% +% Change history (started May 18th 2002) +% 2008/07/26: synced with 2008 English version, by Daniel Flipo +% 2007/01/18: synced with 2007 English version, by Daniel Flipo +% 2005/11/01: synced with 2005 English version, by Daniel Flipo +% 2005/05/05: re-added section on building binaries (Daniel Flipo) +% 2004/10/28: synced with 2004 English version, by Daniel Flipo +% 2003/08/28: synced with 2003 English version, by Éric Picheral & Jacques André +% 2002/05/25: proof-reading and corrections, by Daniel Flipo +% 2002/05/18: synced with English version, by Fabrice +% +\documentclass{article} +\let\tldocfrench=1 % NOT used... + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} + +\usepackage[frenchb]{babel} +\usepackage{xspace} +\frenchbsetup{AutoSpacePunctuation=false, og=», fg=»} + +\usepackage{ifpdf} +% tex-live.sty suppose \hyper@linkurl défini... +\ifpdf + \def\Status{1} % (df) Pour faire charger hyperref dans tex-live.sty +\else + \makeatletter + \def\hyper@linkurl#1#2{#2} % undefined if hyperref.sty not loaded + \makeatother +\fi + +\usepackage{tex-live} +% Correctifs à tex-live.sty (df) +\renewcommand{\samp}[1]{\og \texttt{#1}\fg{}} +% (df) La commande \TeXLive n'est pas utilisée en v.f. +\renewcommand{\TL}{\TeX{} Live\xspace}% Robuste (pas besoin de \protect)... +\renewcommand{\TK}{\TeX{} Collection\xspace}% idem. +% tex-live.sty fait précéder les no de page d'une fine... si on veut +% une insécable normale, décommenter la ligne suivante : +\def\p.{page~} +% Chez Karl, la commande \url{} ne protège pas les caractères actifs (:?), +% d'où ceci (essai provisoire... erreurs avec le car. #) : +%\let\urlORI\url +%\renewcommand*{\url}[1]{\foreignlanguage{english}{\urlORI{#1}}} +%\renewcommand*{\url}[1]{{\shorthandoff{:?!;}\urlORI{#1}}} +% La commande \path de url.sty ajoute des espaces parasites, pas \url, d'où +\let\path\url +% mais ceci impose de remplacer \path|...| par \path{...}, et les \$ inclus +% par des $. + +\newcommand{\THANH}{Hàn Th\'{ê} Thanh} + +\setlength{\parindent}{0mm} +\addtolength{\parskip}{.25\baselineskip} + +\begin{document} + +\title{{\huge Guide pratique de \TL{} \\\smallskip} + {\LARGE\textsf{\TL{} 2008}}% + } + +\author{Karl Berry \\[3mm] + \url{http://tug.org/texlive/}\\[5mm] + \textit{Version française}\\[3mm] + Daniel Flipo (GUTenberg) + } + +\date{Juillet 2008} + +\maketitle +\thispagestyle{empty} % no need for page number + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +\subsection{\TeX\ Live et \TeX\ Collection} + +Ce document décrit les principales caractéristiques de la +distribution \TL{}, une distribution complète de \TeX{} +pour Linux et autres Unix, \MacOSX{} et systèmes Windows. + +Cette distribution peut être obtenue par téléchargement ou sur le \DVD{} \TK{} +distribué par les groupes d'utilisateurs de \TeX{} à leurs membres. +La section \ref{sec:tl-coll-dists} décrit brièvement le contenu de ce \DVD. +\TL{} comme \TK{} sont produits grâce au travail des groupes d'utilisateurs de +\TeX. La description qui suit porte essentiellement sur \TL. + +La distribution \TL{} comprend les binaires +pré-compilés de \TeX{}, \LaTeXe{}, \MF, \MP, \BibTeX{} et de nombreux +autres programmes ainsi qu'une bibliothèque étendue de macros, de +fontes et de documentations. Elle traite aussi de la composition de textes +dans la plupart des langues utilisées dans le monde. + +Les composants de la distribution \TL{} sont régulièrement mis à jour +sur le site \acro{CTAN}, \url{http://www.ctan.org}. + +On trouvera à la fin du document, section~\ref{sec:history} +(page~\pageref{sec:history}), un bref historique des principales modifications +apportées au fil du temps à la distribution \TL. + +% Ajout (df) +Les utilisateurs des éditions précédentes de \TL{} sont invités +à lire, \emph{avant toute mise à jour}, la section~\ref{tlcurrent} +page~\pageref{tlcurrent} qui présente les principaux changements intervenus +cette année. + +\subsection{Support pour différents systèmes d'exploitation} +\label{sec:os-support} + +\TL{} contient les exécutables pour les principales architectures Unix, en +particulier Linux et \MacOSX. Les sources inclus dans la distribution +devraient permettre de compiler les exécutables nécessaires aux autres +systèmes d'exploitation. + +En ce qui concerne Windows, seuls Windows 2000 et ses successeurs (XP, Vista) +sont supportés ; les architectures antérieures (Windows 9\textit{x}, ME et NT) +ne le sont plus. Il n'y a pas d'exécutables 64-bit mais les versions 32-bit +devraient fonctionner aussi sur les systèmes 64-bit. + +Consulter la section~\ref{sec:tl-coll-dists} pour des solutions alternatives +sous Windows et \MacOSX. + +\subsection{Utilisation élémentaire de \TL{}} +\label{sec:basic} + +Vous pouvez installer \TL{} de deux façons différentes : soit en utilisant +l'installeur qui télécharge toute la distribution sur Internet, soit à partir +du \DVD{} ce qui ne nécessite pas de connexion au réseau. + +Vous pouvez aussi exécuter \TL{} directement depuis le +\DVD{} (ou depuis une image iso du \DVD{} si votre système le permet) sans +(presque) rien installer sur le disque dur. + +Ces trois utilisations sont décrites en détail dans les sections suivantes, +voici quelques remarques générales pour débuter : + +\begin{itemize} + +\item Le script d'installation globale s'appelle +\filename{install-tl}. Il fonctionne en mode graphique (mode par défaut sous +Windows) et en mode texte (mode par défaut pour les autres systèmes). +Ajouter l'option \code{-gui} ou \code{-no-gui} pour imposer le mode graphique +ou le mode texte. + +\item Ce script installe en particulier un nouveau programme, le +« \TL\ Manager » appelé \prog{tlmgr}. Comme l'installeur, il peut être +utilisé en mode graphique ou en mode texte. Il permet d'ajouter ou de +supprimer des composants et de procéder à différents réglages de +configuration. + +\end{itemize} + +\subsection{Obtenir de l'aide} +\label{sec:help} + +La communauté \TeX{} est à la fois active et conviviale ; la plupart des +questions finissent par obtenir une réponse. Le support est +pourtant informel, assuré par des volontaires et des lecteurs +occasionnels, aussi est-il particulièrement important que vous fassiez +votre propre travail de recherche avant de poser la question (si vous +préférez un support commercial, vous pouvez renoncer à \TL{} et +acheter un système payant ; voir une liste à +\url{http://tug.org/interest.html#vendors}). + +Voici une liste de ressources, classées selon l'ordre dans lequel nous +recommandons de les utiliser : + +\begin{description} +\item [Getting Started] -- pour ceux qui débutent en \TeX, la page web +\url{http://tug.org/begin.html} contient une courte description +du système. + +\item [\acro{FAQ} \TeX{}] -- la \acro{FAQ} \TeX{} est un vaste recueil + de réponses à toutes sortes de questions, de la plus élémentaire à la + plus complexe. Elle est enregistrée sur le \DVD{} dans + \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html} + et elle est disponible sur Internet à + l'adresse \url{http://www.tex.ac.uk/faq}. + Merci de consulter cette FAQ avant toute question. + +\item [Catalogue \TeX{}] -- si vous recherchez une extension, une fonte, + un programme, etc., le mieux est de consulter le catalogue + \TeX{} ici : \url{http://www.ctan.org/help/Catalogue/}. + +\item [Ressources \TeX{} sur le Web] -- la page web + \url{http://tug.org/interest.html} propose + beaucoup de liens relatifs à \TeX{}, en particulier concernant des + livres, manuels et articles portant sur tous les aspects du système. + +\item [Archives des forums d'aide] -- les principaux forums dédiés + au support de \TeX{} sont les groupes de news Usenet + \url{news:comp.text.tex} (en anglais) et \url{news:fr.comp.text.tex} + (en français) ainsi que les listes de diffusion + \email{texhax@tug.org} (en anglais) et \email{gut@ens.fr} (en français). + Les archives correspondantes contiennent des + milliers de questions et réponses déjà traitées et permettent + une recherche fructueuse. Voir + \url{http://groups.google.com/groups?group=fr.comp.text.tex} + et \url{http://tug.org/mail-archives/texhax}, respectivement. Une + question posée sur un moteur de recherche, tel que + \url{http://google.com}, peut aussi fournir des réponses pertinentes. + +\item [Poster une question] -- si vous ne trouvez pas de réponse, vous + pouvez poster la question à \dirname{fr.comp.text.tex} via Google ou + votre lecteur de news, ou encore par messagerie à + \email{texhax@tug.org}. Mais avant de le faire, merci de lire + l'introduction de la \acro{FAQ} donnant les conseils sur la façon de + rédiger la question pour avoir des chances d'obtenir une réponse pertinente : + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [Support de \TL{}] -- si vous voulez faire un rapport + d'anomalie, émettre des suggestions ou des commentaires sur la + distribution \TL{}, son installation ou sa documentation, utilisez + la liste de diffusion \email{tex-live@tug.org}. Mais attention, si + la question concerne l'utilisation d'un programme particulier inclus + dans \TL{}, il vaut mieux que vous vous adressiez directement à la + personne ou à la liste de diffusion qui maintient le programme. Il suffit + souvent d'ajouter l'option \code{-{}-help} lors de l'exécution du programme + pour trouver à qui adresser le rapport. + +\end{description} + +L'autre aspect du sujet concerne l'aide à apporter aux personnes +soumettant des questions. Les forums \dirname{comp.text.tex}, +\dirname{fr.comp.text.tex} ainsi que les listes de diffusion \code{texhax} +et \code{gut} +sont ouverts à tous, aussi n'hésitez pas à vous y joindre, à commencer +la lecture et à fournir de l'aide là où cela vous est possible. + +% No \protect needed as \TL is defined in French with \newcommand (robust). +\section{Structure de \TK} +\label{sec:overview-tl} + +Nous décrivons ici le contenu de \TK{} qui est un sur-ensemble de \TL. + +\subsection {\TK{} : \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +Le \DVD{} \TK{} contient les éléments suivants : + +\begin{description} + +\item [\TL{}] -- un système \TeX{} complet (\TL) qui peut au choix, être lancé à + partir du \DVD{} (sans installation) ou être installé sur le disque dur. + +\item [CTAN] -- une image du site d'archives \CTAN. + +\item [pro\TeX{}t] -- une extension du système \MIKTEX\ pour Windows qui en + facilite l'installation. Cette distribution est totalement indépendante de + \TL{}, elle nécessite un mode d'installation spécifique. Le site de + \ProTeXt\ se trouve ici : \url{http://tug.org/protext}. + +\item [Mac\TeX] -- un programme d'installation spécifique de \TL{} pour + \MacOSX{} et quelques applications propres au système Mac. + Le site de Mac\TeX{} se trouve ici : \url{http://www.tug.org/mactex/}. + +\item [\texttt{texmf-extra}] -- un répertoire contenant quelques extensions + supplémentaires. + +\end{description} + +Les droits d'utilisation des fichiers présents dans \CTAN, \ProTeXt{} +et \texttt{texmf-extra} diffèrent de ceux de \TL{}, pensez à lire +les licences si vous envisagez de modifier ou de redistribuer certains de +ces fichiers. + +\subsection{Répertoires situés à la racine de \TL{}} +\label{sec:tld} + +La distribution \TL{} est dans le sous-répertoire \dirname{texlive} +du \DVD{} \TK{}. Les répertoires les plus importants +situés à la racine de la distribution \TL{} sont énumérés ci-dessous : + +\begin{ttdescription} +\item[bin] -- programmes de la famille \TeX{}, rangés dans des + sous-répertoires selon les plates-formes. +% +\item[readme.html] -- une brève introduction et quelques liens utiles sous forme + de pages \textsc{html} dans différentes langues. +% +\item[source] -- le code source de tous les programmes, incluant la + distribution \Webc{} de \TeX{} et \MF{}. +% +\item[support] -- ensemble d'extensions et programmes auxiliaires (en + particulier des éditeurs et des \textit{shells} dédiés à \TeX) ; ils ne sont + \emph{pas} installés par défaut. +% +\item[texmf] -- répertoire contenant les programmes et leur documentation ; ne + contient ni les formats ni les extensions (la variable \envname{TEXMFMAIN} + de la section suivante pointe sur ce répertoire). +% +\item[texmf-dist] -- répertoire principal où se trouvent les extensions, + les fontes, etc., avec leur documentation (la variable \envname{TEXMFDIST} + de la section suivante pointe sur ce répertoire). +% +\item[texmf-doc] -- répertoire contenant le reste de la documentation, le + sous-répertoire doc est organisé par langue. +% +\item[tlpkg] -- scripts et programmes d'installation ; des versions de + Perl et de Ghostscript (inaccessibles en dehors de \TL) ainsi qu'un + nouveau visualiseur de fichiers PostScript ont été ajoutés pour + Windows. +\end{ttdescription} + +On trouve également, au même niveau que les répertoires mentionnés ci-dessus, +les scripts d'installation et les fichiers \filename{README} (disponibles dans +différentes langues). + +Le répertoire \dirname{texmf-doc} ne contient que de la documentation +mais pas toute la documentation. Celle concernant les programmes (manuels, +pages \textit{man} et fichiers de type \textit{info} est dans +\dirname{texmf/doc} car les programmes correspondants sont dans +\dirname{texmf}. De même, la documentation des extensions et formats +est dans \dirname{texmf-dist/doc}. Les commandes \cmdname{texdoc} ou +\cmdname{texdoctk} trouveront pour vous les documentations où qu'elles soient +sur le disque. +Le fichier \OnCD{doc.html} du \DVD{} contient une liste de liens bien +utiles pour localiser les fichiers de documentation. + +La documentation de \TL\ proprement dite est disponible dans le répertoire +\dirname{texmf-doc} en plusieurs langues, + +\begin{itemize} +\item{anglais :} \OnCD{texmf-doc/doc/english/texlive-en}, +\item{allemand :} \OnCD{texmf-doc/doc/german/texlive-de}, +\item{chinois (simplifié) :} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn}, +\item{français :} \OnCD{texmf-doc/doc/french/texlive-fr}, +\item{polonais :} \OnCD{texmf-doc/doc/polish/texlive-pl}, +\item{russe :} \OnCD{texmf-doc/doc/russian/texlive-ru}, +\item{tchèque \& slovaque :} \OnCD{texmf-doc/doc/czechslovak/texlive-cz}. +\end{itemize} + +\subsection{Description des arborescences « texmf » de \TL} +\label{sec:texmftrees} + +Nous donnons ici la liste complète des variables prédéfinies qui contiennent +les noms des différentes arborescences de type « texmf » et l'usage qui +en est fait. La commande \cmdname{texconfig conf} retourne les valeurs de ces +variables, ce qui permet de savoir où se trouvent ces différentes +arborescences dans une installation donnée. + +\begin{ttdescription} +\item [TEXMFMAIN] -- contient les éléments essentiels du système, comme les + scripts (\cmdname{web2c/mktexdir}, etc.), leur documentation mais pas les + formats ni les fichiers de macros.-- +\item [TEXMFDIST] -- contient les fichiers de macros (Plain, \LaTeX, \ConTeXt, + etc.,), les fontes, etc., de la distribution \TL{} ; rien ne devrait être + ni ajouté ni supprimé dans cette arborescence. +\item [TEXMFLOCAL] -- c'est là que l'administrateur de la machine doit + placer les classes et extensions locales, les fontes non disponibles + dans \TL, etc. +\item [TEXMFHOME] -- contient les fichiers personnels (extensions, classes, + fontes) de l'utilisateur ; ce répertoire est installé automatiquement dans + le répertoire personnel de l'utilisateur. +\item [TEXMFCONFIG] -- c'est là que les scripts \cmdname{updmap} et + \cmdname{fmtutil} recherchent leurs fichiers de configuration en priorité. + \cmdname{texconfig} y place les versions modifiées des fichiers de + configuration. Sous \envname{TEXMFHOME} par défaut. +\item [TEXMFSYSCONFIG] -- c'est là que les scripts \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} recherchent leurs fichiers de configuration en + priorité. \cmdname{texconfig-sys} y place les versions modifiées des + fichiers de configuration. +\item [TEXMFVAR] -- c'est là que les scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} rangent les formats et les fichiers + \file{.map} qu'ils produisent. Sous \verb+$HOME+ par défaut. %$ +\item [TEXMFSYSVAR] -- c'est là que les scripts \cmdname{texconfig-sys}, + \cmdname{updmap-sys} et \cmdname{fmtutil-sys} rangent les formats et les + fichiers \file{.map} qu'ils produisent. +\end{ttdescription} + +La structure de l'arborescence \TL{} est par défaut la suivante : +\begin{description} +\item[racine multi-utilisateurs] (par exemple \verb|/usr/local/texlive|, + \verb|D:\texlive|,\dots) qui contient éventuellement plusieurs + distributions : + \begin{ttdescription} + \item[2007] -- la distribution précédente, + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] -- la distribution actuelle, + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] -- exécutables Linux, + \item [...] + \item [universal-darwin] -- exécutables \MacOSX, + \item [win32] -- exécutables Windows, + \end{ttdescription} + \item [texmf] -- correspond à \envname{TEXMFMAIN}, + \item [texmf-dist] -- correspond à \envname{TEXMFDIST}, + \item [texmf-doc] -- correspond à \envname{TEXMFDOC}, + \item [texmf-var] -- correspond à \envname{TEXMFSYSVAR}, + \item [texmf-config] -- correspond à \envname{TEXMFSYSCONFIG}, + \end{ttdescription} + \item [texmf-local] -- correspond à \envname{TEXMFLOCAL}, normalement + commun à plusieurs distributions \TL{} (2007, 2008, etc.), + \end{ttdescription} + \item[répertoire personnel de l'utilisateur] \texttt{\$HOME} ou + \texttt{\%USERPROFILE\%} : + \begin{ttdescription} + \item[.texlive2007] -- fichiers générés automatiquement par la + distribution \TL{} précédente, + \item[.texlive2008] -- fichiers générés automatiquement par la + distribution \TL{} actuelle, + \begin{ttdescription} + \item [texmf-var] -- correspond à \envname{TEXMFVAR}, + \item [texmf-config] -- correspond à \envname{TEXMFCONFIG}, + \end{ttdescription} + \item[texmf] -- correspond à \envname{TEXMFHOME}, répertoire regroupant + tous les répertoires de macros personnelles : \dirname{texmf/tex/latex} + par exemple pour les fichiers de macros LaTeX, etc. + \end{ttdescription} +\end{description} + +\subsection{Les extensions de \TeX} +\label{sec:tex-extensions} + +\TL{} contient, à part \TeX{} lui-même (le programme \prog{tex}) qui est figé +sauf rares corrections de bogues, plusieurs extensions de \TeX{}. + +\begin{description} + +\item [\eTeX{}] \label{text:etex} ajoute un jeu de nouvelles + primitives et les extensions \TeXXeT{} pour l'écriture de droite + à gauche ; \eTeX{} est, en mode normal, 100\% compatible avec + \TeX{} standard. Pour plus de détails consulter le + fichier \OnCD{texmf-dist/doc/etex/base/etex_man.pdf} du \DVD{}. + +\item [pdf\TeX{}] inclut les extensions \eTeX{} et produit, au choix, + des fichiers au format Acrobat \acro{PDF} ou au format \dvi{}. + C'est le moteur de base sur lequel sont construits tous les formats autres + que plain\TeX{} (voir \url{http://www.pdftex.org/}). + Le manuel d'utilisation se trouve sur le \DVD{} + dans \OnCD{texmf/doc/pdftex/manual/}. Le fichier + \OnCD{texmf/doc/pdftex/pdftex/manual/samplepdf/samplepdf.tex} + donne des exemples d'utilisation. + +\item [Lua\TeX] est le successeur de pdf\TeX{} + avec lequel il reste compatible. Il devrait également remplacer Aleph, voir + ci-dessous. Lua\TeX{} fait appel à l'interpréteur de commande Lua (voir + \url{http://www.lua.org/}) qui apporte des solutions élégantes + à beaucoup de problèmes épineux en \TeX{} pur. + La commande \filename{texlua}, qui fonctionne comme un interpréteur Lua + indépendant, est déjà utilisée en tant que telle dans \TL. + Voir \url{http://www.luatex.org/} et + \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [Xe\TeX] ajoute la possibilité d'utiliser en entrée le codage Unicode + et en sortie les fontes OpenType et les fontes système de la machine, ceci + grâce à des bibliothèques externes : voir \url{http://scripts.sil.org/xetex}. + +\item [\OMEGA{} (Omega)] fonctionne en utilisant Unicode et des + caractères 16 bits, ce qui lui permet de travailler directement et + simultanément avec presque toutes les écritures du monde. + L'extension supporte aussi le chargement dynamique d'\acro{OTP} + (\OMEGA{} \emph{Translation Processes}) qui permet à l'utilisateur + d'appliquer sur des flux d'entrée quelconques des transformations + complexes qu'il aura lui-même définies. Voir la documentation + (pas vraiment à jour) dans \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex}. + +\item [Aleph] combine les fonctionnalités de \OMEGA\ et de \eTeX. + \OnCD{texmf-dist/doc/aleph/base} contient une documentation de base. + +\end{description} + +% Fin MAJ 15/07/2008 +\subsection{Quelques autres programmes intéressants + dans \TL} + +Voici quelques autres programmes couramment utilisés et présents dans +\TL{} : + +\begin{cmddescription} + +\item [bibtex] -- traitement de la bibliographie. + +\item [makeindex] -- traitement des index. + +\item [dvips] -- conversion \dvi{} vers \PS{}. + +\item [xdvi] -- visualisation \dvi{} pour le système X Window. + +\item [dvilj] -- pilote \dvi{} pour les imprimantes HP LaserJet. + +\item [dv2dt, dt2dv] -- conversion \dvi{} vers ou depuis du texte simple. + +\item [dviconcat, dviselect] -- couper/Coller de pages à partir de fichiers + \dvi{}. + +\item [dvipdfmx] -- conversion \dvi{} vers \acro{PDF}, une autre façon de + produire des fichiers \acro{PDF}, concurrente de pdf\TeX\ mentionné + ci-dessus ; voir aussi les extensions \pkgname{ps4pdf} et + \pkgname{pdftricks} pour d'autres alternatives. + +\item [psselect, psnup, \ldots] -- utilitaires \PS{}. + +\item [lacheck] -- vérification de syntaxe \LaTeX{}. + +\item [texexec, texmfstart] -- processeurs Con\TeX{}t et \acro{PDF}. + +\item [tex4ht] -- conversion \TeX{} vers \acro{HTML} et \acro{XML}. + +\end{cmddescription} + +\subsection{Fontes incluses dans \TL} +\label{sec:tl-fonts} + +La distribution \TL{} contient un grand nombre de fontes vectorielles de haute +qualité : voir \url{http://tug.org/fonts} et +\OnCD{texmf-doc/english/free-math-fonts-survey}. + + +\section{Installation} +\label{sec:install} + +\subsection{Démarrage de l'installation} +\label{sec:inst_start} + +La première chose à faire est de récupérer le \DVD{} \TK ou de +télécharger le programme d'installation par le réseau. +Le programme d'installation s'appelle \filename{install-tl} pour Unix +et \filename{install-tl.bat} pour Windows. + +\begin{description} +\item [Installeur réseau] -- à télécharger sur CTAN dans + \dirname{systems/texlive/tlnet}; l'url + \url{http://mirror.ctan.org/systems/texlive/tlnet} vous redirigera + automatiquement vers le serveur d'archive le plus proche de chez vous. + Deux versions sont disponibles, \filename{install-tl.zip} utilisable sous + Unix et sous Windows et \filename{install-unx.tar.gz} pour Unix seulement + (y compris \MacOSX). Après décompression de l'un de ces deux fichiers, les + scripts \filename{install-tl} et \filename{install-tl.bat} se trouveront + dans le sous-répertoire \dirname{install-tl}. + +\item [\DVD \TK{}] -- aller dans le répertoire \dirname{texlive}. + Sous Windows, l'installation démarrera probablement + automatiquement quand vous insérerez le \DVD, sinon, il faudra lancer le + script d'installation \filename{install-tl} ou \filename{install-tl.bat}. + Le \DVD \TK{} est distribué gratuitement aux membres des groupes + d'utilisateurs de \TeX{} (Gutenberg par exemple en France, voir la liste + des groupes sur \url{http://tug.org/usergroups.html}). Il est également + possible de l'acheter séparément (\url{http://tug.org/store}) ou de graver + l'image \ISO{} (\url{http://tug.org/texlive/acquire.html}). +\end{description} +Les sections suivantes détaillent le processus d'installation. + + +\begin{figure}[tb] +\centering +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{Écran principal de configuration (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\centering +\tlpng{install-w32-main}{\linewidth} +\caption{Écran principal de configuration (Windows)}\label{fig:gui-main} +\end{figure} + +\subsubsection{Installation sous Unix} + +Dans ce qui suit l'invite du \textit{shell} est notée \texttt{>} ; les +commandes de l'utilisateur sont en \Ucom{\texttt{gras}}.\linebreak +Commandes à lancer dans un terminal sur tout système Unix pour travailler en +mode texte : +\begin{alltt} +> \Ucom{cd /chemin/de/installeur} +> \Ucom{perl install-tl} +\end{alltt} + +Pour travailler en mode graphique : +\begin{alltt} +> \Ucom{cd /chemin/de/installeur} +> \Ucom{./install-tl -gui} +\end{alltt} + +La liste complète des options est donnée par +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Attention} : le matériel installé doit normalement être accessible à +tous les utilisateurs de la machine ; si celui qui installe n'est pas +\textit{root}, il devra s'assurer que son \code{umask} est adapté, par +exemple \code{umask 022} ou \code{umask 002}. +Consulter la documentation système pour plus de précisions. + +\subsubsection{Installation sous Mac\,OS\,X} + +Une distribution spécifique, Mac\TeX\ (\url{http://tug.org/mactex}), a été +mise au point pour \MacOSX. Nous recommandons de l'utiliser plutôt que +d'installer la distribution \TL{} en suivant la procédure indiquée pour Unix. + +En effet, Mac\TeX{} permet des ajustements spécifiques pour le système +\MacOSX{} et facilite la cohabitation entre plusieurs distributions \TeX{} +(Mac\TeX, gw\TeX, Fink, MacPorts, \ldots). + +Mac\TeX\ est très proche de \TL, les arborescences principales sont en tous +points identiques, quelques répertoires contenant de la documentation et des +applications spécifiques au Mac sont ajoutés. + +\subsubsection{Installation sous Windows} + +Si vous utilisez l'installeur réseau ou si l'insertion du \DVD{} ne lance pas +l'installation automatiquement, double-cliquez sur \filename{install-tl.bat}. + +Il est également possible de travailler en ligne de commande ; +dans ce qui suit l'invite du \textit{shell} est notée \texttt{>}, les +commandes de l'utilisateur sont notées \Ucom{\texttt{en gras}}. Voici les +commandes à lancer : +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} +à condition d'être dans répertoire du script d'installation, sinon +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +où \texttt{D:} désigne le lecteur de \DVD. + +Pour travailler en mode texte : +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} +La liste complète des options est donnée par +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{Installation en mode texte} + +La figure~\ref{fig:text-main} page~\pageref{fig:text-main} présente l'écran +principal de configuration en mode texte sous Unix/Linux. + +Taper une des lettres proposées (en respectant la casse) suivie de +« Entrée » (retour-chariot), l'écran se mettra automatiquement à jour. + +L'interface est volontairement rudimentaire afin de permettre son utilisation +sur le plus grand nombre possible de systèmes même avec des versions très +dépouillées de Perl (un sous-ensemble de commande Perl est fourni pour Windows). + +\subsubsection{Installation en mode graphique} + +La figure~\ref{fig:gui-main} page~\pageref{fig:gui-main} présente l'écran +principal de configuration en mode graphique sous Windows. Les différences +entre les options disponibles en mode texte et en mode graphique s'expliquent +par le changement de système (\GNU/Linux pour le premier, Windows pour le +second). + +\subsection{Choix des options d'installation} +\label{sec:runinstall} + +Les options proposées sont censées être assez explicites, voici cependant +quelques précisions. + +\subsubsection{Choix des binaires (Unix seulement)} +\label{sec:binary} + +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Menu pour le choix des binaires}\label{fig:bin-text} +\end{figure} + +La figure~\ref{fig:bin-text} présente les choix de binaires possibles en mode +texte. Seuls les binaires correspondant à l'architecture détectée seront +installés par défaut. Rien n'empêche d'en sélectionner d'autres si nécessaire, +ce qui peut être intéressant dans le cas de serveurs en réseau ou sur des +machines en « double boot ». + +\subsubsection{Choix des composants de l'installation} +\label{sec:components} + +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Menu « Scheme »}\label{fig:scheme-text} +\end{figure} + +Dans le menu « Scheme » (voir figure~\ref{fig:scheme-text}) on choisit +un schéma général de configuration qui détermine un ensemble de collections à +installer. Par défaut, on procède à l'installation de tout ce qui est +disponible (option \optname{scheme-full}). Des installations plus ou moins +complètes sont proposées : \optname{minimal} pour effectuer des tests +uniquement, \optname{basic} pour un système de base, \optname{medium} ou +\optname{teTeX} pour des systèmes intermédiaires. +Pour les francophones, l'option \optname{GUTenberg} est une bonne base de +départ. Le choix pourra être affiné à l'étape suivante. + +\begin{figure}[tbh] +\centering +\tlpng{stdcoll}{.7\linewidth} +\caption{Menu « Collections » (Linux)}\label{fig:collections-gui} +\end{figure} + +Une fois choisi le schéma général, il est possible de d'ajouter ou de +supprimer des composants, appelés +ici collections. Il y a deux types de collections : les +« Standard Collections » qui concernent les fontes, les extensions, les +formats, etc. (voir figure~\ref{fig:collections-gui}) et les +« Language Collections » qui permettent de préciser la liste des langues +qui seront utilisables sur le système (indispensable !). Attention, si vous +travaillez en mode texte, dans ces menus la casse des lettres est importante. +En mode graphique, il suffit de cocher ou de décocher les cases en cliquant. + +Il est possible de raffiner encore les choix mais il faudra alors utiliser +le programme \prog{tlmgr} ultérieurement, voir la section~\ref{sec:tlmgr}. + +\subsubsection{Répertoires d'installation} +\label{sec:directories} + +La racine de l'installation principale est donnée par \dirname{TEXDIR} qui +vaut par défaut \dirname{/usr/local/texlive/2008} sous Unix et +|%PROGRAMFILES%\texlive\2008| sous Windows. +La liste des sous-répertoires de \dirname{TEXDIR} choisis par défaut est +donnée à la section~\ref{sec:texmftrees}, page~\pageref{sec:texmftrees}. + +Il peut être nécessaire de changer la valeur de \dirname{TEXDIR} +lorsque celui qui procède à l'installation n'a pas les droits d'écriture +sur le répertoire \dirname{TEXDIR} (l'installation n'est pas réservée au +super-utilisateur « root » ou « Administrateur »). +Il est possible d'installer \TL{} dans le répertoire personnel d'un +utilisateur, dans ce cas on peut choisir par exemple |~/texlive/2008|. + +Dans tous les cas, il est recommandé d'inclure l'année dans le chemin afin de +pouvoir conserver plusieurs versions de \TL{} en parallèle. +Rien n'empêche d'ajouter un lien symbolique (par exemple +\dirname{/usr/local/texlive-current}) qui pointe sur la version actuellement +utilisée. Ceci facilite les basculements d'une version à une autre. + +Le répertoire \envname{TEXMFHOME} (|~/texmf| par défaut) est destiné à +regrouper les répertoires de macros personnelles. Le caractère |~| désignant +le répertoire personnel est traité différemment, selon qu'il est utilisé dans +\dirname{TEXDIR} --~il s'agit alors du répertoire de \emph{l'installateur}~-- +ou dans \envname{TEXMFHOME}, là |~| est traité dynamiquement utilisateur par +utilisateur est vaut \envname{\$HOME} %$ +sous Unix et |%USERPROFILE%| sous Windows. + +\subsubsection{Options} +\label{sec:options} + +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{menu « Options » (Unix)}\label{fig:options-text} +\end{figure} + +La figure~\ref{fig:options-text} présente le menu « Options » en mode +texte. Normalement il n'y a pas lieu de modifier les choix par défaut. +Voici quelques précisions cependant. + +\begin{description} +\item[use letter size instead of A4 by default] -- la taille du papier pour + l'impression est A4, il est possible de la changer ici, en \textit{letter} + par exemple. + +\item[create all format files] -- création de tous les formats à l'installation. + Bien que cette opération prenne un peu de temps, il est conseillé de ne pas + la supprimer, sinon les formats seront créés au coup par coup dans les + répertoires personnels des utilisateurs (sous \envname{TEXMFVAR}). Les + formats personnels ainsi créés ne bénéficieront pas des mises à jour + éventuelles effectuées ultérieurement sur l'installation \TL{}, ce qui + peut engendrer des incompatibilités. + +\item[create symlinks in standard directories] (Unix seulement) -- + cette option permet d'éviter de modifier les variables d'environnement + \envname{PATH}, \envname{MANPATH} et \envname{INFOPATH}. En revanche, + elle peut perturber une installation \TeX{} incluse dans votre distribution + (Debian, RedHat, etc.). La modification des trois variables d'environnement + ci-dessus est préférable. +\end{description} + +Lorsque vous êtes satisfait des réglages faits, il vous reste à taper +\code{I} pour lancer le processus d'installation. Lorsque celui-ci sera +terminé, sautez à la section~\ref{sec:postinstall} pour voir s'il y a +d'autres choses à faire. + +\subsubsection{Utilisation de \TL{} à partir du DVD{} (mode texte uniquement)} +\label{sec:fromdvd} + +Taper `|V|' pour choisir ce mode de fonctionnement, le menu qui s'affiche +alors est présenté figure~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\centering +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Menu principal après choix de l'option « \optname{running from DVD} »}% +\label{fig:main-fromdvd} +\end{figure} +Noter les changements : toutes les options concernant le choix du matériel à +installer, les liens symboliques, ont disparu. Le menu « Directories » +parle maintenant de \dirname{TEXDIRW} (racine accessible en écriture). + +L'exécution de \TL{} à partir du \DVD{} nécessite la création de quelques +répertoires mais un minimum de fichiers sont installés sur le disque dur. + +La configuration après installation pour Unix est un peu plus complexe, voir +section~\ref{sec:postinstall}. + +Faute de temps, cette option n'a pu être intégrée à l'interface graphique. +Elle reste utilisable en mode texte y compris sous Windows, voir +section~\ref{sec:cmdline}. + +La section \ref{sec:portable-unix} décrit une autre façon d'utiliser \TL{} à +partir du \DVD{}. Elle ne nécessite aucune modification du système mais ne +permet aucune personnalisation. + +\subsection{Options en ligne de commande} +\label{sec:cmdline} + +Taper +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +pour obtenir la liste de toutes les options disponibles. +Voici les principales : + +\begin{ttdescription} +\item[-gui] -- exécution en mode graphique (si possible). Ceci nécessite le + module Perl/Tk (\url{http://tug.org/texlive/distro.html#perltk}) ; si + Perl/Tk n'est pas disponible, l'installation se poursuit en mode texte. +\item[-no-gui] -- exécution en mode texte, même sous Windows ; + ceci est utile pour exécuter \TL{} à partir du \DVD{} (option non disponible + en mode graphique). +\item[-lang {\sl LL}] -- impose la langue utilisée dans les menus lors de + l'installation. Le code de langue comporte deux lettres. Sont actuellement + disponibles les langues suivantes : : anglais (\texttt{en}, langue par + défaut), allemand (\texttt{de}), français (\texttt{fr}), néerlandais + (\texttt{nl}), polonais (\texttt{pl}), Slovène (\texttt{sl}) et vietnamien + (\texttt{vi}). Le programme s'efforce de déterminer automatiquement + la langue à utiliser et se rabat sur l'anglais en cas d'échec. +\item[-profile {\sl profile}] -- à chaque exécution, le script d'installation + écrit un compte-rendu dans le fichier + \filename{texlive.profile} du répertoire \dirname{2008/tlpkg} ou + \dirname{tlpkg}. L'option \texttt{-profile} demande au script de réutiliser + le fichier \filename{texlive.profile}. En voici un extrait : + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + Il est ainsi facile de reproduire un même scéma d'installation sur plusieurs + machines. +\item [-location {\slshape url/path}] -- choix d'une source où récupérer le + matériel à installer. \label{item:location} + +L'argument de l'option \texttt{{\slshape url/path}} peut être une url +commençant par \texttt{ftp:}, \texttt{http:}, ou \texttt{file:/} ou bien un +chemin local. + +Si l'argument correspond à un chemin local (ou une url de type +\texttt{file:/}), le script recherche un sous-répertoire +\dirname{archive} contenant des fichiers compressés \filename{.tar.lzma}, +ceux-ci seront utilisés en priorité. + +Si l'argument est une url distante (\texttt{http:} ou \texttt{ftp:}) +le `\texttt{/}' final ainsi que la chaîne `\texttt{/tlpkg}' sont ignorés. +Par exemple, le choix du miroir \CTAN{} +\url{http://mirrors.ircam.fr/pub/CTAN/systems/texlive/tlnet/2008/} +est valide. La liste des miroirs \CTAN{} est ici : +\url{http://ctan.org/mirrors}. + +Lorsqu'aucune option \texttt{-location} n'est spécifiée, le script +d'installation choisit un miroir automatiquement, celui-ci servira +pour tout le téléchargement. +\end{ttdescription} + +\subsection{Terminer l'installation} +\label{sec:postinstall} + +Selon les cas quelques opérations supplémentaires peuvent être nécessaires. + +\subsubsection{Windows} + +Sous Windows, le programme d'installation s'occupe de tout (normalement). + +\subsubsection{Cas où des liens symboliques sont créés} + +Si vous avez opté pour l'option créant des liens symboliques (voir +section~\ref{sec:options}), il n'est pas nécessaire d'ajuster les variables +d'environnement. + +\subsubsection{Variables d'environnement Unix} +\label{sec:env} + +Le chemin des binaires correspondant à votre machine doit être ajouté à la +variable \envname{PATH}. À chaque architecture correspond un sous-répertoire +de \dirname{TEXDIR/bin}, voir la liste à la figure~\ref{fig:bin-text} +\pageref{fig:bin-text}. + +Si vous voulez que votre système trouve les fichiers de documentation +concernant \TL{}, il faut également ajuster les variables \envname{MANPATH} +et \envname{INFOPATH}. + +Pour les \textit{shells} dits « Bourne-compatible » tels que +\prog{bash} sous GNU/Linux, le fichier à éditer peut être +\filename{$HOME/.bash\_profile} ou \filename{$HOME/.profile} et les lignes à +ajouter sont de la forme suivante : + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +Pour les \textit{shells} \prog{csh} ou \prog{tcsh}, le fichier à éditer +est en principe \filename{$HOME/.cshrc} %$ +et les lignes à ajouter sont de la forme suivante : +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +%$ + +\subsubsection{Variables d'environnement : configuration multi-utilisateur} +\label{sec:envglobal} + +Il est possible d'ajuster les variables \envname{PATH}, \envname{MANPATH} +et \envname{INFOPATH} globalement pour tous les utilisateurs présents et +futurs sans avoir à éditer les fichiers personnels de chacun mais les façons +de le faire sont trop différentes d'un système à l'autre pour être présentées +ici. + +Voici quelques pistes : pour \envname{MANPATH} chercher un fichier +\filename{/etc/manpath.config}, s'il est présent lui ajouter +des lignes du genre +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} +Pour les deux autres, chercher un fichier\filename{/etc/environment}, il est +éventuellement possible d'y définir les valeurs des variables d'environnement +telles que \envname{PATH} et \envname{INFOPATH}. + +\subsubsection{Exécution à partir du DVD} + +Les programmes de \TL{} consultent le fichier \filename{texmf.cnf} pour savoir +dans quelles arborescences se trouvent les fichiers dont ils ont besoin. +Malheureusement, ceci ne fonctionne pas lorsque les programmes sont lancés à +partir d'un \DVD{} ; en effet certains chemins ne sont connus qu'à +l'installation et ne peuvent être inscrits sur le \DVD{} puisqu'il est +accessible uniquement en lecture. Il faut donc créer un fichier +\filename{texmf.cnf} sur le disque et préciser où il se trouve grâce à la +variable d'environnement \envname{TEXMFCNF}. Ceci ne dispense pas de +modifier la variable d'environnement \envname{PATH} comme indiqué ci-dessus. + +Le script d'installation affiche en fin de traitement, un message indiquant la +valeur à donner à la variable \envname{TEXMFCNF}. Si ce message vous a +échappé, cette valeur est \dirname{$TEXMFSYSVAR/web2c}, %$ +qui vaut par défaut \dirname{/usr/local/texlive/2008/texmf-var/web2c}. + +Voici les lignes à taper dans ce cas : +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +ou pour [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + +\subsubsection{\ConTeXt{} Mark IV} + +L'ancien \ConTeXt{} devrait fonctionner sans problème. La nouvelle version, +appelée « Mark IV » demande un peu de configuration spécifique, voir +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + +\subsubsection{Ajout de fichiers locaux ou personnels} + +Comme cela a déjà été indiqué à la section~\ref{sec:texmftrees}, +\envname{TEXMFLOCAL} (par défaut \dirname{/usr/local/texlive/texmf-local} ou +\verb|C:\Program Files\texlive\texmf-local|) est la racine de +l'arborescence prévue pour regrouper les fichiers de macros, les fontes et le +matériel utilisable par l'ensemble des utilisateurs du système. +D'autre part \envname{TEXMFHOME} (par défaut \dirname{$HOME/texmf} %$ +(ou |%USERPROFILE%\texmf|) regroupe le matériel personnel de chaque +utilisateur. + +Dans les deux cas, les fichiers ajoutés doivent être placés, non pas en vrac à +la racine de \envname{TEXMFLOCAL} ou \envname{TEXMFHOME} mais dans des +sous-répertoires bien choisis (voir \url{http://tug.org/tds} ou lire le +fichier \filename{texmf.cnf}). Par exemple, une classe ou une extension +\LaTeX{} ne sera trouvée que si elle est dans \dirname{TEXMFLOCAL/tex/latex} ou +\dirname{TEXMFHOME/tex/latex} ou dans un sous-répertoire de ceux-ci. + +Enfin, si les ajouts ont été faits sous \envname{TEXMFLOCAL}, il y a lieu de +régénérer les bases de données \filename{ls-R} (commande \cmdname{mktexlsr} +ou bouton « Reinit file database » du programme \prog{tlmgr} +en mode graphique). + +L'emplacement des répertoires \envname{TEXMFLOCAL} et \envname{TEXMFHOME} est +fixe (il ne change pas d'une version à l'autre de \TL{}). Leur contenu est +pris en compte par toutes les versions de \TL{} aussi est-il préférable de ne +pas changer la valeur des variables \envname{TEXMFLOCAL} et \envname{TEXMFHOME} +à l'installation. + + +\subsubsection{Ajout de fontes externes à \TL{}} + +Cette question est malheureusement trop complexe pour être abordée ici. +Renoncez-y sauf si connaissez bien les arcanes d'une installation \TeX. +Vérifiez en premier lieu ce qui existe déjà en libre : voir la +section~\ref{sec:tl-fonts}. + +Une alternative possible est d'utiliser \XeTeX (voir +section~\ref{sec:tex-extensions}) qui permet l'accès aux fontes disponibles +sur le système sans aucune installation supplémentaire. + + +\subsection{Tester l'installation} +\label{sec:test-install} + +Une fois l'installation de \TL{} terminée, il faut la tester avant de créer +des documents ou des fontes. Les tests doivent être faits par un utilisateur +non privilégié (autre que \textit{root}). + +On donne ici quelques procédures de base pour vérifier que le nouveau +système est opérationnel. On les décrit pour Unix ; pour \MacOSX{} ou +Windows, il vaut mieux tester au travers d'une interface graphique +mais les principes sont les mêmes. + +\begin{enumerate} + +\item S'assurer en premier lieu que le programme \cmdname{tex} fonctionne : + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} + +Si la réponse est \texttt{command not found} ou si le numéro de version est +différent, il est fort probable que vous n'avez pas le bon répertoire +de binaires dans votre \envname{PATH}. +Voir les informations sur l'environnement page~\pageref{sec:env}. + +\item Traiter un fichier \LaTeX{} simple : + +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Si le fichier \filename{sample2e.tex} ou d'autres ne sont pas trouvés, +il y a probablement des interférences avec vos anciennes variables +d'environnement ou fichiers de configuration. Pour analyser en détail +votre problème, vous pouvez demander à \TeX{} de dire exactement ce +qu'il cherche et trouve ; voir la section~\ref{sec:debugging} +page~\pageref{sec:debugging}. + +\item Prévisualiser les résultats en ligne : +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Sous Windows, la commande équivalente est \cmdname{dviout}. +Une nouvelle fenêtre doit s'ouvrir et montrer un joli document expliquant les +bases de \LaTeX{} (document dont la lecture attentive est recommandée si vous +êtes débutant !). +Vous devez travailler sous X pour que \cmdname{xdvi} fonctionne. Sinon, votre +variable d'environnement \envname{DISPLAY} n'est pas correcte et vous +aurez une erreur \samp{Can't open display}. + +\item Créer un fichier \PS{} pour l'imprimer ou l'afficher : + +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Créer un fichier \acro{PDF} au lieu de \dvi{} ; +cet exemple traite le fichier \filename{sample2e.tex} et crée directement +du \acro{PDF} : + +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Prévisualiser le fichier \acro{PDF} : + +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{ou} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} + +Hélas, ni \cmdname{gv} ni \cmdname{xpdf} ne sont actuellement inclus dans +\TL{}, aussi devez-vous les installer séparément si ce n'est déjà fait. +Voir respectivement +\url{http://www.gnu.org/software/gv} et +\url{http://www.foolabs.com/xpdf} (il y a bien d'autres lecteurs de +fichiers \acro{PDF}). + +\item Autres fichiers de tests utiles en plus de \filename{sample2e.tex} : + +\begin{ttdescription} + +\item [small2e.tex] à compiler avant \filename{sample2e} si celui-ci pose des + problèmes. + +\item [testpage.tex] teste que l'imprimante n'introduit pas de décalages. + +\item [nfssfont.tex] imprime des tables des fontes et des tests. +\item [testfont.tex] aussi pour les tables de fontes mais en (plain)\TeX. +\item [story.tex] le fichier de test de (plain)\TeX{} le plus canonique +de tous. Il faut taper \samp{\bs bye} à la commande \code{*} après +\samp{tex story.tex}. + +\end{ttdescription} +Pour exécuter ces tests procéder comme pour \filename{sample2e.tex}. + +\end{enumerate} + +Si vous êtes débutant ou si vous avez besoin d'aide pour réaliser des +documents \TeX{} ou \LaTeX{}, n'hésitez pas à consulter +\url{http://tug.org/begin.html}. +On vous recommande également l'introduction à \LaTeX{} de Tobias Oetiker +dans sa version anglaise (la version française n'est plus à jour) +disponible après installation sous +\url{texmf-doc/doc/english/lshort-english/lshort.pdf}. + +\section{Utilisation de \TL{} en réseau} +\label{sec:netinstall} + +\TL{} a été conçu comme un système multi-utilisateurs capable de fonctionner +en réseau. Un même serveur peut proposer la distribution \TL{} à différentes +machines, éventuellement d'architectures différentes, il suffit que le serveur +possède les répertoires de binaires adéquats. + +La seule chose à faire par chaque utilisateur local ou distant est d'ajouter +le chemin des exécutables correspondant à son architecture dans son +\envname{PATH}% +\footnote{Plus précisément \emph{en tête} du \envname{PATH} s'il y a d'autres + binaires \TeX{} en concurrence.}. + +Ceci fonctionne parce que les répertoires de recherche des fichiers utilisés +par \TL{} (\envname{TEXMFMAIN}, \envname{TEXMFDIST}, \envname{TEXMFSYSVAR}, +\envname{TEXMFSYSCONFIG} et \envname{TEXMFLOCAL} sont définis +\emph{relativement aux exécutables} lors de l'installation (voir dans le fichier +\filename{TEXMFMAIN/web2c/texmf.cnf} le rôle de la variable +\envname{\$SELFAUTOPARENT}). %$ + +Cette disposition permet aussi de faire une installation sur une machine et +de la déplacer après coup sur un serveur, la seule chose à changer est le +contenu de la variable \envname{PATH}. + +Ce qui précède vaut pour les utilisateurs d'Unix. +Pour ceux qui sont sous Windows, le répertoire +\dirname{texmf-doc/source/texlive/texlive-common/w32client} +contient un exemple de script \filename{install-w32client} qui permet +de partager une installation \TL{} à travers un réseau local. Il se lance +par l'intermédiaire du fichier « batch » +\filename{install-w32client.bat} qui se trouve dans le même répertoire. + +De plus amples informations sur la configuration de \TL{} et sur la recherche +de fichiers sont disponibles à la section~\ref{sec:kpathsea}. + +\section{\TL{} sur une machine hôte (DVD ou USB)} +\label{sec:portable-unix} + +L'utilisation de \TL{} à partir du \DVD{} décrite à la +section~\ref{sec:fromdvd} impose la création de quelques répertoires sur le +disque dur, ce qui n'est pas gênant sur une machine personnelle. En revanche, +lorsqu'on travaille sur une machine hôte, il est préférable de limiter les +ajouts et modifications à faire sur le disque dur. + +Les scripts \filename{tl-portable} (pour Unix) et \filename{tl-portable.bat} +pour Windows, présents à la racine de \TL{} (ou dans le répertoire +\dirname{texlive} du \DVD \TK) facilitent l'utilisation de \TL{} sur des +machines hôtes. Lors de leur première exécution, ces scripts créent un +répertoire \dirname{~/.tlportable2008} contenant divers fichiers de +configuration qui permettront l'accès à la distribution \TL{} du \DVD. +Ceci peut prendre un peu de temps mais lors des exécutions +suivantes le démarrage est presque immédiat. Rien n'est modifié sur la machine +en dehors du répertoire \dirname{~/.tlportable2008}. + +Pour qu'un éditeur prenne en compte la distribution \TL{} du \DVD, il suffit +de le lancer par l'intermédiaire du script \filename{tl-portable}. + +Le script \filename{tl-portable} est utile aussi pour créer une distribution +\TL{} sur une clé \acro{USB}. Pour ce faire, copier sur la clé les fichiers +et les répertoires situés à la racine de \TL{} (au moins \dirname{bin}, +\dirname{texmf}, \dirname{texmf-dist} et \dirname{tlpkg}). Si la clé est +formatée en \acro{FAT32}, attention aux liens symboliques (utiliser \code{cp + -L} pour copier). Il est possible d'ajouter un répertoire +\dirname{texmf-local} sur la clé, il sera pris en compte à l'exécution. Il +reste à lancer le script \filename{tl-portable} à la racine de la clé comme +ci-dessus ; celle-ci étant accessible en écriture, lors des exécutions de \TL{} +tous les fichiers seront créés sur elle et rien ne sera écrit sur le +disque dur. + +\section{Maintenance de l'installation avec \cmdname{tlmgr}} +\label{sec:tlmgr} + +\begin{figure}[tb] +\centering +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} en mode graphique (après clic sur le bouton « Load »).}% +\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\centering +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} en mode graphique, onglet « configuration »}% +\label{fig:tlmgr-config} +\end{figure} + +Un nouveau programme appelé \prog{tlmgr} est installé avec la +distribution \TL. Il fournit une interface conviviale pour la +maintenance de la distribution. Les programmes \prog{updmap}, +\prog{fmtutil} et \prog{texconfig} ont été conservés et le seront à +l'avenir bien que \prog{tlmgr} soit appelé à devenir l'interface +standard de configuration. +\prog{tlmgr} permet en particulier +\begin{itemize} +\item de voir la liste de toutes les collections et extensions + disponibles, avec la mention \texttt{(i)} pour celles qui sont installées ; +\item d'installer, de mettre à jour ou de désinstaller tel ou tel composant, + en respectant les dépendances (sauf si l'utilisateur le refuse) ; +\item de rechercher des extensions ; +\item de voir la liste des binaires disponibles et d'en installer ; +\item de modifier la configuration (taille du papier, choix du + répertoire source pour le téléchargement voir option \texttt{-location} + page~\pageref{item:location}, etc.). +\end{itemize} +\textit{Attention :} \prog{tlmgr} ne doit pas être utilisé lorsque \TL{} est +exécuté à partir du \DVD{} (sans installation sur le disque dur). + +\subsection{\cmdname{tlmgr} en mode graphique} + +\prog{tlmgr} est lancé en mode graphique par la commande +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +ou sous Windows dans le menu « Démarrer » : \texttt{Démarrer} $\rightarrow$ +\texttt{Programmes} $\rightarrow$ \texttt{TeX Live 2008} $\rightarrow$ +\texttt{TeX Live Manager}. + +La première chose à faire est de cliquer sur le bouton « Load% +\footnote{Dans la description qui suit, le nom des boutons est celui de la + version anglaise par souci de cohérence avec les figures. L'affichage se + fait normalement dans la langue de l'utilisateur (variable \envname{LANG} + sous Unix).} » ce qui affiche la liste des collections, extensions, etc. ; +le préfixe \texttt{(i)} indique celles qui sont déjà installées. + +La figure~\ref{fig:tlmgr-config} présente l'onglet « configuration ». + +\subsection{Exemples d'utilisation de \cmdname{tlmgr} + en ligne de commande} + +Premier exemple : ajout de la collection « xetex » et de l'extension « xkeyval » +qui devront être téléchargées à partir d'un site spécifié. La commande + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +retourne +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +Le programme \prog{tlmgr} prend en compte les dépendances et effectue +automatiquement toutes les opérations nécessaires comme la mise à jour des +bases de données et la génération de formats (ici un nouveau format a été créé +pour \XeTeX). + +Deuxième exemple : ajout d'une langue de travail (néerlandais) ; ceci provoque +la régénération de plusieurs formats. +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} + +La demande de description de l'extension « collection-wintools » +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +retourne +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} + +Mise à jour complète de l'installation avec les dernières versions disponibles : +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +ou juste pour voir ce qui se passerait en cas de mise à jour complète : +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +ou bien +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} + +Documentation complète de \prog{tlmgr} : +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Spécificités Windows} +\label{sec:windows} + +Le nouveau programme d'installation de \TL{} est conçu pour +fonctionner aussi bien sous Unix que sous Windows. Ceci nous a +obligés à nous limiter à Windows 2000 et à ses successeurs (XP, Vista), +au détriment des anciennes versions (9\textit{x}, ME et NT). + +\subsection{Installation} +\label{sec:winfeatures} + +Sous Windows le programme d'installation effectue quelques tâches +supplémentaires : +\begin{description} +\item[Menus et raccourcis] -- un sous-menu «\TL{}» est ajouté au menu + « Démarrer », il contient des entrées pour les programmes \prog{tlmgr}, + \prog{texdoctk}, PS\_View et pour de la documentation. + Une icône PS\_View est ajoutée sur le bureau, il suffit d'y déposer un + fichier PostScript pour provoquer son affichage. +\item[Variables d'environnement] -- leurs valeurs sont préremplies + automatiquement sans intervention de l'utilisateur. +\item[Désinstallation] -- une entrée est ajoutée pour \TL{} dans le menu + « Ajout et suppression de programmes ». +\end{description} + +\subsection{Programmes supplémentaires} + +\begin{figure}[tb] +\centering +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: de très forts grossissements sont possibles !}% +\label{fig:psview} +\end{figure} + +L'installation de \TL{} ajoute quelques utilitaires non fournis en standard +avec Windows : +\begin{description} +\item[Perl et Ghostscript] -- \TL{} installe des copies « cachées » de ces + programmes : ce sont des versions spécifiques adaptées à \TL{}, elles + sont invisibles hors de \TL{} et n'interfèrent donc en aucune façon avec + d'autres versions éventuellement présentes sur la machine. +\item[Outils en ligne de commande] -- des versions pour Windows de programmes + Unix sont installées, en particulier \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} et quelques utilitaires + de la suite \cmdname{xpdf} (\cmdname{xpdf} lui-même n'est pas disponible + sous Windows mais le visualiseur \acro{PDF} Sumatra en est dérivé, voir + \url{http://blog.kowalczyk.info/software/sumatrapdf}). +\item[\texttt{fc-cache}] -- facilite l'accès aux fontes système pour \XeTeX. +\item[PS\_View] -- nouveau visualiseur PostScript sous licence libre, + voir figure~\ref{fig:psview}. +\item[Répertoire \texttt{support}] -- ce répertoire, déjà mentionné à la + section~\ref{sec:tld}, contient divers programmes éventuellement utiles + comme des éditeurs adaptés aux fichiers \TeX{} ou le visualiseur Dviout + présenté à la section suivante. Ces programmes ne sont + pas installés automatiquement par la commande \prog{install-tl}. +\end{description} + +\subsection{Visualiseur Dviout} + +Cette année, la distribution \TL{} ne contient malheureusement pas de +visualiseur \dvi{} pour Windows. Le programme \prog{dviout} de +Toshio Oshima est disponible dans le répertoire \path{support/dviout/}, il est +accompagné d'un fichier \filename{README} (à lire attentivement) décrivant +l'installation et la configuration de \prog{dviout} pour \TL. + +Lors des premières exécutions de \cmdname{dviout}, de nombreuses fontes sont +créées à la volée pour l'écran utilisé. Ceci prend un peu de temps mais se +produit de plus en plus rarement au fur et à mesure des utilisations. +Une bonne aide en ligne est disponible. + +\subsection{Téléchargement de logiciels supplémentaires} + +Voici quelques liens vers des sites proposant des outils intéressants : +\begin{description} +\item[Ghostscript] -- \url{http://www.cs.wisc.edu/~ghost/} ; +\item[Perl] -- \url{http://www.activestate.com/} et \acro{CPAN} + \url{http://www.cpan.org/} ; +\item[ImageMagick] -- \url{http://www.imagemagick.com} pour l'affichage et la + conversion d'images ; +\item[NetPBM] -- \url{http://netpbm.sourceforge.net/} un concurrent du + précédent ; +\item[Éditeurs orientés \TeX] -- le choix est large, en voici une sélection : + \begin{itemize} +% \item \cmdname{GNU Emacs} disponible sous Windows, see +% \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} ; + \item \cmdname{Emacs} avec Auc\TeX\ pour Windows disponible dans le + répertoire \path{support} de \TL{} ; le site de référence est + \url{http://www.gnu.org/software/auctex} ; + \item \cmdname{WinShell} disponible également dans le répertoire + \path{support} ; le site de référence est \url{http://www.winshell.de} ; + \item \cmdname{WinEdt} est un \textit{shareware}, voir + \url{http://www.winedt.com} ; + \item TeXnicCenter est libre, il est disponible sur + \url{http://www.toolscenter.org} et dans la distribution \ProTeXt{} ; + \item \cmdname{Vim} est libre, voir \url{http://www.vim.org} ; + \item \cmdname{LEd} voir \url{http://www.ctan.org/support/LEd} ; + \item \cmdname{SciTE} voir + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize} +\end{description} + + +\subsection{Répertoire personnel} +\label{sec:winhome} + +L'équivalent du répertoire personnel noté \envname{\$HOME} sous +Unix s'appelle \verb|%USERPROFILE%| sous Windows. % +Cette variable vaut en général +\verb|C:\Documents and Settings\<username>| sous Windows XP et 2000 +et \verb|C:\Utilisateurs\<username>| sous Vista. +La notation \verb|~|, utilisée dans \filename{texmf.cnf} et dans \KPS{} en +général pour désigner un répertoire personnel, est correctement interprétée +sous Windows comme sous Unix. + + +\subsection{Base de registre Windows} +\label{sec:registry} + +% (df) Je ne vois pas bien l'utilité de cette section... + +Windows stocke pratiquement tous les paramètres de configuration dans sa base +de registres. Celle-ci contient un ensemble de clés organisées par niveau. +Les clés les plus importantes pour l'installation de programmes sont +\path{HKEY_CURRENT_USER} et \path{HKEY_LOCAL_MACHINE}, \path{HKCU} et +\path{HKLM} en abrégé. La partie \path{HKCU} de la base de registres +se trouve dans le répertoire personnel de l'utilisateur (voir +section~\ref{sec:winhome}). La partie \path{HKLM} est normalement dans un +sous-répertoire du répertoire Windows. + +Certaines informations système peuvent s'obtenir à partir des variables +d'environnement mais pour d'autres, la localisation des raccourcis par +exemple, la consultation de la base de registre est indispensable. +La modification des variables d'environnement nécessite l'accès à la base de +registre. + + +\subsection{Droits d'accès sous Windows} +\label{sec:winpermissions} + +Dans les versions récentes de Windows, la distinction est faite entre +« utilisateurs » et « administrateurs », ces derniers ayant accès en écriture +à la totalité du système. En pratique on devrait plutôt parler d'utilisateurs +« non privilégiés » et d'utilisateurs « normaux » car être « administrateur » +est la règle et non l'exception. + +Nous nous sommes efforcés de rendre l'installation de \TL{} possible aux +utilisateurs non privilégiés. + +Si celui qui fait l'installation est « administrateur », les raccourcis +et les entrées des menus sont créés pour tous les utilisateurs ; +sinon, seul celui qui a fait l'installation aura accès à ces éléments. +L'option \optname{non-admin} du programme \prog{install-tl} permet à un +« administrateur » de faire une installation comme utilisateur non privilégié. + +Dans tous les cas, le répertoire proposé comme racine de l'installation est +\verb|%PROGRAMFILES%|. % +Le programme \prog{install-tl} vérifie si le répertoire choisi comme racine +est accessible en écriture pour celui qui procède à l'installation. + +Lorsqu'une installation \TeX{} est présente sur la machine, l'installation +de \TL{} par un utilisateur non privilégié est problématique : +cet utilisateur n'aura jamais accès aux exécutables \TL{} car la recherche +s'effectue d'abord dans les répertoires système, puis dans les répertoires de +l'utilisateur. Une parade sommaire a été prévue : les raccourcis intègrent +dans ce cas le chemin complet des exécutables qu'ils représentent. La +distribution \TL{} est ainsi utilisable en ligne de commande à partir de ces +raccourcis. + + +\section{Guide d'utilisation du système Web2C} + +\Webc{} est une collection intégrée de programmes relatifs à \TeX, +c.-à-d. \TeX{} lui-même, \MF{}, \MP, \BibTeX{}, etc. +C'est le cœur de \TL{}. Le site de référence est \url{http://tug.org/web2c}. + +Un peu d'histoire : la première implémentation a été réalisée par Tomas +Rokicki qui, en 1987, a développé un premier système \TeX{}-to-C en adaptant +les \textit{change files} pour Unix (travail de Howard Trickey et Pavel Curtis +principalement). Tim Morgan assura la maintenance du système, dont le nom fut +remplacé durant cette période par Web-to-C. En 1990, Karl Berry reprit le +travail, assisté par des dizaines de contributeurs et en 1997 il passa le +relais à Olaf Weber qui le rendit à Karl en 2006. + +Le système \Webc{} fonctionne sur Unix, sur les systèmes Windows 32 bits, +sur \MacOSX{} et sur de nombreux autres systèmes d'exploitation. Il utilise les +sources originales de Knuth pour \TeX{} et les autres programmes de base +écrits en \web{} (système de programmation documentée) qui sont tous traduits +en langage C. Les composants du noyau de \TeX{} issus de ce processus sont : + +\begin{description} +\item[bibtex] -- gère les bibliographies. +\item[dmp] -- \cmdname{troff} vers MPX (dessins \MP{}). +\item[dvicopy] -- copie le fichier \dvi{} en supprimant les fontes virtuelles. +\item[dvitomp] -- convertit le fichier \dvi{} en MPX (dessins \MP{}). +\item[dvitype] -- convertit le fichier \dvi{} en un texte lisible. +\item[gftodvi] -- visualisation de fontes génériques GF. +\item[gftopk] -- convertit les fontes génériques GF en fontes bitmap PK. +\item[gftype] -- convertit le fichier GF en un texte lisible. +\item[makempx] -- typographie des étiquettes \MP{}. +\item[mf] -- création de fontes. +\item[mft] -- mise en page de code source \MF{}. +\item[mpost] -- création de diagrammes techniques. +\item[mpto] -- extraction d'étiquettes \MP{}. +\item[newer] -- comparaison de dates de modification (fichiers). +\item[patgen] -- création de motifs de césure. +\item[pktogf] -- convertit les fontes bitmap PK en fontes génériques GF. +\item[pktype] -- convertit les fontes PK en un texte lisible. +\item[pltotf] -- convertit les fichiers PL (lisibles) en TFM. +\item[pooltype] -- affiche les fichiers \web{} pool. +\item[tangle] -- \web{} vers Pascal. +\item[tex] -- composition de textes. +\item[tftopl] -- convertit les fichiers TFM en PL (lisibles). +\item[vftovp] -- convertit les fontes virtuelles VF en VPL (lisibles). +\item[vptovf] -- convertit les fontes VPL en fontes virtuelles VF. +\item[weave] -- \web{} vers \TeX. +\end{description} + +La syntaxe et les fonctions précises de ces programmes sont décrites dans +la documentation des composants individuels et dans le manuel \Webc{} +lui-même. Toutefois, connaître un certain nombre de principes régissant +l'ensemble de la famille de programmes peut aider à exploiter de façon +optimale votre installation \Webc{}. + + Presque tous ces programmes suivent les options standard de \GNU : +\begin{description} + \item[\texttt{-{}-help}] imprime le sommaire de l'utilisation, + \item[\texttt{-{}-verbose}] imprime le rapport détaillé du processus, + \item[\texttt{-{}-version}] imprime seulement le numéro de version. +\end{description} + +Pour localiser les fichiers, les programmes \Webc{} utilisent la bibliothèque +de recherche \KPS{} (\url{http://tug.org/kpathsea}). Cette bibliothèque +utilise une combinaison de variables d'environnement et un certain nombre de +fichiers de paramètres pour optimiser la recherche dans l'énorme arborescence +\TeX{}. \Webc{} peut exécuter une recherche dans plusieurs arborescences +simultanément, ce qui est utile si l'on souhaite maintenir la distribution +standard de \TeX{} et les extensions locales dans deux arborescences +distinctes. Afin d'accélérer la recherche de fichiers, la racine de chaque +arborescence possède un fichier \file{ls-R} contenant une entrée donnant le +nom et le chemin de chaque fichier situé sous la racine. + +\subsection{Kpathsea et la recherche de fichiers} +\label{sec:kpathsea} + +Décrivons en premier lieu le mécanisme de recherche de la bibliothèque \KPS{}. + +Nous appelons \emph{chemin de recherche} une liste, séparée par +« deux-points» ou « point-virgule», d'éléments, appelés +\emph{éléments de chemin}, qui sont des noms de répertoires. +Un chemin de recherche peut provenir de plusieurs sources. +Pour rechercher un fichier \samp{my-file} le long +d'un chemin \samp{.:/dir}, \KPS{} vérifie chaque élément du chemin : +d'abord \filename{./my-file}, puis \filename{/dir/my-file} et renvoie la +première occurrence (voire toutes). + +Afin d'optimiser l'adaptation à tous les systèmes d'exploitation, \KPS{} peut +utiliser dans les noms de fichiers des séparateurs différents de deux-points +(\samp{:}) et barre oblique (\samp{/}) pour les systèmes non-Unix. + +Pour vérifier un élément de chemin particulier \var{p}, \KPS{} +vérifie d'abord si une base de données existante (voir +page~\pageref{sec:filename-database}) contient \var{p}, +c.-à-d. si la base de données se trouve dans un +répertoire qui est un préfixe de \var{p}. Si oui, la spécification +du chemin est comparée avec le contenu de la base de données. + +Si la base de données n'existe pas, si elle ne s'applique pas à cet élément de +chemin ou si elle ne contient aucune correspondance, la recherche est lancée +sur tout le système de fichiers (si cela n'a pas été interdit par une commande +commençant par \samp{!!} et si le fichier cherché est censé exister). \KPS{} +construit la liste de répertoires qui correspondent à cet élément de chemin, +puis cherche le fichier dans chaque élément de cette liste. + +La condition « le fichier est censé exister » est liée aux fichiers~\samp{.vf} +et aux fichiers d'entrée lus par la commande \TeX\ \cs{openin}. De tels +fichiers peuvent ne pas exister (par exemple \file{cmr10.vf}), il est donc +inutile de les rechercher sur le disque. De plus, si vous n'actualisez pas le +fichier \file{ls-R} lors de l'installation d'un nouveau fichier \samp{.vf}, il +ne sera jamais trouvé. Chaque élément de chemin est alors vérifié : d'abord +dans la base de données puis sur le disque. Si une occurrence est trouvée, la +recherche s'arrête et le résultat est obtenu. + +Bien que l'élément de chemin le plus simple et le plus fréquent soit un nom de +répertoire, \KPS{} supporte d'autres types d'éléments dans les chemins de +recherche : des valeurs par défaut différentes pour chaque programme, des noms +de variables d'environnement, des valeurs de fichiers de configuration, les +répertoires de l'utilisateur et la recherche récursive de +sous-répertoires. Nous disons alors que \KPS{} \emph{étend} un élément, +c'est-à-dire que \KPS{} transforme toutes ces spécifications en noms de +répertoires de base. Cette opération est décrite dans les sections suivantes. + +Notons que si le nom de fichier cherché est absolu ou explicitement +relatif, c'est-à-dire commençant par \samp{/}, \samp{./} ou +\samp{../}, \KPS{} ne vérifie que l'existence de ce fichier. +\ifSingleColumn +\else +\begin{figure*} +\centering +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{Un exemple de fichier de configuration} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Les différentes sources} +\label{sec:path-sources} + +Un chemin de recherche peut provenir de plusieurs sources. Voici l'ordre +dans lequel \KPS\ les utilise. + +\begin{enumerate} +\item Une variable d'environnement définie par l'utilisateur, par exemple + \envname{TEXINPUTS}. Les variables d'environnement avec une extension + attachée (nom de programme) sont d'abord prises en compte : par exemple, si + \samp{latex} est le nom du programme exécuté, \envname{TEXINPUTS.latex} + passera avant \envname{TEXINPUTS}. +\item Un fichier de configuration de programme spécifique, par exemple une + ligne « \texttt{S /a:/b} » dans le fichier \file{config.ps} de + \cmdname{dvips}. +\item Un fichier de configuration \file{texmf.cnf} de \KPS{} contenant une + ligne telle que \\ \samp{TEXINPUTS=/c:/d} (voir ci-dessous). +\item La valeur par défaut obtenue à la compilation. +\end{enumerate} +\noindent On peut voir chacune de ces valeurs pour un chemin de recherche +donné en utilisant l'option de débogage (voir page~\pageref{sec:debugging}). + +\subsubsection{Fichiers de configuration} + +\begingroup\tolerance=3500 +\KPS{} lit dans les \emph{fichiers de configuration à + l'exécution} appelés \file{texmf.cnf} les chemins de recherche et +d'autres définitions. Le chemin pour accéder à ces fichiers dans +l'arborescence est stocké dans la variable \envname{TEXMFCNF} +(par défaut ces +fichiers se trouvent dans le sous-répertoire \file{texmf/web2c}). +\emph{Tous} les fichiers \file{texmf.cnf} se trouvant dans le chemin +de recherche vont être lus et les définitions provenant +de fichiers précédents écraseront celles des fichiers suivants. Par +exemple, avec un chemin tel que \verb|.:$TEXMF|, les définitions du +fichier \filename{./texmf.cnf} écrasent celles de +\verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item Les commentaires sont signalés par un \texttt{\%} et se terminent à la + fin de la ligne. +\item Les lignes vides sont ignorées. +\item Un \bs{} à la fin d'une ligne joue le rôle d'un lien entre deux lignes, + c'est-à-dire que la ligne courante se poursuit à la ligne suivante. Dans ce + cas, les espaces présents au début de la ligne suivante ne sont pas ignorés. +\item Toutes les autres lignes sont de la forme : +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + où le \samp{=} et les espaces autour sont optionnels. +\item Le nom de la \ttvar{variable} peut contenir n'importe quel caractère + autre que les espaces, \samp{=}, ou \samp{.} mais on recommande d'utiliser + \samp{A-Za-z\_} pour éviter les problèmes. +\item Si \samp{.\var{progname}} est présent, sa définition s'applique + seulement si le programme exécuté se nomme \texttt{\var{progname}} ou + \texttt{\var{progname}.exe}. Ceci permet par exemple à différentes variantes + de \TeX{} d'avoir des chemins de recherche différents. +\item \var{value} peut contenir n'importe quel caractère excepté \code{\%} et + \samp{@}. L'option \code{\$\var{var}.\var{prog}} n'est pas disponible à + droite du signe \samp{=} ; à la place, on doit utiliser une variable + supplémentaire. Un \samp{;}\ dans \var{value} est compris comme un \samp{:}\ + si on travaille sous Unix ; ceci est très utile et permet d'avoir un seul + \file{texmf.cnf} pour les systèmes Unix, \acro{MS-DOS} et Windows. +\item Toutes les définitions sont lues avant tout désarchivage ou + décompactage, de telle façon que les variables peuvent être référencées + avant d'être définies. +\end{itemize} +Voici un fichier de configuration illustrant les points précédents +\ifSingleColumn + +%\verbatiminput{examples/ex5.tex} % trop petit (df) +\begin{verbatim} +TEXMF = {$TEXMFLOCAL,!!$TEXMFMAIN} +TEXINPUTS.latex = .;$TEXMF/tex/{latex,generic;}// +TEXINPUTS.fontinst = .;$TEXMF/tex//;$TEXMF/fonts/afm// +% e-TeX related files +TEXINPUTS.elatex = .;$TEXMF/{etex,tex}/{latex,generic;}// +TEXINPUTS.etex = .;$TEXMF/{etex,tex}/{eplain,plain,generic;}// +\end{verbatim} + +\else +dans la figure~\ref{fig:config-sample}. +\fi + +\subsubsection{Expansion d'un chemin de recherche} +\label{sec:path-expansion} + +\KPS{} reconnaît certains caractères et constructions spéciales dans +les chemins de recherche, semblables à ceux disponibles dans les +\textit{shells} Unix. Ainsi, le chemin complexe, +\verb+~$USER/{foo,bar}//baz+ %$ +étend la recherche vers tous les sous-répertoires situés sous les +répertoires \file{foo} et \file{bar} dans le répertoire utilisateur +\texttt{\$USER} contenant un répertoire ou un fichier appelé %$ +\file{baz}. Ces expansions sont explicitées dans les sections +suivantes. + +\subsubsection{Expansion par défaut} +\label{sec:default-expansion} + +\tolerance=2500 +Si le chemin de recherche le plus prioritaire (voir +section~\ref{sec:path-sources}) contient un \samp{:} +\emph{supplémentaire} (c.-à-d. en début ou fin de ligne ou +double), \KPS{} insère à cet endroit le chemin suivant dont la +priorité définie est immédiatement inférieure. Si ce chemin inséré +possède un \samp{:} supplémentaire, le même processus se +répète pour le chemin prioritaire suivant. +Par exemple, étant donné une variable d'environnement définie ainsi + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +la valeur de \code{TEXINPUTS} d'après le fichier \file{texmf.cnf} étant + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +alors la valeur finale utilisée pour la recherche sera + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Comme il est inutile d'insérer la valeur par défaut en plusieurs +endroits, \KPS{} applique la substitution à seulement un \samp{:} +supplémentaire et laisse les autres inchangés : il cherche d'abord un +\samp{:} en début de ligne, puis en fin de ligne et enfin un double +\samp{:}. + +\subsubsection{Expansion spécifiée par les accolades} + +Option utile, l'expansion par le biais des accolades +signifie, par exemple, que \verb+v{a,b}w+ va permettre la recherche +dans \verb+vaw:vbw+. Les définitions emboîtées sont autorisées. Ceci +peut être utilisé pour établir des hiérarchies \TeX{} multiples en +attribuant une liste entre accolades à \code{\$TEXMF}. Par exemple, +dans \file{texmf.cnf}, on trouve une définition du type suivant +(il y a en fait plus de répertoires) : +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFSYSVAR,!!$TEXMFMAIN} +\end{verbatim} +Avec ceci, on peut écrire quelque chose comme +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +ce qui signifie que, après avoir cherché dans le répertoire courant, les +arborescences complètes \code{\$TEXMFHOME/tex} suivie de +\code{\$TEXMFLOCAL/tex} (sur le disque) et ensuite les arborescences +\code{!!\$TEXMFVAR/tex} et \code{!!\$TEXMFMAIN/tex} +(définies dans le fichier de référence \file{ls-R} \emph{seulement}) seront +inspectées. C'est un moyen pratique permettant d'utiliser en parallèle deux +distributions \TeX{}, une « figée » (sur un \CD, par exemple) et une +autre régulièrement mise à jour avec de nouvelles versions quand elles +deviennent disponibles. En utilisant la variable \code{\$TEXMF} dans toutes +les définitions, on est toujours sûr d'inspecter d'abord l'arborescence la +plus récente. + +\subsubsection{Expansion des sous-répertoires} +\label{sec:subdirectory-expansion} + +Deux barres \samp{//} ou plus consécutives dans une partie d'un chemin suivant +un répertoire \var{d} sont remplacées par tous les sous-répertoires de +\var{d} : d'abord les sous-répertoires directement présents dans +\var{d}, ensuite les sous-répertoires de ceux-ci et ainsi de suite. À +chaque niveau, l'ordre dans lequel les répertoires sont inspectés est +\emph{non-déterminé}. + +Dans le cas où l'on spécifie une partie de nom de fichier après le +\samp{//}, seuls sont inclus les sous-répertoires auxquels le nom +correspond. Par exemple, \samp{/a//b} va correspondre aux répertoires +\file{/a/1/b}, \file{/a/2/b}, \file{/a/1/1/b} et ainsi de suite, +mais pas à \file{/a/b/c} ni \file{/a/1}. + +Des \samp{//} multiples et successifs dans un chemin sont possibles, +mais \samp{//} au début d'un chemin est ignoré. + +\subsubsection{Liste des caractères spéciaux et de leur signification : + récapitulatif} + +La liste suivante récapitule la signification des caractères spéciaux +dans les fichiers de configuration de \KPS{}. + +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} + +\begin{ttdescription} + +\item[\CODE{:}] Séparateur dans un chemin de recherche ; au début + ou à la fin d'un chemin, il remplace le chemin par défaut. + +\item[\CODE{;}] Séparateur dans les systèmes non-Unix + (joue le rôle de \code{:}). + +\item[\CODE{\$}] Substitue le contenu d'une variable. + +\item[\CODE{\string~}] Représente le répertoire racine de + l'utilisateur. + +\item[\CODE{\char`\{...\char`\}}] Expansion par les accolades, + par exemple \verb+a{1,2}b+ devient \verb+a1b:a2b+. + +\item[\CODE{//}] La recherche concernera aussi les sous-répertoires + (peut être inséré n'importe où dans un chemin sauf au début). + +\item[\CODE{\%}] Début d'un commentaire. + +\item[\CODE{\bs}] Caractère de continuation de ligne (permet les + entrées sur plusieurs lignes). + +\item[\CODE{!!}] Cherche \emph{seulement} dans la base de + données pour localiser le fichier et \emph{ne cherche pas} sur le disque. + +\end{ttdescription} + +\subsection{Les bases de données} +\label{sec:filename-database} + +\KPS{} a une certaine profondeur d'investigation pour minimiser les +accès disque durant les recherches. Néanmoins, dans le cas de +distributions comprenant beaucoup de répertoires, inspecter chaque +répertoire possible pour un fichier donné peut durer excessivement +longtemps (ceci est typiquement le cas quand plusieurs centaines de +répertoires de polices de caractères doivent être parcourus). En +conséquence, \KPS{} peut utiliser un fichier texte appelé \file{ls-R} --- en +fait une base de données construite au préalable --- qui fait correspondre +les fichiers à leur répertoire, ce qui permet d'éviter une recherche +exhaustive sur le disque. + +Un deuxième fichier appelé \file{aliases} (qui est également une base de +données) permet de donner des noms différents aux fichiers listés dans +\mbox{\file{ls-R}}. Ceci peut aider à adapter ses fichiers source aux +conventions de \acro{DOS}~8.3 pour les noms de fichiers. + +\subsubsection{Le fichier base de données} +\label{sec:ls-R} + +Comme nous l'avons expliqué ci-dessus, le nom du principal fichier-base de +données doit être \mbox{\file{ls-R}}. +Dans votre installation, vous pouvez en mettre un à la racine de chaque +arborescence \TeX{} que vous désirez voir +inspecter (\code{\$TEXMF} par défaut) ; la plupart des sites ont +une seule arborescence \TeX{}. \KPS{} cherche les fichiers \file{ls-R} +dans le chemin spécifié dans la variable \code{TEXMFDBS}. + +La meilleure façon de créer et mettre à jour le fichier \file{ls-R} +est d'exécuter le script \cmdname{mktexlsr} inclus dans la +distribution. Il est appelé par les divers scripts \cmdname{mktex}\dots\ +En principe, ce script exécute uniquement la commande +%cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R| +% Remplacé (df) car \path|...| plante à cause de \let\path\url. +\begin{alltt} +cd \var{/your/texmf/root} && \boi{}ls -1LAR ./ >ls-R +\end{alltt} +en supposant que la commande \code{ls} de votre système produise le bon +format de sortie (le \code{ls} de \GNU convient +parfaitement). Pour s'assurer que la base de données est toujours à +jour, le meilleur moyen est de la reconstruire en utilisant la table +des \code{cron}, de telle façon que le fichier \file{ls-R} prenne +automatiquement en compte les changements dans les fichiers +installés, par exemple après une installation ou une +mise à jour d'un composant \LaTeX{}. + +Si un fichier n'est pas trouvé dans la base de données, par défaut +\KPS{} décide de le chercher sur le disque. Par contre, si un élément du +chemin commence par \samp{!!}, \emph{seule} la base de données +sera inspectée pour cet élément, jamais le disque. + +\subsubsection{kpsewhich : programme de recherche dans une arborescence} +\label{sec:invoking-kpsewhich} + +Le programme \texttt{kpsewhich} effectue une recherche dans une +arborescence indépendamment de toute application. On peut le +considérer comme une sorte de \code{find} pour localiser des fichiers +dans les arborescences \TeX{} (ceci est largement utilisé dans les +scripts \cmdname{mktex}\dots\ de la distribution). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Les options spécifiées dans \ttvar{option} peuvent +commencer soit par \samp{-} soit par \samp{-{}-} ; n'importe quelle +abréviation claire est acceptée. + +\KPS{} considère tout argument non optionnel dans la ligne de commande +comme un nom de fichier et renvoie la première occurrence trouvée. Il +n'y a pas d'option pour renvoyer tous les fichiers ayant un nom +particulier (vous pouvez utiliser le \cmdname{find} d'Unix pour cela). + +Les options les plus importantes sont décrites ci-après. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} \\ + Définit la résolution à \ttvar{num} ; ceci affecte + seulement la recherche des fichiers \samp{gf} et \samp{pk}. \samp{-D} est un + synonyme pour assurer la compatibilité avec \cmdname{dvips}. Le défaut + est 600. +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + Définit le format pour la recherche à \ttvar{name}. + Par défaut, le format est estimé en fonction du nom de fichier. + Pour les formats qui n'ont pas de suffixe clair associé, comme les + fichiers de support \MP{} et les fichiers de configuration + \cmdname{dvips}, vous devez spécifier le nom connu de \KPS, comme + \texttt{tex} ou \texttt{enc files}. Exécutez la commande + \texttt{kpsewhich -{}-help} pour obtenir la liste précise. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + Définit le nom du mode comme étant \ttvar{string} ; +ceci affecte seulement la recherche des \samp{gf} et des \samp{pk}. +Pas d'option par défaut, n'importe quel mode sera trouvé. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Fait tout ce qui est possible pour trouver les fichiers, ce qui +inclut une recherche sur le disque. Par défaut, seule la base de +données \file{ls-R} est inspectée, dans un souci d'efficacité. +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + Recherche dans le chemin \ttvar{string} (séparé par +deux-points comme d'habitude), au lieu de prendre le chemin à partir +du nom de fichier. \samp{//} et toutes les expansions habituelles sont +supportées. + Les options \samp{-{}-path} et \samp{-{}-format} s'excluent mutuellement. +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + Définit le nom de programme comme étant \ttvar{name}. + Ceci peut affecter les chemins de recherche via l'option + \texttt{.\var{progname}} dans les fichiers de configuration. + Le défaut est \cmdname{kpsewhich}. +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + Montre le chemin utilisé pour la recherche des fichiers de type +\ttvar{name}. + On peut utiliser soit une extension de fichier (\code{.pk}, \code{.vf}, + etc.), soit un nom de fichier, comme avec l'option \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + Définit les options de débogage comme étant + \ttvar{num}. +\end{ttdescription} + +\subsubsection{Exemples d'utilisation} +\label{sec:examples-of-use} + +Jetons un coup d'œil à \KPS{} en action ; voici une recherche +toute simple : + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Nous recherchons le fichier \file{article.cls}. Puisque le suffixe +\file{.cls} est non-ambigu, nous n'avons pas besoin de spécifier que +nous voulons rechercher un fichier de type \optname{tex} (répertoires des +fichiers sources de \TeX{}). Nous le trouvons dans le sous-répertoire +\filename{tex/latex/base} du répertoire racine \samp{TEXMF}. De même, + le suffixe non-ambigu permet de trouver facilement les autres fichiers. +\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} + +Le dernier exemple est une base de données bibliographiques pour \BibTeX{} +servant aux articles de \textsl{TUGBoat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Les fichiers de glyphes de fontes bitmaps, de type +\file{.pk}, sont +utilisés pour l'affichage par des programmes comme \cmdname{dvips} et +\cmdname{xdvi}. Rien n'est renvoyé dans ce cas puisque il n'y a pas +de fichiers Computer Modern \file{.pk} pré-créés sur nos systèmes +(nous utilisons les versions type~1 du \TL{}). +\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} +Pour ces fontes (alphabet phonétique de l'université Washington), +nous avons dû créer les fichiers \file{.pk} et, puisque le mode \MF{} par +défaut sur notre installation est \texttt{ljfour} avec une résolution de +base de 600\dpi{} \textit{(dots per inch)}, cette instance est trouvée. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +Dans ce cas, lorsque l'on spécifie que nous recherchons une +résolution de 300\dpi{} (\texttt{-dpi=300}) nous voyons qu'aucune fonte +pour cette résolution n'est disponible dans le système. En fait, un +programme comme \cmdname{dvips} ou \cmdname{xdvi} ne s'en +préoccuperait pas et créerait les fichiers \file{.pk} à la +résolution demandée en utilisant le script \cmdname{mktexpk}. + +Intéressons-nous à présent aux fichiers d'en-tête et de configuration +pour \cmdname{dvips}. +Regardons en premier le fichier \file{tex.pro} communément utilisé +pour le support de \TeX{} avant de regarder le fichier +de configuration générique (\file{config.ps}) et la liste des fontes +\PS{} \file{psfonts.map}. Depuis l'édition 2004, les fichiers +\file{.map} et les fichiers de codage ont changé de place dans +l'arborescence \dirname{texmf}. Comme le suffixe \file{.ps} est +ambigu, nous devons spécifier quel type particulier du fichier +\texttt{config.ps} nous considérons (\optname{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} + +Regardons plus en détail les fichiers de support Times +\PS{} d'\acro{URW}. Leur nom standard dans le schéma de nommage des fontes +est \samp{utm}. Le premier fichier que nous voyons est le +fichier de configuration, qui contient le nom du fichier +de la liste : +\begin{alltt} +> \Ucom{kpsewhich -{}-format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Le contenu de ce fichier est +\begin{alltt} + p +utm.map +\end{alltt} +qui pointe vers le fichier \file{utm.map}, que nous cherchons à +localiser ensuite. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Ce fichier liste les noms des fichiers des +fontes \PS{} de type~1 dans la collection URW. Son contenu +ressemble à (nous ne montrons qu'une partie des lignes) : +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Prenons par exemple le cas de Times Roman \file{utmr8a.pfb} et +trouvons sa position dans l'arborescence \file{texmf} en utilisant une +recherche applicable aux fichiers de fontes de type~1 : +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Il devrait être clair, d'après ces quelques exemples, qu'il est facile +de trouver l'endroit où se cache un fichier donné. C'est +particulièrement important si vous suspectez que c'est, pour une +raison quelconque, une mauvaise version du fichier qui est utilisée, +puisque \cmdname{kpsewhich} va vous montrer le premier fichier +trouvé. + +\subsubsection{Opérations de débogage} +\label{sec:debugging} + +Il est quelquefois nécessaire de savoir comment un programme référence +les fichiers. Pour permettre cela, \KPS{} offre +plusieurs niveaux de débogage : +\begin{ttdescription} +\item[\texttt{\ 1}] Appels à \texttt{stat} (test d'existence de fichier). Lors d'une + exécution utilisant une base de données \file{ls-R} à jour, ce niveau + ne devrait donner presque aucune information en sortie. +\item[\texttt{\ 2}] Références aux différentes tables (comme la base + de données \file{ls-R}, les fichiers de correspondance de fontes, les fichiers de + configuration). +\item[\texttt{\ 4}] Opérations d'ouverture et de fermeture des + fichiers. +\item[\texttt{\ 8}] Information globale sur la localisation des types + de fichiers recherchés par \KPS. Ceci est utile pour trouver où a été + défini le chemin particulier pour un fichier. +\item[\texttt{16}] Liste des répertoires pour chaque élément du + chemin (utilisé uniquement en cas de recherche sur le disque). +\item[\texttt{32}] Recherche de fichiers. +\item[\texttt{64}] Valeur des variables. +\end{ttdescription} +Une valeur de \texttt{-1} activera toutes les options ci-dessus ; en +pratique, c'est habituellement la valeur la plus adaptée. + +De la même façon, avec le programme \cmdname{dvips}, en utilisant une +combinaison d'options de débogage, on peut suivre en détail la +localisation des +différents fichiers. De plus, lorsqu'un fichier n'est +pas trouvé, la trace du débogage montre les différents répertoires dans +lesquels le programme va chercher tel ou tel fichier, donnant ainsi +des indices sur le problème. + +Généralement, comme la plupart des programmes appellent la +bibliothèque \KPS{} en interne, on peut sélectionner une option de +débogage en utilisant la variable d'environnement +\envname{KPATHSEA\_DEBUG} et en la définissant égale à la valeur (ou +à une combinaison de valeurs) décrite(s) dans la liste ci-dessus. + +Note à l'intention des utilisateurs de Windows : il n'est pas facile +de rediriger les messages d'erreur vers un fichier sur ces +systèmes. À des fins de diagnostic, vous pouvez temporairement +affecter \texttt{KPATHSEA\_DEBUG\_OUTPUT=err.log} pour capturer le flux +standard d'erreur dans le fichier \texttt{err.log}. + +Considérons comme exemple un petit fichier source \LaTeX{}, +\file{hello-world.tex}, dont le contenu est le suivant. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Ce petit fichier utilise simplement la fonte \file{cmr10}, aussi +allons voir comment \cmdname{dvips} prépare le fichier \PS{} +(nous voulons utiliser la version type~1 +des fontes Computer Modern, d'où l'option \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +Dans ce cas, nous avons combiné le niveau 4 de débogage de +\cmdname{dvips} (chemins des fontes) avec l'option d'expansion des +éléments du chemin de \KPS\ (voir \cmdname{dvips} Reference Manual, +\OnCD{texmf/doc/html/dvips/dvips_toc.html} sur le \DVD{}). +La sortie (légèrement formatée) apparaît dans la +figure~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{Recherche des fichiers de configuration}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{Recherche du fichier prolog}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{Recherche du fichier de fontes}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} commence par localiser ses fichiers de +fonctionnement. D'abord, \file{texmf.cnf} est trouvé, ce qui donne les +définitions pour les chemins de recherche servant à localiser les +autres fichiers, ensuite le fichier base de données \file{ls-R} (pour +optimiser la recherche des fichiers) et le fichier \file{aliases}, qui +permet de déclarer plusieurs noms (par exemple un nom \acro{DOS} de type +8.3 court et une version longue plus naturelle) pour le même +fichier. Ensuite \cmdname{dvips} continue en cherchant le fichier de +configuration générique \file{config.ps} avant de rechercher le fichier +de paramétrisation \file{.dvipsrc} (qui, dans notre cas, \emph{n'est +pas trouvé}). Enfin, \cmdname{dvips} localise le fichier de +configuration pour les fontes \PS{} Computer Modern +\file{config.cms} (ceci est lancé par l'option \mbox{\texttt{-Pcms}} de la +commande \cmdname{dvips}). Ce fichier contient la liste des fichiers + qui définissent la relation entre les noms des fontes +selon \TeX{}, selon \PS{} et dans le système de fichiers. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} veut chercher tous ces fichiers, y compris le +fichier générique d'association \file{psfonts.map}, qui est toujours +chargé (il contient des déclarations pour les fontes \PS{} les +plus communément utilisées ; voir la dernière partie de la Section +\ref{sec:examples-of-use} pour plus de détails sur la gestion du fichier +d'association \PS{}). + +Arrivé là, \cmdname{dvips} s'identifie à l'utilisateur : + \begin{alltt} + This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) + \end{alltt} + +\ifSingleColumn +pour continuer ensuite en cherchant le fichier prologue \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 +pour continuer ensuite en cherchant le fichier prologue \file{texc.pro} +(voir la figure~\ref{fig:dvipsdbgb}). +\fi + +Après avoir trouvé ce fichier, \cmdname{dvips} affiche la date et +l'heure, nous informe qu'il va générer le fichier +\file{hello-world.ps} puis qu'il a besoin du fichier de fonte +\file{cmr10} et que ce dernier est déclaré comme « résident» +(pas besoin de bitmaps) : +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Maintenant la recherche concerne le fichier \file{cmr10.tfm}, qui est +trouvé, puis quelques fichiers de prologue de plus (non montrés) sont +référencés ; finalement le fichier de la fonte type~1 \file{cmr10.pfb} +est localisé et inclus dans le fichier de sortie (voir la dernière ligne). +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Options à l'exécution} + +\Webc{} offre la possibilité de contrôler à l'exécution bon nombre de +paramètres concernant la mémoire (en particulier la taille des +tableaux utilisés) à partir du fichier +\file{texmf.cnf} qui est lu par \KPS. +Les paramètres en question se trouvent +dans la troisième partie du fichier inclus dans la distribution \TL{}. + Les variables les plus importantes sont : +\begin{ttdescription} +\item[\texttt{main\_memory}] + Nombre total de mots mémoire disponibles pour + \TeX{}, \MF{} et \MP. Vous devez générer un nouveau fichier de + format pour chaque nouveau paramétrage. Par exemple, vous pouvez + générer une version large de \TeX{} et appeler le fichier de format + \texttt{hugetex.fmt}. En utilisant la méthode supportée par \KPS{} + qui consiste à suffixer la variable par le nom du programme, la valeur + particulière de la variable \texttt{main\_memory} destinée à ce + fichier de format sera lue dans le fichier \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] + Espace supplémentaire pour certaines structures de données de \TeX{} : + boîtes, \textit{glue}, points d'arrêt\dots{} Surtout utile si vous utilisez + \PiCTeX{} par exemple. +\item[\texttt{font\_mem\_size}] + Nombre de mots mémoire disponibles pour décrire les polices. C'est + plus ou moins l'espace occupé par les fichiers \acro{TFM} lus. +\item[\texttt{hash\_extra}] + Espace supplémentaire pour la table de hachage des noms de séquences + de contrôle. Environ 10~000 de ces noms peuvent être stockés dans la + table principale ; si vous avez un document très volumineux avec + beaucoup de références croisées, il se peut que ce ne soit pas + suffisant. La valeur par défaut \texttt{hash\_extra} est \texttt{50000}. +\end{ttdescription} + +\noindent Évidemment, cette possibilité ne remplace pas une véritable +allocation dynamique des tableaux et de la mémoire mais puisque c'est +complexe à implémenter dans le présent source \TeX{}, ces paramètres lus +à l'exécution fournissent un compromis pratique qui procure une certaine +souplesse. + +\section{Installation sur un nouveau système Unix} + +Si vous avez un système Unix ne correspondant à aucun des exécutables +fournis, il faut compiler vous-même \TeX{} et tous ses programmes +satellites à partir des sources. Cela n'est pas aussi difficile qu'il +y paraît. Tout ce dont vous aurez besoin est contenu dans le +répertoire \texttt{source} qui se trouve sur le \DVD. + +\subsection{Prérequis} + +Il faut au moins 400\,Mo d'espace sur disque pour compiler la +totalité de \TeX{} et des programmes associés. +Vous aurez aussi besoin d'un +compilateur C \acro{ANSI}, de l'utilitaire \cmdname{make}, +d'un générateur d'analyseur lexical et d'un générateur d'analyseur +syntaxique. Nous recommandons les versions \GNU des programmes suivants +(\cmdname{gcc}, \GNU{}\cmdname{make}, \cmdname{m4}, +\cmdname{flex}, \cmdname{bison}). Vous pouvez utiliser d'autres compilateurs C +et d'autres programmes \cmdname{make} si vous maîtrisez +correctement la programmation sous Unix pour résoudre les +problèmes éventuels. La commande \texttt{uname} doit renvoyer une valeur +raisonnable. + +\subsection{Configuration} + +Tout d'abord, effectuez l'installation normale de \TL{} sur le disque +dur (voir section~\ref{sec:install}, +page~\pageref{sec:install}). Vous pouvez sauter l'installation de +tous les binaires précompilés. +Décompactez ensuite sur le disque le fichier +\file{source.tar.bz2} (archive compressée) trouvé dans +le répertoire \dirname{source} et placez-vous dans +le répertoire où vous avez transféré l'ensemble. +\begin{alltt} +> \Ucom{cd /tmp/tl-source} +> \Ucom{bunzip2 source.tar.bz2} +> \Ucom{tar xf source.tar} +\end{alltt} + +Lancez maintenant \textsf{configure} de la façon suivante : +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/texlive/2007} +\end{alltt} + +Le répertoire \optname{-prefix} est le répertoire de base de +l'arborescence \TL{}, il est désigné par \var{TEXDIR} dans la suite. +\begin{comment} +Les répertoires utilisés sont les suivants : + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/texmf-dist} & répertoire de base pour les fontes, + macros, etc\\ + \dirname{$TEXDIR/man} & pages du manuel Unix\\ + \dirname{$TEXDIR/info} & manuels \GNU en format Info\\ + \dirname{$TEXDIR/bin/$archname} & exécutables.\\ +\end{tabular}\\ +\end{comment} +%$ + +Si vous ne voulez pas créer de répertoire \dirname{$archname} spécifique %$ +au système choisi pour stocker les exécutables (c.-à-d. les +copier directement dans \dirname{$TEXDIR/bin}), %$ +il faut exécuter \textsf{configure} avec l'option \\ +\verb|--disable-multiplatform|. + +Tapez \verb|./configure --help|, le programme affichera +les options supplémentaires disponibles (telles que supprimer l'installation +des extensions optionnelles comme \OMEGA\ ou \eTeX). + +\subsection{Exécuter \textsf{make}} +S'assurer que la variable ou l'option \texttt{noclobber} n'est pas définie. + et lancer le \cmdname{make} à la racine de l'arborescence de la façon +suivante : +\begin{alltt} +>> \Ucom{make world} +\end{alltt} +et aller prendre un café\dots + +Il peut être utile de garder une trace complète dans un fichier log en tapant : +\begin{alltt} +>> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Avant de conclure que tout va bien, vérifier que le fichier log ne contient +pas de message d'erreur : le \cmdname{make} de \GNU renvoie toujours +le message \samp{***} à chaque erreur d'exécution. Vérifier aussi que +tous les exécutables ont été créés. +\begin{alltt} +>> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +>> \Ucom{ls | wc} +\end{alltt} +Le résultat doit être supérieur à 200 (on peut tester le nombre exact +dans le répertoire \dirname{bin} de la distribution). + +Si vous avez besoin de droits spéciaux pour exécuter \texttt{make install}, +vous pouvez séparer \samp{make world} en deux processus différents : +\begin{alltt} +>> \Ucom{make all} +>> \Ucom{su} +>> \Ucom{make install strip} +\end{alltt} + +Après avoir installé vos nouveaux binaires, il faut suivre les procédures +normales de la post-installation, indiquées dans la +section~\ref{sec:postinstall}, page~\pageref{sec:postinstall}. + +\section{Remerciements} + +\TL{} est le résultat des efforts +collectifs de pratiquement tous les groupes d'utilisateurs de \TeX. +La présente édition de \TL{} a été coordonnée par Karl Berry. +Voici la liste des principaux contributeurs : + +\begin{itemize} + +\item Les associations d'utilisateurs anglais, allemands, néerlandais et + polonais (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, and \acro{GUST}, + respectivement) qui contribuent ensemble à l'infrastructure technique et + administrative. Soutenez votre association locale (voir la liste + \url{http://tug.org/usergroups.html}) ! + +\item L'équipe du \acro{CTAN}, en particulier Robin Fairbairns, Jim Hef{}feron + et Rainer Schöpf, qui distribue les images des distributions \TL{} et + fournit les sites d'hébergement pour le stockage et la mise à jour des + extensions qui sont la base de \TL. + +\item Peter Breitenlohner et toute l'équipe \eTeX{} qui construisent + les bases des successeurs de \TeX. + +\item Thomas Esser et sa merveilleuse distribution \teTeX{} sans laquelle + \TL{} n'aurait jamais vu le jour. + +\item Michel Goossens, en tant que co-auteur de la documentation initiale. + +\item Eitan Gurari, dont le programme \TeX4ht a été utilisé pour créer la + version \HTML{} de cette documentation et qui travaille inlassablement à + l'améliorer, ce dans des délais très courts. + +\item \Thanh, Martin Schr\"oder et toute l'équipe pdf\TeX\ qui continuent + inlassablement à étendre les performances de \TeX. + +\item Hans Hagen qui, outre sa participation active aux tests, a adapté le + format \ConTeXt\ (\url{http://pragma-ade.com}) aux besoins de \TL{}. + +\item Hartmut Henkel, pour ses contributions au développement + de pdf\TeX{} et Lua\TeX{} entre autres. + +\item Taco Hoekwater, pour ses efforts sans cesse renouvelés à l'amélioration + de MetaPost et de (Lua)\TeX\ (\url{http://luatex.org}). + +\item Pawe{\l} Jackowski pour l'installeur Windows \cmdname{tlpm} et Tomasz + {\L}uczak pour la version graphique \cmdname{tlpmgui} utilisée dans + l'édition précédente. + +\item Akira Kakuto, pour son aide précieuse qui nous a permis + d'intégrer dans \TL{} les binaires Windows de sa distribution \acro{W32TEX} + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}). + +\item Jonathan Kew et \acro{SIL}, pour avoir produit + Xe\TeX{}, pour l'avoir intégré dans \TL{} et pour avoir + créé la première version de l'installeur Mac\TeX. + +\item Dick Koch, pour la maintenance de Mac\TeX\ (\url{http://tug.org/mactex}) + faite en symbiose avec \TL. + +\item Reinhard Kotucha, pour ses contributions majeures à l'infrastructure de + \TL{} 2008 et à son programme d'installation, pour ses contributions sous + Windows et pour son script \texttt{getnonfreefonts} en particulier. + +\item Siep Kroonenberg, également pour ses contributions majeures à + l'infrastructure de \TL{} 2008 et à son programme d'installation ainsi que + pour la réécriture de cette documentation. + +\item Petr Ol\v{s}ak, qui coordonna et vérifia minutieusement toute la + partie tchèque et slovaque. + +\item Toshio Oshima, pour le visualisateur \cmdname{dviout} pour Windows. + +\item Manuel Pégourié-Gonnard, pour son aide concernant le programme de mise à + jour de la distribution, la documentation et pour le développement de + \cmdname{tldoc}. + +\item Fabrice Popineau, pionnier du développement de \TL{} sous Windows et + pour son travail sur la documentation française. + +\item Norbert Preining, principal architecte de la distribution \TL{} 2008 et + de son installeur et coordinateur (avec Frank K\"uster) de la + version Debian de \TL. + +\item Sebastian Rahtz, qui a créé la distribution \TL{} et en a assuré la + maintenance pendant de nombreuses années. + +\item Vladimir Volovich, pour son aide substantielle, en particulier pour + avoir rendu possible l'intégration de \cmdname{xindy} dans \TL. + +\item Staszek Wawrykiewicz, principal testeur de \TL{} et coordinateur des + contributions polonaises (fontes, installation Windows, etc.). + +\item Olaf Weber, pour son patient assemblage de \Webc. + +\item Gerben Wierda, qui a créé et maintient la partie \MacOSX{} + et qui participe activement aux tests. + +\item Graham Williams, pour son travail sur le catalogue \TeX\ des + composants. + +\end{itemize} + +Les binaires ont été compilés par : +Tigran Aivazian (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). + +Documentation et mises à jour des traductions : +Karl Berry (anglais), +Daniel Flipo (français), +Klaus H\"oppner (allemand), +Petr Sojka \& Jan Busa (tchèque et slovaque), +Boris Veytsman (russe), +Staszek Wawrykiewicz (polonais). + +La page d'accueil de la documentation \TL{} est +\url{http://tug.org/texlive/doc.html}. + +Bien sûr, notre gratitude va en premier lieu à Donald Knuth pour avoir +inventé \TeX{} et l'avoir offert au monde entier. + +\section{Historique des versions successives} +\label{sec:history} + +\subsection{Les éditions précédentes} + +La discussion commença à la fin de 1993 quand le Groupe des Utilisateurs +Néerlandais de \TeX{} commençait à travailler à son \CD{} 4All\TeX{} pour les +utilisateurs de \acro{MS-DOS} et on espérait à ce moment sortir un \CD{} +unique pour tous les systèmes. C'était un objectif beaucoup trop ambitieux +mais il permit la naissance du \CD{} 4All\TeX{}, projet couronné de succès et +aussi d'un groupe de travail « \acro{TUG} Technical Council » pour +mettre en place TDS (\emph{\TeX{} Directory Structure} : +\url{http://tug.org/tds}), qui spécifiait la gestion des fichiers \TeX{} sous +une forme logique. La mouture finale de \TDS{} fut publiée dans le numéro de +décembre 1995 de \textsl{TUGboat} et il était clair depuis un certain temps +qu'il fallait proposer un produit contenant une structure modèle sur \CD{}. +La distribution que vous possédez est le résultat direct des délibérations de +ce groupe de travail. Il était également clair que le succès des \CD{} +4All\TeX{} démontrait que les utilisateurs d'Unix trouveraient leur bonheur +avec une distribution aussi simple et ceci a été l'autre objectif de +\TL. + +Nous avons d'abord entrepris de créer un nouveau \CD{} \TDS{} Unix à l'automne +1995 et nous avons rapidement choisi \teTeX{} de Thomas Esser comme étant la +configuration idéale, car il supportait déjà plusieurs plates-formes et avait +été construit en gardant à l'esprit la portabilité entre systèmes. Thomas +accepta de nous aider et commença à travailler sérieusement au début de 1996. +La première édition sortit en mai 1996. Au début de 1997, Karl Berry acheva +une nouvelle distribution de \Webc{}, qui incluait presque toutes les +caractéristiques que Thomas Esser avait ajoutées dans \teTeX{} et il fut décidé +de baser la deuxième édition du \CD{} sur le standard \Webc, en y ajoutant le +script \texttt{texconfig} de \teTeX. La troisième édition du \CD{} était +basée sur une version majeure de \Webc, 7.2, par Olaf Weber ; en même temps, +une nouvelle version révisée de \teTeX{} était achevée dont \TL{} partageait +presque toutes les caractéristiques. La quatrième édition a suivi le même +schéma, en utilisant une nouvelle version de \teTeX{} et une nouvelle version +de \Webc{} (7.3). Le système incluait dorénavant un programme complet +d'installation pour Windows. + +Pour la cinquième édition (mars 2000), de nombreuses parties du \CD{} +ont été vérifiées et révisées, des centaines de composants +mis à jour. +Le contenu détaillé des composants était décrit par des +fichiers XML. Mais le changement majeur de cette cinquième édition a +été la suppression de tout logiciel non libre de droits. +Tout ce qui se trouve dans \TL{} devait être compatible avec la licence +Debian (\emph{Debian Free Software Guidelines} : +\url{http://www.debian.org/intro/free}) ; nous avons +fait de notre mieux pour vérifier les termes des licences de chaque +composant et nous souhaiterions que toute erreur nous soit signalée. + +La sixième édition (juillet 2001) contient un grand nombre de mises à jour. +Le changement majeur de cette version réside dans la refonte du +processus d'installation : l'utilisateur peut désormais choisir +les collections de manière plus précise. Les collections concernant +les langues ont été entièrement réorganisées, aussi le choix d'une +langue installe non seulement les macros, les fontes, etc. mais +prépare également un fichier \file{language.dat} adéquat. + +La septième édition (mai 2002) a comme ajout majeur une installation +pour \MacOSX{} et l'habituelle myriade de mises à jour de composants et +de programmes. Un objectif important a été de fusionner à +nouveau les sources avec ceux de \teTeX{}, alors que les versions +5 et 6 s'en étaient éloignées. + +\subsubsection{2003} + +En 2003, le flot de mises à jour et d'additions a continué mais nous +avons constaté que \TL{} était devenu si volumineux qu'il ne +pouvait plus tenir sur un seul \CD, aussi l'avons-nous divisé en trois +distributions distinctes (voir section~\ref{sec:tl-coll-dists}, +page~\pageref{sec:tl-coll-dists}). Par ailleurs : +\begin{itemize} +\item À la demande de l'équipe \LaTeX{}, nous avons modifié les + commandes standard \cmdname{latex} et \cmdname{pdflatex} pour + qu'elles utilisent \eTeX{} (voir page~\pageref{text:etex}). +\item Les nouvelles fontes Latin Modern sont disponibles (et + recommandées). +\item Le support pour Alpha \acro{OSF} a été supprimé + (celui pour \acro{HPUX} l'avait été auparavant), car personne + disposant des machines nécessaires ne s'est + proposé pour compiler les nouveaux binaires. +\item L'installation pour Windows a été largement modifiée ; un environnement + de travail intégré basé sur \cmdname{XEmacs} a été introduit. +\item Des programmes supplémentaires importants pour Windows (Perl, + Ghost\-script, Image\-Magick, Ispell) sont maintenant installés dans le + répertoire d'installation de \TL{}. +\item Les fichiers \emph{font map} utilisés par \cmdname{dvips}, + \cmdname{dvipdfm} et \cmdname{pdftex} sont maintenant générés par le + nouveau programme \cmdname{updmap} et installés dans + \dirname{texmf/fonts/map}. +\item Dorénavant, \TeX{}, \MF{} et \MP{} écrivent les caractères 8-bit + présentés en entrée sans modification et non pas avec la notation + \verb|^^|, que ce soit dans des fichiers (par la commande + \verb|write|), dans les fichiers de trace (\verb|.log|) ou sur le + terminal. Dans le \TL{}~7, l'écriture de ces caractères + 8-bit était influencée par les paramètres de localisation du + système; maintenant ces paramètres n'influent plus du tout sur le + comportement des programmes \TeX{}. Si pour quelque raison que ce + soit, vous avez besoin de la notation \verb|^^| en sortie, + renommez le fichier \verb|texmf/web2c/cp8bit.tcx|. Les prochaines + versions disposeront d'un moyen plus propre pour contrôler cette + sortie. +\item La documentation de \TL{} a été largement révisée. +\item Enfin, comme la numérotation séquentielle des versions + devenait peu maniable, il a été décidé d'identifier désormais la version + de \TL{} par l'année : \TL{}~2003 au lieu de \TL{}~8. +\end{itemize} + + +\subsubsection{2004} + +2004 a apporté beaucoup de changements (et quelques incompatibilités avec les +versions précédentes) : + +\begin{itemize} + +\item Si vous avez installé des fontes supplémentaires qui ont leur propre +fichier \file{.map} ou des fichiers \file{.enc} spécifiques, vous +devrez vraisemblablement déplacer ces fichiers. + +Les fichiers \file{.map} sont désormais recherchés uniquement dans les +sous-répertoires \dirname{fonts/map} (dans chaque arborescence +\filename{texmf}), leur chemin de recherche est donné par la variable +\envname{TEXFONTMAPS} de \filename{texmf.cnf}. +De même, les fichiers \file{.enc} sont désormais recherchés uniquement +dans les sous-répertoires \dirname{fonts/enc}, leur chemin de recherche est +donné par la variable \envname{ENCFONTS} de \filename{texmf.cnf}. +Le script \cmdname{updmap} devrait émettre des messages d'avertissement +pour les fichiers \file{.map} et \file{.enc} mal placés. + +Sur les différentes façons de traiter le problème, consulter +\url{http://tug.org/texlive/mapenc.html}. + +\item La distribution pour Windows a changé cette année : +l'installation de la distribution \fpTeX{} (basée sur \Webc{}) de Fabrice +Popineau n'est plus proposée. À la place, vous pouvez tester et installer +la distribution \ProTeXt{} basée sur \MIKTEX{} (indépendante de \Webc{}), +voir section~\ref{sec:overview-tl}, page~\pageref{sec:overview-tl}. + +\item L'ancien répertoire \dirname{texmf} a été éclaté en trois parties : +\dirname{texmf}, \dirname{texmf-dist} et \dirname{texmf-doc}. Voir +section~\ref{sec:tld}, page~\pageref{sec:tld}. + +\item Tous les fichiers relatifs aux différents avatars de \TeX{} sont +désormais regroupés dans le même sous-répertoire \dirname{tex} des +arborescences \dirname{texmf*} (ils étaient jusqu'ici placés dans des +sous-répertoires spécifiques \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex}, etc.). Voir +\OnCD{texmf-doc/doc/english/tds/tds.html\#Extensions}. + +\item Les scripts auxiliaires, normalement pas exécutés directement +par les utilisateurs, sont regroupés dans un répertoire \dirname{scripts} +des arborescences \dirname{texmf*}. On les localise grâce à la +commande \verb|kpsewhich -format=texmfscripts|. Au cas où vous en +auriez, les programmes utilisant ces scripts nécessiteront une adaptation. +Voir \OnCD{texmf-doc/doc/english/tds/tds.html\#Scripts}. + +\item La plupart des formats affichent en clair (dans les fichiers +\file{.log} en particulier) les caractères imprimables au lieu +de les transcrire en notation hexadécimale \verb|^^|. Ceci se fait +grâce au fichier \filename{cp227.tcx}, qui considère comme imprimables +les caractères 32 à 256, ainsi que les tabulations et les changements +de page (caractères 9 à 11). Les formats faisant exception sont +plain \TeX\ (seuls les caractères 32 à 127 sont déclarés imprimables), +\ConTeXt{} (0 à 255 imprimables) et les formats basés sur \OMEGA. +Il y a peu de différence avec le comportement de \TL\,2003 +mais la mise en œuvre est plus propre et plus facilement configurable. +Voir \OnCD{texmf/doc/web2c/web2c.html\#TCX-files}. +Noter que l'utilisation du codage Unicode en entrée peut provoquer +des affichages défectueux en sortie (TeX code sur un seul octet). + +\item Tous les formats, sauf plain \TeX, font appel au moteur +\textsf{pdfetex} (qui produit bien sûr par défaut des fichiers \acro{DVI} +lorsque le format choisi est \LaTeX). Ceci permet aux formats +\LaTeX, \ConTeXt, etc., d'avoir accès aux fonctionnalités +micro-typographiques de pdf\TeX{} (alignement optique des marges par exemple) +et aux fonctionnalités de \eTeX{} (\OnCD{texmf-dist/doc/etex/base/}). + +Ceci rend \emph{indispensable} le recours à l'extension \pkgname{ifpdf} +(qui fonctionne aussi bien avec plain que \LaTeX) pour déterminer si +le format de sortie est \acro{DVI} ou \acro{PDF}. Tester si la commande +\cs{pdfoutput} est définie ou non \emph{n'est pas} un moyen fiable +de le faire. + +\item pdf\TeX\ (\url{http://pdftex.org}) offre de nouvelles fonctionnalités : + + \begin{itemize} + + \item Les commandes \cs{pdfmapfile} et \cs{pdfmapline} permettent + de spécifier le choix des fichiers \file{.map} à utiliser + pour le document en cours. + + \item L'amélioration du gris typographique par variation (infime) de la + largeur des caractères (\textit{font expansion}) est plus facile à + mettre en œuvre, voir + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item Le fichier \filename{pdftex.cfg} n'est plus utilisé. + Toutes les affectations de paramètres doivent désormais être + faites dans le préambule en utilisant les primitives ad~hoc. + + \item Pour plus d'informations, consulter le manuel de pdf\TeX\ : + \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize} + +\item La primitive \cs{input} de \cmdname{tex}, \cmdname{mf} et +\cmdname{mpost}, accepte désormais les espaces et autres caractères +spéciaux dans les noms de fichiers à condition d'utiliser des +\textit{double quotes}, en voici deux exemples typiques : +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +Consulter le manuel \Webc{} pour plus d'informations : \OnCD{texmf/doc/web2c}. + +\item Les fonctionnalités de enc\TeX\ sont désormais incluses dans \Webc{}. +Ainsi, tous les formats \emph{construits avec l'option \optname{-enc}} y ont +accès. enc\TeX\ permet le transcodage en entrée et en sortie et +l'utilisation transparente du codage Unicode \acro{UTF}-8. Voir +\OnCD{texmf-dist/doc/generic/enctex/} et +\url{http://www.olsak.net/enctex.html}. + +\item Un nouveau moteur combinant les fonctionnalités de \eTeX\ +et d'\OMEGA, appelé Aleph, est disponible. \OnCD{texmf-dist/doc/aleph/base} +et \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} +fournissent une information succincte. Le format \LaTeX{} utilisant +Aleph s'appelle \textsf{lamed}. + +\item La licence \acro{LPPL} de \LaTeX\ (version décembre 2003) a changé, +elle est désormais compatible avec les prescriptions Debian. +Les autres changements sont décrits dans le fichier \filename{ltnews}, voir +\OnCD{texmf-dist/doc/latex/base}. + +\item Un nouveau programme, \cmdname{dvipng}, qui convertit les fichiers +\acro{DVI} en images \acro{PNG} a été ajouté. Voir +\OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Nous avons dû réduire le nombre de fontes incluses dans l'extension +\pkgname{cbgreek}, ceci a été fait avec l'accord et l'aide de l'auteur +(Claudio Beccari). Les fontes exclues (invisibles, transparentes, contours) +sont rarement utilisées et la place nous manquait. La collection complète +des fontes \pkgname{cbgreek} est disponible sur \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item La commande \cmdname{oxdvi} a été supprimée, il suffit utiliser +\cmdname{xdvi} à la place. + +\item Les commandes \cmdname{initex}, \cmdname{virtex} et leurs +homologues pour \cmdname{mf} et \cmdname{mpost} ont disparu. +Vous pouvez les recréer si nécessaire mais elles sont avantageusement +remplacées, depuis des années maintenant, par l'option \optname{-ini} +(\cmdname{tex} \optname{-ini} pour \cmdname{initex} et \cmdname{virtex}). + +\item Les binaires pour l'architecture \textsf{i386-openbsd} ont été + supprimés par manque de volontaires pour les compiler. + +Sur \textsf{sparc-solaris} (au moins) il sera probablement +nécessaire de positionner la variable d'environnement +\envname{LD\_LIBRARY\_PATH} pour utiliser les programmes de la famille +\pkgname{t1utils}. Ceci vient du fait qu'ils sont compilés en C++ et +que l'emplacement des bibliothèques dynamiques est variable. +Ce n'est pas une nouveauté 2004 mais ce point n'était pas documenté +précédemment. De même, sur \textsf{mips-irix}, les bibliothèques dynamiques +\acro{MIPS}pro 7.4 sont nécessaires. + +\end{itemize} + +\subsubsection{2005} + +2005 a apporté son lot habituel d'innombrables mises à jour d'extensions +et de programmes. L'infrastructure est restée relativement stable par rapport +à 2004, à quelques changements inévitables près : + +\begin{itemize} + +\item Trois nouveaux scripts \cmdname{texconfig-sys}, \cmdname{updmap-sys} et + \cmdname{fmtutil-sys} ont été introduits ; ils agissent sur la + configuration générale de la machine, comme le faisaient les + scripts \cmdname{texconfig}, \cmdname{updmap} et \cmdname{fmtutil} + jusqu'à l'an dernier. Les nouveaux scripts \cmdname{texconfig}, + \cmdname{updmap} et \cmdname{fmtutil} modifient maintenant + la configuration \emph{personnelle} de l'utilisateur qui les lance ; + le résultat est placé dans le répertoire personnel de l'utilisateur + (sous \dirname{$HOME/.texlive2005}). %$ + +\item De nouvelles variables, \envname{TEXMFCONFIG} (resp. + \envname{TEXMFSYSCONFIG}) ont été introduites ; elles définissent + les répertoires où doivent se trouver les fichiers de configuration de + l'utilisateur (resp. de la machine), comme \filename{fmtutil.cnf} et + \filename{updmap.cfg}. Les utilisateurs de fichiers de configuration + locaux \filename{fmtutil.cnf} ou \filename{updmap.cfg} devront + probablement les déplacer ; une autre possibilité est de modifier la + définition des variables \envname{TEXMFCONFIG} ou + \envname{TEXMFSYSCONFIG} dans \filename{texmf.cnf}. L'important est + de s'assurer de la cohérence entre les définitions de ces variables + dans \filename{texmf.cnf} et l'emplacement réel de ces fichiers. + Voir section~\ref{sec:texmftrees}, page~\pageref{sec:texmftrees} pour + la description des différentes arborescences texmf utilisées. + +\item L'an dernier nous avions rendu « \texttt{undefined} » certaines + primitives propres à \cmdname{pdftex} (comme \verb|\pdfoutput|) + dans les formats créés à partir de \cmdname{pdfetex} (\cmdname{latex} + \cmdname{amstex}, \cmdname{context} par exemple)). + C'était à titre transitoire, aussi cette année, ces primitives sont de + nouveau définies dans tous les formats à base \cmdname{pdf(e)tex}, + \emph{même lorsqu'ils sont utilisés pour produire des fichiers + \file{.dvi}}. Ceci implique qu'il vous faudra modifier vos + documents qui utilisent le test \verb|\ifx\pdfoutput\undefined| + pour déterminer si la sortie est en DVI ou en PDF. Le mieux est + d'utiliser l'extension \pkgname{ifpdf.sty} et son test + \verb|\ifpdf| qui fonctionne même en plain \TeX. + +\item L'an dernier nous avions fait en sorte que la plupart des formats + impriment dans les sorties \file{.log} des caractères 8-bit + lisibles à la place des notations hexadécimales \verb|^^| + (voir section précédente). + Le nouveau fichier TCX \filename{empty.tcx} permet + de revenir facilement à la notation traditionnelle \verb|^^|, il suffit + de coder : +\begin{verbatim} +latex --translate-file=empty.tcx fichier.tex +\end{verbatim} + +\item Le nouveau programme \cmdname{dvipdfmx} est disponible pour convertir + des fichier DVI en PDF ; ce programme remplace \cmdname{dvipdfm}, + toujours disponible mais dont l'usage est maintenant déconseillé. + +\item Les variables \envname{HOMETEXMF} et \envname{VARTEXMF} ont été renommées + en \envname{TEXMFHOME} et \envname{TEXMFSYSVAR} respectivement pour + raisons de cohérence avec les autres noms de variables. Il y a aussi + \envname{TEXMFVAR} qui désigne maintenant un répertoire personnel + de l'utilisateur (cf. le premier point de la présente liste). + +\end{itemize} + +\subsubsection{2006--2007} + +En 2006--2007, la nouveauté majeure a été l'arrivée dans \TL{} de Xe\TeX{} +disponible sous forme de deux programmes \texttt{xetex} et \texttt{xelatex}, +voir \url{http://scripts.sil.org/xetex}. + +MetaPost a subi une mise à jour importante et d'autres améliorations +sont prévues, voir \url{http://tug.org/metapost/articles}. Il en va de même +pour pdf\TeX{}, voir \url{http://tug.org/applications/pdftex}. + +Le format \filename{tex.fmt} et les formats pour MetaPost and \MF\ ne +se trouvent plus dans \dirname{texmf/web2c} mais dans des +sous-répertoires de \dirname{texmf/web2c} (la recherche de fichiers +\filename{.fmt} est néanmoins faite aussi dans \dirname{texmf/web2c}). +Ces sous-répertoires portent le nom du moteur utilisé pour construire +le format, par exemple \filename{tex}, \filename{pdftex} ou +\filename{xetex}. Ce changement ne devrait pas avoir d'effet visible +pour les utilisateurs. + +Le programme (plain) \texttt{tex} ignore désormais les lignes commençant +par \texttt{\%\&} qui permettent de déterminer le format à utiliser ; +c'est un vrai \TeX{} « à la Knuth » ! +\LaTeX\ et tous les autres prennent toujours en compte les lignes commençant +par \texttt{\%\&}. + +Comme chaque année des centaines d'extensions et de programmes ont été mis à +jour, voir les sites \acro{CTAN} (\url{http://www.ctan.org}). + +L'arborescence utilisée en interne a été réorganisée avec de nouveaux outils +qui devraient fournir une meilleure base de travail pour les développements +futurs. + +Enfin, en mai 2006 Thomas Esser a annoncé qu'il renonçait à poursuivre le +développement de te\TeX{} (\url{http://tug.org/tetex}). Sa décision a relancé +l'intérêt pour \TL, en particulier chez les distributeurs de solutions +\GNU/Linux (un nouveau schéma d'installation \texttt{tetex} a été ajouté dans +le script d'installation de \TL{} pour produire une distribution proche de +l'ancienne te\TeX). La distribution \TL{} existe déjà sous forme de paquets +Debian, espérons que les autres acteurs du monde Linux (RedHat, SuSe, etc.) +suivront et que les utilisateurs se verront proposer à l'avenir des +distributions \TeX{} riches et plus faciles à installer. + +Remarque finale : toutes les anciennes distributions \TL{} ainsi que les +jaquettes des \CD{} correspondants sont disponibles ici : +\url{ftp://tug.org/historic/systems/texlive}. + +\subsection{L'édition 2008} +\label{tlcurrent} + +En 2008, l'infrastructure de la distribution \TL{} a été entièrement remaniée. +Un nouveau fichier texte, \filename{tlpkg/texlive.tlpdb}, regroupe toutes les +informations concernant la configuration \TL{} de la machine. + +Ce fichier permet entre autres choses de procéder à des mises à jour par le +réseau après l'installation initiale. Cette possibilité était offerte depuis +des années par MiK\TeX. Nous espérons pouvoir fournir des mises à jour +régulières du contenu des archives \CTAN. + +Le nouveau moteur Lua\TeX\ (\url{http://luatex.org}) a été intégré ; +il offre de nouvelles fonctionnalités typographiques et repose +sur l'excellent langage de commande Lua qui peut aussi être utilisé +en dehors de \TeX. + +Les versions Windows et Unix sont beaucoup plus proches que par le passé. +En particulier les scripts en Perl et en Lua sont communs aux deux +architectures. + +\TL{} dispose d'une nouvelle interface pour la maintenance (\cmdname{tlmgr} +voir section~\ref{sec:tlmgr}), elle permet les ajouts, mises à jour et +suppressions de composants et prend en charge la régénération des bases +\texttt{ls-R}, des formats et des fichiers \filename{.map} lorsque c'est +nécessaire. + +Les fonctionnalités de \cmdname{tlmgr} englobent toutes les tâches dévolues +auparavant à \cmdname{texconfig} qui ne devrait plus être utilisé (il est +conservé mais avec un champ d'action réduit). + +Le programme d'indexation \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) +est maintenant disponible pour la plupart des plates-formes. + +L'utilitaire \cmdname{kpsewhich} dispose de deux options nouvelles : +\optname{--all} qui retourne toutes les occurrences du fichier recherché +et \optname{--subdir} qui limite la recherche à un sous-répertoire donné. + +Le programme \cmdname{dvipdfmx} permet maintenant d'extraire les informations +concernant la \textit{bounding box} par le biais de la commande +\cmdname{extractbb}; c'était une des dernières fonctionnalités de +\cmdname{dvipdfm} qui manquaient à \cmdname{dvipdfmx}. + +Les alias de polices \filename{Times-Roman}, \filename{Helvetica}, etc. +ont été supprimés, les conflits de codage qu'ils induisaient n'ayant pas pu +être résolus. + +Le format \pkgname{platex} a été supprimé afin de résoudre un conflit de nom +avec son homonyme japonais ; le support pour le polonais est assuré +maintenant par l'extension \pkgname{polski}. + +Les fichiers \web{} d'extension \filename{.pool} sont maintenant inclus dans +les binaires afin de faciliter les mises à jour. + +Enfin, les changements décrits par Donald Knuth dans « \TeX\ tuneup of 2008 » +(voir \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}) sont inclus +dans la présente édition. + +\subsection{Versions futures} + +\emph{\TL{} n'est pas un produit parfait !} (et ne le sera jamais). +Nous prévoyons de continuer à produire de nouvelles versions et aimerions +fournir plus d'aide, de fonctionnalités, de programmes d'installation et +(bien sûr) une arborescence améliorée et vérifiée de macros et de fontes. Ce +travail est effectué par des volontaires débordés, dans la limite de leur +temps libre et beaucoup reste à faire. Si vous pouvez nous aider, n'hésitez +pas à nous contacter, voir \url{http://tug.org/texlive/contribute.html}. + +Corrections, suggestions et propositions d'aide doivent être envoyées à : +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Bon travail avec \TeX{} !} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% ispell-local-dictionary: "francais" +%%% TeX-master: t +%%% coding: utf-8 +%%% End: diff --git a/Master/texmf/doc/texlive/source/texlive-pl/Makefile b/Master/texmf/doc/texlive/source/texlive-pl/Makefile new file mode 100644 index 00000000000..4f0d8cc9985 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-pl/Makefile @@ -0,0 +1,3 @@ +include ../texlive-en/Makefile +doc = texlive-pl +lang = polish diff --git a/Master/texmf/doc/texlive/source/texlive-pl/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-pl/live4ht.cfg new file mode 100644 index 00000000000..2927d07cb93 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-pl/live4ht.cfg @@ -0,0 +1,52 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% have html in one piece (including footnotes). +%\Preamble{charset=iso-8559-2,html,info,fn-in} +\Preamble{html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} +% use png graphics as-is +\Configure{graphics*} + {png} + {\Needs{""}% + \Picture[pict]{\csname Gin@base\endcsname.png}% + } +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +%\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} +\def\Thanh{H\`an Th\^e Th\`anh} + +\Configure{crosslinks}{[}{] + }{nastpny}{poprzedni}{wstecz} + {pocztek}{koniec}{spis} + +\ifx\tldocenglish\undefined \else + % these definitions cause "missing } inserted" at \end{tabularx} in + % other langs. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/source/texlive-pl/tex-livep.sty b/Master/texmf/doc/texlive/source/texlive-pl/tex-livep.sty new file mode 100644 index 00000000000..e81908a5d47 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-pl/tex-livep.sty @@ -0,0 +1,446 @@ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-livep}[2008/07/31 v1.6 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} +% +\RequirePackage{lmodern} +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +%\usepackage[latin1]{inputenc} +% +% for a proper \acro command (even in the context of the definition in +% ltugboat -- \DRC overrides without checking) +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} + +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +\def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +\def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +%\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +%\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\p.{p.\,} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\ifx % get Unicode char in tex4ht's HTML output + \HCode\UnDef\^e\llap{\raise 0.5ex\hbox{\'{}}}\else + \HCode{\string&\#x1EBF;}\fi~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} + +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-pl/texlive-pl.tex b/Master/texmf/doc/texlive/source/texlive-pl/texlive-pl.tex new file mode 100644 index 00000000000..0378da6518b --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-pl/texlive-pl.tex @@ -0,0 +1,3335 @@ +% iso8859-2 +% $Id: live.tex, v. 36 2008/08/17 +% TeX Live documentation. +% Originally written by Sebastian Rahtz and Michel Goossens, +% now maintained by Karl Berry and others. +% Polish translation and additions by Staszek Wawrykiewicz et al. +% Public domain. +% ---- +% UWAGA dla recenzentw/tumaczy: %%! to moje komentarze (StaW) +\documentclass{article} +\let\tldocenglish=0 % for live4ht.cfg +\def\La{La} +\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{} 2008} +} + +\author{Redakcja: Karl Berry \\[3mm] + \url{http://tug.org/texlive/} +} + +\date{Sierpie 2008} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} +%-------------------------- +\section{Wstp}\label{sec:intro} + +\subsection{\TeX\ Live i \TeX\ Collection} +Niniejsza dokumentacja opisuje oprogramowanie \TL{} -- +dystrybucj \TeX-a wraz z~programami pomocniczymi, dostpn dla +systemw \acro{GNU}/Linux, rnych wersji Unix (w~tym \MacOSX{}) +oraz Windows. + +\TL{} mona cign z~sieci bd otrzyma na pytce \DVD \TK{}, dostarczanej +swoim czonkom przez Grupy Uytkownikw Systemu \TeX{} . +Cz \ref{sec:tl-coll-dists} omawia pokrtce zawarto tej pytki. +Zarwno \TL{}, jak i \TK{} powstay dziki zbiorowemu wysikowi Grup. +W~tym dokumencie omwimy gwnie sam dystrybucj \TL. + +\TL{} zawiera skompilowane programy: \TeX{}, \LaTeXe{}, \mbox{\MF}, \MP, +\BibTeX{} i~wiele innych oraz bogaty zestaw pakietw makr o~wielorakim +zastosowaniu, a take fonty i~dokumentacje. Wszystko to umoliwia skad +publikacji w~wielu jzykach. + +Pakiety zawarte w~\TL{} s regularnie aktualizowane z serwerw \acro{CTAN}: +\url{http://www.ctan.org}. + +Lista najwaniejszych zmian dokonanych w~tej edycji \TL{} +znajduje si w~czci~\ref{sec:tlcurrent}, na str.~\pageref{sec:tlcurrent}. + %w~czci~\ref{sec:history}, na str.~\pageref{sec:history}. + +Nie opisujemy tu, czym jest system \TeX{}, a~jedynie kwesti instalacji +i~konfiguracji oprogramowania \TL. +Pocztkujcy uytkownicy mog si zapozna z~podstawowymi pojciami +np. w~artykule {\it Przewodnik po systemie \TeX\/}: +\OnCD{texmf-doc/doc/polish/tex-virtual-academy-pl/cototex.html}. + +\subsection{Obsugiwane systemy operacyjne} +\label{sec:os_support} + +\TL{} zawiera oprogramowanie dla wielu platform linuksowych i uniksowych, +w~tym \MacOSX. Zaczone pliki rdowe pozwalaj te na instalacj +na dodatkowych platformach. + +Spord systemw Windows obsugiwane s tylko wersje 2000 i nowsze. +Zaniechano wsparcia dla Windows~9x, ME oraz NT, ktrych obsuga bya bardzo +pracochonna (w~porwnaniu z~Linux/Unix). Wprawdzie brak jest +oprogramowania na wersje 64-bitowe, ale aplikacje 32-bitowe powinny na nich +dziaa. + +W czci \ref{sec:tl-coll-dists} omwiono alternatywne dystrybucje, +przeznaczone dla Windows oraz \MacOSX. + +\subsection{Podstawy instalacji \protect\TL{}} +\label{sec:basic} + +\TL{} mona zainstalowa z~pytki \DVD{} lub internetu. Program instalacyjny +jest niewielki i~pozwala pobra z sieci wszystkie potrzebne pakiety. +Jest to wygodne, gdy potrzebujemy jedynie czci oprogramowania \TL. + +Posiadajc pytk \DVD{}, moemy nie tylko zaistalowa \TL{} na twardym dysku, +ale i~uruchomi programy bezporednio z~niej (a~nawet z~obrazu +\DVD{}, jeli nasz system pozwala na jego zamontowanie). + +Szczegowy opis instalacji \TL{} znajduje si w dalszych rozdziaach +tego dokumentu, tu podamy jedynie skrcony przepis: + +\begin{itemize*} + \item program instalacyjny \filename{install-tl} moe dziaa w~dwch +trybach: tekstowym (domylnym dla Unix/Linux) i~graficznym (tzw. \GUI, +domylnym dla Windows); tryb mona wymusi podajc parametr \code{-gui} +bd \code{-no-gui}; + +\item jednym z~instalowanych programw jest \prog{tlmgr} (meneder \TL{}), +ktry rwnie mona uruchomi w~trybie tekstowym bd graficznym; pozwala +on doinstalowa lub usun pakiety, aktualizowa je z~sieci, a take +wykona rne czynnoci konfiguracyjne. + +\end{itemize*} + +\subsection{Dostpna pomoc} +\label{sec:help} + +Spoeczno \TeX-owa jest bardzo aktywna i~pomocna, std te wikszo +powanych zapyta nie pozostaje bez odpowiedzi. Przed zadaniem +pytania warto je uprzednio dobrze przemyle i~sformuowa, poniewa +respondenci to wolontariusze, wrd ktrych znale si mog mniej lub +bardziej dowiadczeni uytkownicy. +(Jeli preferujemy komercyjne wsparcie techniczne, moemy zamiast +\TL{} zakupi system u~jednego z~dostawcw, ktrych list mona znale +na \url{http://tug.org/interest.html#vendors}.) + +Oto lista rde pomocy, w~kolejnoci przez nas rekomendowanej: + +\begin{description} +\item [\TeX{} \acro{FAQ}] \TeX-owy \acro{FAQ} jest obszernym zbiorem +odpowiedzi na wszelkie rodzaje pyta, od najprostszych do najbardziej +zaawansowanych. Jest on zaczony na \TL{} w~katalogu +\OnCD{texmf-doc/doc/english/FAQ-en}, +a~take dostpny w~sieci: \url{http://www.tex.ac.uk/faq}. Proponujemy +zajrze najpierw tam. Uruchomiono te serwis \acro{FAQ} +w~jzyku polskim: \url{http://faq.gust.org.pl}. + +\item [\TeX{} Catalogue] Jeli poszukujemy konkretnego pakietu, fontu, +programu itp., to polecamy \TeX{} Catalogue. Jest to obszerne zestawienie +wszelkich pakietw dotyczcych \TeX-a. Patrz: + %\OnCD{texmf-doc/doc/english/catalogue} lub + \url{http://www.ctan.org/help/Catalogue/}. + +\item [\TeX{} Web Resources] Strona \url{http://tug.org/interest.html} +zawiera wiele odsyaczy, w~szczeglnoci do ksiek, podrcznikw +i~artykuw powiconych wszelkim aspektom pracy z~systemem \TeX. + +\item [archiwa pomocy] Dwa gwne fora pomocy to grupa +Usenet \url{news:comp.text.tex} oraz lista dyskusyjna +\email{texhax@tug.org}. Warto przeszuka archiwa list dyskusyjnych, +zawierajce mnstwo 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 [wysyanie pyta] Jeli nadal nie znajdujemy rozwizania problemu, +to moemy wysa pytanie do \dirname{comp.text.tex}, korzystajc z~Google, +czytnika wiadomoci bd piszc list na adres \email{texhax@tug.org}. +Przedtem jednak \emph{naley} si zapozna z~poradami dotyczcymi sposobu +zadawania pyta, zawartymi w~\acro{FAQ}: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. +Polscy uytkownicy maj do dyspozycji list dyskusyjn GUST (polskiej Grupy +Uytkownikw Systemu \TeX); informacje o niej +znajdziemy na stronie \url{http://www.gust.org.pl}. + +\item [wsparcie \TL{}] Gdy chcemy zgosi bd bd sugestie +i~komentarze dotyczce dystrybucji \TL{}, instalacji lub dokumentacji, +mamy do dyspozycji list dyskusyjn \email{tex-live@tug.org}. Jeli kwestia +dotyczy konkretnego programu (pakietu makr itp.) z~\TL{}, +to lepiej jednak skierowa pytanie do osoby opiekujcej si danym programem +lub na specjalistyczn list dyskusyjn. + +\end{description} + +Druga strona medalu to pomaganie tym, ktrzy maj problemy. Zarwno +\dirname{comp.text.tex}, jak i~\code{texhax} (oraz lista dyskusyjna GUST) +s otwarte dla kadego, +tak wic zapraszamy do wczenia si, czytania wiadomoci i~pomagania +innym w~miar wasnych moliwoci. Witamy wrd uytkownikw +systemu \TeX! + +%-------------------------- +\section{Struktura \protect\TeX\protect\ Live}\label{sec:struct-tl} + +Omwimy tutaj struktur i~zawarto dystrybucji \TL{}, a~take \TK{} -- +pytki \DVD, w~skad ktrej wchodzi \TL. + +\subsection{The \protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +The \TK{} \DVD{} zawiera: + +\begin{description} + +\item [\TL] kompletny system na \acro{DVD}, z moliwoci uruchamiania +bezporednio z~pyty bd instalacji na twardym dysku; + +\item [Mac\TeX] dla systemu \MacOSX; posiada on wasny program instalacyjny +i~dodatkowe programy dla tego systemu; strona domowa projektu: +\url{http://www.tug.org/mactex/}; + +\item [pro\TeX{}t] dystrybucja dla Windows, oparta na dystrybucji \MIKTEX{}, +rozszerzonej o~dodatkowe narzdzia; cakowicie niezalena od \TL; +\ProTeXt\ posiada wasny, atwy w~obsudze program instalacyjny; + %i~rwnie moe by uruchamiany bezporednio z~pytki. + strona domowa projektu: \url{http://tug.org/protext}; + +\item [CTAN] zrzut zawartoci archiww \CTAN{}; + +\item [\texttt{texmf-extra}] katalog z wybranymi pakietami dodatkowymi. + +\end{description} + +\CTAN, \pkgname{protext}, i~\texttt{texmf-extra} nie speniaj przyjtych dla +\TL{} wymogw dotyczcych swobody kopiowania, wobec tego naley ten fakt +uwzgldni przy redystrybucji bd modyfikacji zawartoci wymienionych +katalogw. + +\subsection{Gwne katalogi \TL} +\label{sec:tld} + +Poniej wymieniono waniejsze podkatalogi gwnego katalogu dystrybucji \TL. +Na pytce \pkgname{live} \DVD caa dystrybucja \TL{} zostaa +umieszczona w katalogu \dirname{texlive}, nie za w~katalogu gwnym +(poniej traktujemy go jako katalog gwny we wszystkich odniesieniach +do \TL). + +\begin{ttdescription} +\item[bin] skompilowane programy \TeX-owe, zorganizowane w~podkatalogach + wedug platform systemowych; + +\item[readme.html] krtki wstp z~uytecznymi odnonikami; + +\item[source] rda wszystkich programw, wcznie z~gwnymi dystrybucjami + \Webc{} \TeX-a i~\MF{}-a; + +\item[support] rne programy pomocnicze zwizane z~\TeX-em, ktre \emph{nie} + s domylnie instalowane; + dla uytkownikw systemw Windows doczono ponadto szereg programw + (edytory, ,,shelle TeX-owe''), ktrych zwykle brak w~typowej instalacji + Windows (programy te mog by szczeglnie przydatne dla pocztkujcych); + +\item[texmf] drzewo katalogw plikw pomocniczych i~dokumentacji dla + \emph{programw} (patrz: \texttt{TEXMFMAIN} w~nastpnej czci); + +\item[texmf-dist] gwne drzewo katalogw formatw i~pakietw (zawiera makra, + fonty i~dokumentacje; patrz: \texttt{TEXMDIST} w~nastpnej czci); + +\item[texmf-doc] drzewo samodzielnych dokumentacji (m.in. podrczniki itp.), + niezwizane z~konkretnymi pakietami, zorganizowane wedug jzykw. + +\item[tlpkg] skrypty, programy i~inne dane potrzebne do instalacji; + katalog zawiera take ,,prywatne'' dla \TL{} kopie systemw Perl i~Ghostscript + dla Windows (nie koliduj one z~posiadanymi przez uytkownika podobnymi + programami i~dziaaj tylko w~ramach instalacji); poza tym doczono + szybki i~wygodny program do podgldu plikw postscriptowych (a~take PDF) + -- PS\_View dla Windows. +\end{ttdescription} + +Prcz podkatalogw wymienionych powyej, katalog gwny zawiera skrypty +instalacyjne oraz pliki \filename{README}, w~formacie tekstowym lub HTML, +w~kilku jzykach (rwnie polskim). + +Katalog \dirname{texmf-doc} zawiera, jak wspomniano wyej, dokumentacje +oglne, np. podrczniki (take po polsku). Dokumentacje programw (man, info, +take w~formacie PDF) znajduj si w~katalogu +\dirname{texmf/doc}, za dokumentacje pakietw makr, fontw i~formatw +w~katalogu \dirname{texmf-dist/doc}. W~odszukaniu konkretnej +dokumentacji w~dowolnym z~wymienionych katalogw mog pomc +programy \cmdname{texdoc} lub \cmdname{texdoctk}. Pomocnym moe te by +plik \OnCD{doc.html}, ktry znajdziemy w~gwnym katalogu. + +Niniejsza dokumentacja w~kilku jzykach znajduje si w katalogu +\dirname{texmf-doc}: + +\begin{itemize*} +\item{uproszczony chiski:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{czeski/sowacki:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\item{angielski:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{francuski:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{niemiecki:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{polski:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{rosyjski:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\end{itemize*} + +\subsection{Predefiniowane drzewa katalogw texmf} +\label{sec:texmftrees} + +W tej czci wymieniono wszystkie uywane przez system, predefiniowane zmienne +specyfikujce drzewa katalogw texmf, omwiono te ich przeznaczenie. +Uruchomiajc polecenie \texttt{texconfig conf}, zobaczymy wartoci tych +zmiennych, dziki czemu atwo ustalimy, ktre katalogi w~naszej instalacji s +przypisane do konkretnych zmiennych. + +\begin{ttdescription} +\item [TEXMFMAIN] Drzewo katalogw zawierajce podstawowe dla + dystrybucji elementy systemu, jak skrypty (np. \verb+web2c/mktexdir+), + i~inne pliki pomocnicze oraz ich dokumentacj (nie zawiera zatem + pakietw makr ani formatw). +\item [TEXMFDIST] Drzewo katalogw zawierajce pakiety makr, fontw itp., + tak jak s one oryginalnie dystrybuowane; drzewo to moe by + wspdzielone z~dowoln dystybucj. +\item [TEXMFLOCAL] Drzewo katalogw, ktre administratorzy mog wykorzysta + do przechowywania lokalnych makr, fontw itp., dostpnych dla wszystkich + uytkownikw serwera. +\item [TEXMFHOME] Drzewo katalogw dla prywatnych makr, fontw itp. + uytkownika. Rozwinicie tej zmiennej zaley domylnie od wartoci przypisanej + zmiennej systemowej \verb+$HOME+ (w~Windows \verb+%USERPROFILE%+). +\item [TEXMFCONFIG] Drzewo katalogw wykorzystywane przez narzdzia + \verb+texconfig+, \verb+updmap+ oraz \verb+fmtutil+ do przechowywania + danych konfiguracyjnych (domylnie w~ramach \envname{TEXMFHOME}). +\item [TEXMFSYSCONFIG] Drzewo katalogw wykorzystywane przez narzdzia + \verb+texconfig-sys+, \verb+updmap-sys+ oraz \verb+fmtutil-sys+ + do przechowywania danych konfiguracyjnych dla caej instalacji. +\item [TEXMFVAR] Drzewo katalogw wykorzystywane przez \verb+texconfig+, + \verb+updmap+ i~\verb+fmtutil+ do przechowywania wygenerowanych plikw + formatw i~map fontowych (domylnie w~ramach \envname{TEXMFHOME}). +\item [TEXMFSYSVAR] Drzewo katalogw wykorzystywane przez + \verb+texconfig-sys+, \verb+updmap-sys+ oraz \verb+fmtutil-sys+, a~take + przez program \verb+tlmgr+ do przechowywania wygenerowanych plikw + formatw i~map fontowych dla caej instalacji. +\end{ttdescription} + + %Wicej informacji na temat \texttt{texconfig} znajdziemy + %w~czci~\ref{sec:texconfig}, na str.~\pageref{sec:texconfig}. + +\noindent +Domylny ukad katalogw: +\begin{description} + \item[oglnosystemowy katalog instalacji] moe zawiera kilka wyda \TL{}: + \begin{ttdescription} + \item[2007] poprzednie wydanie, + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] 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] okrelany zmienn \envname{TEXMFMAIN} + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \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 uytkownika] (\texttt{\$HOME} lub + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2007] prywatne pliki konfiguracyjne + poprzedniego wydania: + \item[.texlive2008] prywatne pliki konfiguracyjne + dla biecego wydania: + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} prywatne makra, fonty itp. + \end{ttdescription} +\end{description} + +\subsection{Rozszerzenia \protect\TeX-a} +\label{sec:tex-extensions} + +Standardowy \TeX{} zosta zamroony, ale jest i~bdzie w~przyszoci dostpny +w~dystrybucji. \TL{} zawiera ponadto kilka wersji rozszerzonych +standardowego \TeX-a: + +\begin{description} +\item [\eTeX] wersja \label{text:etex} programu \TeX{}, w~ktrej dodano + poyteczny zestaw nowych polece wbudowanych + (dotyczcych gwnie rozwijania makr, leksemw znakowych, interpretacji + znacznikw itp.) oraz rozszerzenie \TeXXeT{} dla skadu + od prawej do lewej. W~trybie domylnym \eTeX{} jest w~100\% zgodny ze + standardowym programem \TeX. Wicej szczegw mona znale + w~\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] program zawierajcy silnik \eTeX, umoliwiajcy +tworzenie plikw zarwno w~formacie PDF, jak i~\dvi{}. Jest on domylnym +programem dla wikszoci formatw (prcz plain \TeX), nie ma wic obecnie +rozrnienia na ,,maszyny'' \textsf{pdftex} i \textsf{pdfetex}, jak to miao +miejsce w~poprzednich wersjach programw i~w~poprzednich dystrybucjach \TL. +Podrczniki znajdziemy w~katalogu +\OnCD{texmf-dist/doc/pdftex/manual/pdftex-a.pdf}, +za przykad wykorzystania -- w~pliku +\OnCD{texmf-dist/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [Lua\TeX] docelowo sukcesor pdf\TeX-a, z~ktrym ma by zgodny wstecz. + Powinien take zastpi Aleph (patrz niej). Zaczony +interpreter Lua (patrz strona domowa \url{http://www.lua.org/}) +pozwala na eleganckie rozwizanie wielu trudnych problemw \TeX-a. +Program \filename{texlua} ma funkcjonalno samodzielnego +interpretera Lua, co sprawia, e jest uywany 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] umoliwia kodowanie tekstw w~Unicode oraz korzystanie +z~fontw OpenType (take tych dostpnych w~systemie operacyjnym), +przy czym stosuje biblioteki obce, patrz +\OnCD{texmf-dist/doc/xetex/XeTeX-reference.pdf} lub +\url{http://scripts.sil.org/xetex}. + +\item [\OMEGA{} (Omega)] program, ktry pracuje wewntrznie ze znakami +kodowanymi 16-bitowo (Unicode), pozwalajc skada jednoczenie +wikszo tekstw spotykanych na wiecie. Wspomaga dynamicznie +adowane tzw. ,,procesy tumaczenia \OMEGA'' (\acro{OTP}), co pozwala +uytkownikowi definiowa zoone transformacje, wykonywane na dowolnych +strumieniach wejciowych. Wicej szczegw znale mona na \DVD: +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (dokumentacja niezbyt aktualna; +sam program te od dawna nie jest aktualizowany). + +\item [Aleph] czy rozszerzenia \OMEGA\ i~\eTeX; powsta jako niezaleny +projekt z~potrzeby stabilnej ,,uywalnoci'' programu Omega, w~sytuacji +gdy ten jest cigle w~fazie eksperymentalnej. Minimalna dokumentacja: +\OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + +\subsection{Inne waniejsze programy \protect\TL} + +Poniej zestawiono inne najczciej uywane programy dostpne +w~dystrybucji \TL{}: + +\begin{cmddescription} + +\item[bibtex] tworzenie spisw bibliograficznych; + +\item[makeindex] tworzenie posortowanych skorowidzw; + +\item[dvips] konwersja \dvi{} do \PS{}; + +\item[xdvi] przegldarka plikw \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 wyej programu pdf\TeX{} (pakiety + \pkgname{ps4pdf} i~\pkgname{pdftricks} dostarczaj kolejnych moliwoci); + +\item [psselect, psnup, \ldots] narzdzia do manipulacji na plikach +postscriptowych; + +\item [lacheck] kontrola syntaktyki plikw \LaTeX-owych; + +\item [texexec, texmfstart] programy uruchamiajce dla Con\TeX{}t; + +\item [tex4ht] postprocesor dla \TeX-a konwersji do HTML i XML. + +\end{cmddescription} + +%%! zostawiam t cz, cho wyleciaa z wersji oryginalnej!!! 27.08.2003 + +\subsection[Pakiety i ich zestawy]{Pakiety i ich zestawy} +\label{packages} +Zawarto drzew \texttt{texmf} na \TL{} zostaa do celw instalacji +zorganizowana w~szereg ,,zestaww'' (\emph{collections}), +z~ktrych kady posiada zbir ,,pakietw'' (\emph{packages}; jest ich obecnie +ponad 2500). Normalna instalacja pozwala uytkownikowi skopiowa +z~\DVD{} na twardy dysk jeden lub wicej zestaww, mona te +zainstalowa jedynie pojedynczy pakiet. + +Zestawy pozwalaj lepiej dobra instalowane skadniki, a~take okreli, +jakie jzyki bd obsugiwane po instalacji. Najwaniejszy zestaw, wymagany +dla wikszoci zastosowa, to ,,basic''. Zestawy ,,latex'' +i~,,pdftex'' s rekomendowane dla wikszoci uytkownikw. Pozostae +zestawy s opcjonalne. + +Oto dostpne zestawy i~krtki opis ich zawartoci: + +\begin{description} +\item[basic] podstawowe programy, pakiety makr i~fontw systemu \TeX{}, + pliki konfiguracyjne dla podstawowych sterownikw; +\item[bibtexextra] dodatkowa, obszerna biblioteka stylw Bib\TeX-owych + i~bazy danych bibliograficznych (podstawowe style znajduj si w~zestawie + ,,basic''); +\item[chemistry] pakiety makr do skadu wzorw chemicznych; +\item[context] pakiet makr do Con\TeX{}t -- ,,dialektu'' \TeX-a + autorstwa Hansa Hagena; +\item[documentation] dodatkowe, uyteczne dokumentacje; +\item[etex] pliki pomocnicze dla programu e-\TeX; +\item[extrabin] rne programy pomocnicze; zestaw zawiera m.in. + programy i~makra dla systemu texinfo, programy do manipulacji na plikach + DVI itp.; +\item[fontbin] programy do konwersji plikw fontowych oraz testowania + i~instalacji fontw (zestaw do tworzenia fontw wirtualnych, manipulacji + plikami .gf i~.pk, programy \texttt{mft}, \texttt{fontinst} itp.); +\item[fontsrecommended] obszerna biblioteka czciej uywanych fontw + w~postaci rdowej (.mf) bd fontw obwiedniowych oraz pliki z~definicjami + i~stylami \LaTeX-a dla tych fontw; +\item[fontsextra] biblioteka rnych rzadziej uywanych fontw; +\item[formatsextra] pliki pomocnicze do generowania dodatkowych + ,,formatw'' (tj. obszerne zestawy makr suce do wstpnego przetworzenia + i~utworzenia pliku \texttt{.fmt}); +\item[games] pakiety do prezentacji zapisu rnych gier (szachy, + bryd itp.); +\item[genericextra] obszerna biblioteka makr, trudnych do sklasyfikowania, + dziaajcych z~rnymi formatami (Plain, \LaTeX{} itp.); +\item[htmlxml] pakiety konwersji \LaTeX-a do XML/HTML oraz do skadu + dokumentw XML/SGML; +\item[lang\dots] wsparcie poszczeglnych jzykw; zestawy zawieraj + wzorce przenoszenia wyrazw i~makra obsugi danych jzykw, czasem te + specyficzne fonty itp., przykadowo: + %\item[langarmenian] armeski; +%\item[langcjk] pakiety CJK (obsuga chiskiego, japoskiego i~koreaskiego); +%\item[langcroatian] chorwacki; +%\item[langcyrillic] fonty i makra do skadu cyrylic; +%\item[langczechslovak] fonty i pakiety makr dla czeskiego i~sowackiego; +%\item[langdanish] duski; +%\item[langdutch] holenderski; +%\item[langfinnish] fiski; +%\item[langfrench] francuski; +%\item[langgerman] niemiecki; +%\item[langgreek] grecki; +%\item[langhungarian] wgierski; +%\item[langindic] wsparcie dla jzykw indyjskich; +%\item[langitalian] woski; +%\item[langlatin] acina; +%\item[langmanju] jzyk Manju; +%\item[langmongolian] mongolski; +%\item[langnorwegian] norweski; +%\item[langother] wzorce przenoszenia wyrazw dla innych jzykw; +\item[langpolish] zawiera polskie pakiety: makra do tworzenia formatu MeX, + pakiety \texttt{polski}, \texttt{mwcls}, fonty i~makra dodatkowe, + przydatne dla polskich uytkownikw, dokumentacje w~jzyku polskim; +%\item[langportuguese] portugalski; +%\item[langspanish] hiszpaski; +%\item[langswedish] szwedzki; +%\item[langtibetan] fonty i~wsparcie do skadu tybetaskiego; +%\item[langukenglish] angielski (brytyjski); +%\item[langvietnamese] wietnamski; +\item[latex] podstawowe pakiety \LaTeX-a; +\item[latexrecommended] rekomendowany zestaw czsto uywanych pakietw + dodatkowych; +\item[latex3] pakiety-,,zwiastuny'' \LaTeX3, dziaajce z~\LaTeXe; +\item[latexextra] bogaty wybr dodatkowych pakietw dla \LaTeX-a; +\item[mathextra] dodatkowe pakiety do skadu zaawansowanej matematyki; +\item[metapost] MetaPost i~pakiety do tworzenia rysunkw z~uyciem + MetaFonta; +\item[music] makra do skadu nutowego; +\item[omega] rozszerzenie \TeX{}a autorstwa Johna Plaice'a i~Yannisa Haralambousa, dziaajce ze znakami kodowanymi 16-bitowo; +\item[pdftex] pliki pomocnicze dla pdf\TeX{}-a, wersji programu \TeX{} + tworzcej pliki w~formacie PDF; +\item[pictures] pakiety do tworzenia diagramw i~innych obiektw graficznych; +\item[plainextra] dodatkowe biblioteki makr dla Plain \TeX; +\item[psutils] narzdzia do manipulacji plikami \PS-owymi; +\item[publishers] pakiety makr pochodzce od rnych wydawnictw; +\item[t1utils] narzdzia do obsugi fontw w~formacie Type~1; +\item[texbooks] przykady i~inne materiay autorstwa D.E.~Knutha; +\item[ttfutils] narzdzia do konwersji fontw True Type. +\end{description} +%-------------------------- +%%! koniec pozostawionej sekcji 27.08.2003 + +Plik \texttt{tlpdb/texlive.tlpdb} (wykorzystywany podczas instalacji) +zawiera spis wszystkich plikw w~kadym pakiecie. + +\subsection{Fonty w \protect\TL} +\label{sec:tl-fonts} + +\TL{} zawiera wiele wysokiej jakoci fontw skalowanych. Patrz +\url{http://tug.org/fonts} oraz +\OnCD{texmf-doc/doc/english/free-math-fonts-survey}. + +%==== + +\section{Instalacja} +\label{sec:install} + +\subsection{Start instalacji} +\label{sec:inst-start} + +Instalacj \TL{} uruchamiamy skryptem \filename{install-tl} +(\filename{install-tl.bat} dla Windows) z~pytki \TK{} \DVD{} +bd dostpnym w~pobranym z~sieci pakiecie instalacyjnym. + +\begin{description} +\item [Instalator z sieci:] z~archiwum \CTAN, z~katalogu +\dirname{systems/texlive/tlnet} +(\url{http://mirror.ctan.org/systems/texlive/tlnet} automatycznie +przekierowuje do najbliszej kopii \CTAN) naley pobra plik +\filename{install-tl.zip} (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} i~\filename{install-tl.bat}. + +\item [\TeX{} Collection \DVD:] po zamontowaniu pytki naley +zmieni katalog biecy na \dirname{texlive} (w~Windows program +instalacyjny powinien uruchomi si automatycznie). \DVD{} otrzymamy +w ramach czonkowstwa w~dowolnej Grupie Uytkownikw Systemu \TeX{} +(kontakt w Polsce \url{http://www.gust.org.pl}). +\end{description} + +Dalsze kroki omwiono dokadniej w~nastpnych czciach. + +\subsubsection{Unix} + +\noindent +Poniej \texttt{>} oznacza prompt systemu; to, co wpisuje uytkownik, +zaznaczono \Ucom{\texttt{pogrubieniem}}. W~systemach zgodnych z~Unix +naley wykona w~oknie terminala: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(mona take uruchomi \Ucom{perl /path/to/installer/install-tl} lub +\Ucom{./install-tl}; w dalszej czci nie bdziemy powtarza wszelkich +moliwych kombinacji). + +Do uruchomienia w~trybie graficznym (\GUI) wymagany jest w~systemie modu +\dirname{Perl/TK}: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +Kompletny wykaz dostpnych opcji otrzymamy, uruchamiajc: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{Uwaga dotyczca uprawnie w Unix:} program instalacyjny +bdzie respektowa aktualn warto \code{umask}. +Jeli wic chcemy, aby instalacja bya dostpna dla innych, to musimy +ustawi warto np. \code{umask 002}. Wicej informacji na temat +\code{umask} znajdziemy w~podrcznikach systemu operacyjnego. + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{Gwny ekran instalatora w~trybie tekstowym (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{Gwny ekran instalatora \GUI{} (Windows)}\label{fig:gui-main} +\end{figure} + +\subsubsection{Mac\,OS\,X} + +Jak wspomniano w czci \ref{sec:tl-coll-dists}, dla \MacOSX{} +przygotowano odrbn dystrybucj Mac\TeX\ (\url{http://tug.org/mactex}), +w~tym wypadku naley uy dedykowanego programu instalacyjnego, gdy +zmienia on w~specyficzny sposb ustawienia systemu, w~szczeglnoci pozwala +na atwe przeczanie pomidzy rnymi dystrybucjami \TeX-a dla +\MacOSX: Mac\TeX, gw\TeX, Fink, MacPorts,\ldots + +Mac\TeX\ jest oparty na \TL{} i gwne drzewa katalogw s dokadnie te +same, jedynie dodawane s katalogi ze specyficznymi dla systemu +\MacOSX\ dokumentacjami i~aplikacjami. + +\subsubsection{Windows} + +Gdy uywamy instalatora pobranego z~sieci (bd program ten nie uruchamia si +automatycznie po woeniu \DVD{} do napdu), naley uruchomi +\filename{install-tl.bat} (np. podwjnym klikniciem myszy). +Mona to uczyni take z~linii polece -- gdy katalog zawierajcy ten plik +jest biecym, wystarczy uruchomi: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +W linii polece mona te poda ciek do programu, np.: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +dla \TK\ \DVD, zakadajc, e \dirname{D:} jest napdem \DVD. + +Instalacja w~trybie tekstowym wymaga podania: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +Wszystkie dostpne opcje wywietlimy uruchamiajc: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{Instalator w trybie tekstowym} + +Rysunek \ref{fig:text-main} przedstawia gwny ekran programu +\filename{install-tl} w~trybie tekstowym w~systemie Unix. +W tym trybie nie uywamy ani klawiszy kursora, ani myszy, +tylko wycznie klawiszy cyfr i~liter (uwaga: due i mae litery s +rozrniane!). Wybran opcj zatwierdzamy klawiszem Enter. +Instalator w~trybie tekstowym jest dlatego tak prosty, by dziaa na +moliwie wielu platformach, nawet wyposaonych w~ubogie biblioteki Perla +(dla Windows zaczono taki wanie podzbir dystrybucji Perla). + +\subsubsection{Instalator w trybie graficznym} + +Rysunek \ref{fig:gui-main} pokazuje instalator w~trybie graficznym +(zrzut ekranu w systemie Windows). + +\subsection{Podczas instalacji} +\label{sec:runinstall} + +Program instalacyjny jest z~zaoenia na tyle prosty, e szczegowe +wyjanienia s zbdne. Podamy jednak kilka uwag dotyczcych rnych opcji +i~dostpnych podmenu. + +\subsubsection{Menu: binary systems (tylko Unix)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: (Dostpne zestawy programw dla:) +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Wybr platformy (systemu operacyjnego)}\label{fig:bin-text} +\end{figure} + +Rysunek \ref{fig:bin-text} pokazuje (w~trybie tekstowym) wybr platformy +(systemu operacyjnego). +Domylnie instalowane s tylko programy dla biecej platformy, +ale menu to pozwala wybra take zestaw dla innych platform. Moe by to +przydatne do instalacji na serwerze i~wspdzielenia zasobw w~sieci +dla rnych systemw operacyjnych bd dla instalacji + %\textit{dual-boot} + dla kilku systemw na tej samej maszynie. + +\subsubsection{Wybr tego, co ma by zainstalowane} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: (Wybr schematu do instalacji:) +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Menu: wybr schematw}\label{fig:scheme-text} +\end{figure} + +Rysunek \ref{fig:scheme-text} pokazuje menu ,,Wybr schematw''. Schematy to +obszerne zestawy pakietw, przeznaczone do wstpnego wyboru instalowanych +komponentw. Mamy tu schematy do instalacji: podstawowej (\optname{basic}), +typowej (\optname{medium}) i~penej (\optname{full}; jest ona +domylna), pozostae przygotowano z~myl o~wybranych grupach +uytkownikw (np.~GUST i~GUTenberg przygotoway schematy dla swoich +czonkw) lub zastosowaniach (np.~XML lub Omega). + +\begin{figure}[tbh] +\begin{center} +\tlpng{stdcoll}{.7\linewidth} +\caption{Menu Standard Collections (Kolekcje standardowe) (Linux)}\label{fig:collections-gui} +\end{center} +\end{figure} + +Wstpnie wybrane schematy mona modyfikowa. W skad ,schematw'' wchodz +tzw. ,,kolekcje'', ktre mona wybra w~kolejnych menu o~nazwach: ,,Kolekcje +standardowe'' i~,,Kolekcje jzykowe'' (rysunek \ref{fig:collections-gui}). +Kolekcje stanowi niszy poziom ni schematy, a~same skadaj si z +,,pakietw''. Dopiero pakiety zawieraj waciwe pliki makr, fontw itp. +Jeli chcemy doda lub usun pakiet, to po instalacji waciwej uyjemy +programu \prog{tlmgr} (patrz cz~\ref{sec:tlmgr}). + +\subsubsection{Katalogi} +\label{sec:directories} + +Domylny ukad katalogw opisano w czci~\ref{sec:texmftrees} na +str.~\pageref{sec:texmftrees}. Pooenie domylne caej instalacji +(\dirname{TEXDIR}) rni si w~Windows (|%PROGRAMFILES%\texlive\2008|) +i~w~Unix (\dirname{/usr/local/texlive/2008}). + +Gwnym powodem, dla ktrego zmieniamy domylne pooenie \dirname{TEXDIR}, +moe by brak uprawnie. Aby zainstalowa \TL{}, nie musimy by +administratorem systemu, musimy jednak posiada uprawnienia do zapisu +w~docelowym katalogu. Logiczn alternatyw moe by wtedy instalacja +w~katalogu domowym, szczeglnie wtedy, gdy bdziemy jedynym uytkownikiem. +Stosujemy tu zapis ,,|~|'' do zaznaczenia takiego wyboru, np. +|~/texlive/2008|. Zalecamy stosowanie katalogu z~nazw odzwierciedlajc +rok wydania, co pozwoli na zainstalowanie obok siebie rnych 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 take cieki +katalogw okrelone przez zmienne \dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} +i~\dirname{TEXMFSYSCONFIG}. + +\dirname{TEXMFHOME} jest zalecanym pooeniem dla prywatnych makr i~fontw +uytkownika. Domylnym katalogiem jest |~/texmf|. W odrnieniu od +\dirname{TEXDIR}, znak |~| jest zachowywany w generowanych plikach +konfiguracyjnych, poniewa w~wygodny sposb odnosi si do katalogu domowego +podczas kadego uruchamiania programw. Znak ten rozwijany jest do zmiennej +\dirname{$HOME} w~Unix i~\verb|%USERPROFILE%| w~Windows. + +\subsubsection{Opcje} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Menu: Options (Opcje) w Unix}\label{fig:options-text} +\end{figure} + +Rysunek \ref{fig:options-text} pokazuje menu (w~trybie tekstowym) +z~dodatkowymi opcjami. Warto tu wspomnie o~trzech z nich: + +\begin{description} +\item[use letter size instead of A4 by default] (uyj domylnego formatu +papieru letter zamiast A4): pozwala okreli domylny format papieru +dla wielu programw. Oczywicie format papieru mona specyfikowa potem +dla kadego dokumentu. + +\item[create all format files] (generuj wszystkie pliki formatw): +chocia zbdne formaty zajmuj miejsce na dysku, to zaleca si +pozostawi t opcj wczon; jeli tego nie zrobimy, formaty bd +generowane automatycznie (w~razie potrzeby) w~prywatnych katalogach +\dirname{TEXMFVAR} uytkownikw, nie bd jednak odwieane, gdy w~instalacji +zostan zaktualizowane np. programy bd wzorce przenoszenia; wskutek tego +formaty mog utraci zgodno ze rodowiskiem, w~ktrym s uywane. + +\item[create symlinks in standard directories] (utwrz dowizania + w~standardowych katalogach, tylko Unix): opcja ta pozwala unikn ustawiania + zmiennych rodowiska po instalacji (\envname{PATH}, \envname{MANPATH} + i~\envname{INFOPATH}), ale jej uycie nie jest zalecane, bo moe powodowa kolizje + z ju zainstalowanym w~systemie rodowiskiem \TeX; moe by ona przydatna + jedynie wtedy, gdy w~standardowych katalogach (np. \dirname{/usr/local/bin}) +nie ma jakichkolwiek programw \TeX-owych. +\end{description} + +Po wszystkich potrzebnych ustawieniach mona rozpocz instalacj +(klawisz ,,I''). Po instalacji zaleca si zajrze do czci +\ref{sec:postinstall}, bo by moe potrzebne oka si jeszcze +dodatkowe kroki. + +\subsubsection{Uruchamianie bezporednio z DVD{} (tylko w trybie tekstowym)} +\label{sec:fromdvd} + +Aby uruchomi programy bezporednio z~pytki \DVD{} naley wybra +opcj ,,|V|'', co zmienia menu na przedstawione na +rys.~~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{Menu gwne dla uruchamiania z~\optname{DVD}}% +\label{fig:main-fromdvd} +\end{figure} + +Zwrmy uwag na nastpujce zmiany: znikny wszystkie opcje dotyczce wyboru +pakietw, sekcja dotyczca katalogw pokazuje teraz \dirname{TEXDIRW} -- +katalog z~prawami do zapisu. Pozwoli to uruchamia dowolny program +bezporednio z~pytki; na dysku twardym znajd si (w odpowiednich +katalogach) jedynie niezbdne pliki konfiguracyjne. + +Poniewa struktura katalogw rni si nieco od domylnej, niezbdne bd +pewne czynnoci konfiguracyjne, omwione w~czci~\ref{sec:postinstall}. + + %Z powodu pilniejszych prac i braku czasu + Instalator \GUI nie posiada opcji ,,V'', dlatego + %ale jest dostpna dla wszystkich systemw. + uytkownicy Windows mog uruchomi program jedynie +z~linii polece, jak opisano to w~czci~\ref{sec:cmdline}. + +W~rozdziale \ref{sec:portable-unix} opisano jeszcze inny, przenony sposb +uruchamiania \TL, ktry nie wymaga zmian w~konfiguracji systemu +(a~nawet nie pozwala na nie). + +\subsection{Parametry instalacji z linii polece} +\label{sec:cmdline} + +Uruchom +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +aby wywietli wszystkie dostpne parametry. + % Either |-| or |--| can be used to introduce option names. + Najbardziej interesujce to: + +\begin{ttdescription} +\item[-gui] uyj programu w~wersji graficznej (\GUI), jeli to moliwe; + wymagane jest posiadanie moduu Perl/Tk + (\url{http://tug.org/texlive/distro.html#perltk}); + gdy jest on niedostpny, program instalacyjny uruchomiony zostanie + w trybie tekstowym; +\item[-no-gui] wymusza tryb tekstowy, np. w~Windows potrzebny jest on + dla przygotowania do uruchamiania bezporednio z~\DVD; +\item[-lang {\sl LL}] pozwala wybra jzyk komunikatw, + \textsl{LL} oznacza tu dwuliterowy kod jzyka; aktualnie dostpne s: + angielski (\texttt{en}, domylny), niemiecki (\texttt{de}), francuski + (\texttt{fr}), holenderski (\texttt{nl}), polski (\texttt{pl}), + soweski (\texttt{sl}) i~wietnamski (\texttt{vi}); program samoczynnie + wcza jzyk, ale jeli jest to niemoliwe, komunikaty i menu bd + wywietlane w jzyku angielskim; +\item[-profile {\sl profile}] program instalacyjny zapisuje plik + \filename{texlive.profile} w~katalogu \dirname{2008/tlpkg}, co pozwala + wykorzysta go dla powielenia wszystkich wyborw i~ustawie w~kolejnych + instalacjach; + %%! zbdny przykad, patrz wer. oryg. (SW) +\item [-location {\sl url/path}] pozwala okreli inne ni domylne rdo + instalacji (patrz poniej). +\end{ttdescription} + +\subsubsection{Parametr \optname{location}} +\label{sec:location} + +Parametrowi \optname{location} mona przypisa adres w sieci +(rozpoczynajcy si od \texttt{ftp:}, \texttt{http:} lub \texttt{file:/}), +lub pen ciek. Jeli podany argument wskazuje na lokalny dysk +(cieka bd adres \texttt{file:/}), to automatycznie zostanie dostosowany +typ instalacji (ze skompresowanych plikw bd nie): gdy dostpny bdzie +katalog \dirname{archive}, zawierajcy pliki \filename{.tar.lzma}, wybrana +zostanie instalacja z~tyche plikw, nawet jeli dostpne bd rwnolegle +katalogi z~plikami nieskompresowanymi. + +%%! pki co, brak czasu na takie szczegy (SW) +%%! When giving an \texttt{http:} or \texttt{ftp:} location, trailing +%%! `\texttt{/}' characters and/or a trailing `\texttt{/tlpkg}' component +%%! are ignored. For example, you could choose a particular \CTAN\ mirror +%%! with something like: +%%! \url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}, +%%! substituting of course a proper hostname and its particular top-level +%%! \CTAN\ path (the list of \CTAN\ mirrors is maintained at +%%! \url{http://ctan.org/mirrors}) for |ctan.example.org/tex-archive|. The +%%! default is to pick a mirror automatically, using +%%! \url{http://mirror.ctan.org}; in any case, the chosen host is used for +%%! the entire download. + +\subsection{Czynnoci poinstalacyjne} +\label{sec:postinstall} + +Cz ta nie dotyczy systemu Windows, dla ktrego program instalacyjny +przeprowadza ca konfiguracj, wcznie z~menu systemowym i~ikonami na +pulpicie. Ponisze uwagi mog by przydatne dla uytkownikw innych systemw. + +\subsubsection{Gdy zastosujemy dowizania symboliczne} + +Uycie opisanej w~czci~\ref{sec:options} opcji tworzenia dowiza +symbolicznych w~standardowych katalogach nie wymaga zmian w zmiennych +rodowiska systemowego. + +\subsubsection{Zmienne rodowiska dla Unix} +\label{sec:env} + +Po instalacji trzeba do zmiennej \envname{PATH} doda ciek do +programw \TL. Kada z~obsugiwanych platform ma wasny podkatalog +w~ramach \dirname{TEXDIR/bin}. List platform i odpowiadajcych im katalogw +przedstawiono na rys.~\ref{fig:bin-text}. + +Rwnie korzystanie z~systemowych przegldarek dokumentacji \prog{man} +i~\prog{info} staje si moliwe dopiero +po dodaniu odpowiednich katalogw do ich cieek przeszukiwania. + +Dla powoki zgodnej z~Bourne shell (\cmdname{sh}, \cmdname{bash}, +\cmdname{ksh}) moemy dopisa do pliku \filename{$HOME/.profile}: + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +W~wypadku csh lub tcsh naley zmodyfikowa plik \filename{$HOME/.cshrc}, np: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +%%! ??? (SW) +%%! Of course, you may well already have settings somewhere in your ``dot'' +%%! files, and so then the \TL\ directories should simply be merged in as +%%! appropriate. + +%%! ??? (SW) +%%! \subsubsection{Environment variables: global configuration} +%%! \label{sec:envglobal} +%%! +%%! If you want to make these changes globally, or for a user newly added to +%%! the system, then you are on your own; there is just too much variation +%%! between systems in how and where these things are configured. +%%! +%%! Our two hints are: 1)~you may want to check for a file +%%! \filename{/etc/manpath.config} and, if present, add lines such as +%%! +%%! \begin{sverbatim} +%%! MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ +%%! /usr/local/texlive/2008/texmf/doc/man +%%! \end{sverbatim} +%%! +%%! And 2)~check for a file \filename{/etc/environment} which may define the +%%! search path and other default environment variables. + +\subsubsection{Gdy uruchamiamy programy z~DVD} + +Programy \TL{} wyszukuj potrzebne dane w~rnych drzewach katalogw +korzystajc z~pliku \filename{texmf.cnf}. Plik ten znajdowany jest w caej +serii pooe wzgldem pooenia samych programw, ale zasada ta nie dziaa, +gdy uruchamiamy programy bezporednio z~\DVD. Wynika to z faktu, e niektre +pliki s zapisywane na twardym dysku (\DVD{} jest medium tylko do odczytu) +i~trac tym samym predefiniowane wzgldne pooenie. Wymagane jest zatem +zdefiowanie w~rodowisku zmiennej \envname{TEXMFCNF}, ktra wskae pooenie +\filename{texmf.cnf}. Nadal jest potrzebna modyfikacja zmiennej +\envname{PATH}, jak opisano wyej. + +Na zakoczenie instalacji program powinien pokaza komunikat informujcy, +jak warto naley przypisa zmiennej \envname{TEXMFCNF}. Gdybymy +to przeoczyli -- wartoci t jest \dirname{$TEXMFSYSVAR/web2c}, czyli dla +domylnych ustawie (\dirname{/usr/local/texlive/2008/texmf-var/web2c}) +potrzebujemy deklaracji: +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +lub, dla [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + +\subsubsection{\ConTeXt{} Mark IV} + +Tak zwany ,,stary'' \ConTeXt{} dziaa jak dotychczas. Nowy \ConTeXt{} +,,Mark~IV'' wymaga rcznego dostrojenia -- patrz: +\url{http://wiki.contextgarden.net/Running_Mark_IV}. + +\subsubsection{Integracja lokalnych i prywatnych pakietw makr} +\label{sec:local-personal-macros} + +Jak ju wspomniano w~czci~\ref{sec:texmftrees}, katalog \dirname{TEXMFLOCAL} +(domylnie \dirname{/usr/local/texlive/texmf-local} lub +\verb|C:\Program Files\texlive\texmf-local|) przeznaczony jest na lokalne +(np. w~danej sieci komputerowej) fonty oraz pakiety makr. Z~kolei +\dirname{TEXMFHOME} (domylnie \dirname{$HOME/texmf} lub +\verb|%USERPROFILE%\texmf|) jest przeznaczony na prywatne makra i~fonty +uytkownika. W zamierzeniu oba te katalogi powinny by zachowywane przy +instalacji nowszych wersji \TL{}, a~ich zawarto ma by automatycznie +dostpna w~kolejnych wydaniach. Zalecamy zatem, by nie +przedefiniowywa \dirname{TEXMFLOCAL}, co pozwoli unikn rcznego +konfigurowania w~przyszoci. + +W~obu drzewach katalogw pliki powinny by umieszczane w~odpowiednich +podkatalogach, zgodnie z~zaleceniami TDS (patrz: \url{http://tug.org/tds}, +take plik \filename{texmf/web2c/texmf.cnf}). Przykadowo 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 zawartoci wymaga odwieenia bazy danych -- +poleceniem \cmdname{mktexlsr} lub poprzez uycie przycisku ,,Odwie bazy +danych'' w~graficznym trybie programu \prog{tlmgr}. + +\subsubsection{Integracja fontw z innych rde} + +Jest to, niestety, + %mocno zagmatwany temat, + bardzo skomplikowane zagadnienie, wymagajce sporej wiedzy +uytkownika. Warto najpierw si dowiedzie, jakie fonty mamy dostpne +bezpatnie (patrz cz~~\ref{sec:tl-fonts}). + +Alternatyw jest \XeTeX{} (patrz +czc~\ref{sec:tex-extensions}), ktry umoliwia uycie fontw systemowych +bez potrzeby instalowania ich dla programw \TeX-owych. + +\subsection{Testowanie instalacji} +\label{sec:test-install} + +Po zainstalowaniu \TL{} warto sprawdzi, czy programy dziaaj +poprawnie. Opiszemy tu podstawowe procedury testujce funkcjonowanie +systemu w~systemach Unix. W~\MacOSX{} i~Windows najczciej uyjemy +rodowiska graficznego (\GUI), reguy jednak bd podobne. + +\begin{enumerate} +\item Sprawdzamy najpierw, czy uruchamia si program \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} +Jeli uruchomienie koczy si komunikatem \emph{command not found} +(\emph{Nie znaleziono pelecenia}), oznacza to, e niepoprawnie +zadeklarowano zmienn \envname{PATH} (patrz deklaracje zmiennych +rodowiska na str.~\pageref{sec:env}). + +\item Nastpnie przetwarzamy prosty plik \LaTeX-owy: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +..... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +Gdy program nie znajduje \filename{sample2e.tex} (bd innych wymaganych +plikw), moe to oznacza, e nadal dziaaj ustawienia zmiennych rodowiska +bd pliki konfiguracyjne z~poprzedniej instalacji. +Szczegow analiz, gdzie pliki s szukane i~znajdowane, +umoliwia diagnostyka opisana w~czci \ref{sec:debugging} na +str.~\pageref{sec:debugging}. + +\item Podgld wyniku skadu: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Polecenie to wymaga uruchomionego rodowiska graficznego X~Window. +Dla MS Windows analogicznym poleceniem jest \cmdname{dviout} (o~ile +samodzielnie zainstalowalimy ten program). + %%! + %%! 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 skadu do \PS{} w~celu wywietlenia lub wydruku: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Tworzenie dokumentu bezporednio w~formacie \acro{PDF}: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Podgld 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 dostpny jest take +bezpatny program Adobe Reader (\url{http://www.adobe.com}). +W~systemie Windows domylnie instalowany jest dla \TL{} program +\cmdname{psv} +(PS\_View), pozwalajcy przeglda pliki \cmdname{.ps} i~\cmdname{.pdf}. +Program ten mona te zainstalowa samodzielnie w~systemach Linux +(w~katalogu \dirname{support/} znajdziemy plik \filename{psview-5.09t.zip}). + +\item Inne przydatne pliki testowe: + +\begin{ttdescription} +\item [small2e.tex] przykad prostszy ni \filename{sample2e}; +\item [testpage.tex] test pooenia wydruku na kartce papieru, przydatny + do sprawdzenia, czy nasza drukarka nie wprowadza przesuni; +\item [nfssfont.tex] suy do wydruku tablic fontowych; +\item [testfont.tex] jak wyej, z~tym e zamiast \LaTeX-a trzeba uy plain + \TeX{}; +\item [story.tex] najbardziej kanoniczny przykad dla plain \TeX{}; + na zakoczenie przetwarzania uruchomionego poleceniem \samp{tex story}, + po ukazaniu si \code{*}, naley wpisa \samp{\bs bye}. +\end{ttdescription} + +\end{enumerate} + +Pocztkujcym uytkownikom polecamy stron +\url{http://tug.org/begin.html} oraz podrcznik +Petera Flynna \textsl{Formatting Information}, dostpny pod adresem +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + +\section{Instalacje sieciowe} +\label{sec:netinstall} + +\TL{} zaprojektowano tak, by mogo z~niego korzysta wielu +uytkownikw, nawet w~rnych systemach operacyjnych w~sieci komputerowej. +Dziki standardowej strukturze katalogw nie ma potrzeby konfiguracji +i~okrelania konkretnych cieek: pooenie plikw wymaganych przez programy +\TL{} jest zdefiniowane jako wzgldne wobec samych programw. Mona to +zobaczy w~pliku \filename{$TEXMFMAIN/web2c/texmf.cnf}, ktry zawiera np. +takie wiersze: +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} +W konsekwencji oznacza to, e dla rnych systemw operacyjnych bd +uytkownikw wystarczy doda do ich cieek przeszukiwania tylko ciek +do programw \TL{}. + +Moliwa jest zatem np. instalacja lokalna \TL{}, po czym przeniesienie +caej struktury w~inne miejsce w~sieci. + +Uytkownicy Windows mog mie take inne wymagania. +W~katalogu \dirname{texmf-doc/source/texlive/texlive-common/w32client} +znajdziemy przykadowy skrypt \filename{install-w32client}, ktry +pozwala dostosowa istniejc instalacj \TL{} dla potrzeb sieci +(wcznie z~utworzeniem skrtw w~menu systemowym). Wystarczy +w~tym katalogu uruchomi \filename{install-w32client.bat}. + +W czci~\ref{sec:kpathsea} dowiemy si wicej o~konfigurowaniu \TL{} +i~zasadach przeszukiwania cieek. + +%%! 2 sekcje tumaczy Kocio (Andrzej Borzyszkowski), przeredagowa StaW +\section{Maksymalnie przenony \protect\TL{} na DVD i~USB} +\label{sec:portable-unix} + +Opcja ,,uruchom z~\DVD{}'', opisana w~rozdziale~\ref{sec:fromdvd}, jest +wprzydatna, jeli dziaamy na swoim wasnym komputerze. Gdy gocimy na +cudzym, to prawdopodobnie wolelibymy wybra inn moliwo, bez zbdnych +skutkw ubocznych. + +W~gwnym katalogu \TL{} \DVD (w~podkatalogu \dirname{texlive} \TK{} \DVD) +znajdziemy skrypt uniksowy \filename{tl-portable} oraz widowsowy +\filename{tl-portable.bat}, ktre uruchamiaj terminal z~ustawieniami +odpowiednimi do bezporedniego dostpu do \TL{} na \DVD. + +Gdy skrypt ten jest wykonywany po raz pierwszy, generowane s pewne pliki +w~podkatalogu \dirname{~/.tlportable2008}, co trwa kilka chwil. +W~kolejnych wywoaniach skrypt rozpoczyna dziaanie niemal natychmiast. + +Reszta systemu nie jest wiadoma istnienia \TL. Jeli chcemy, by nasz edytor +mg wsppracowa z~\TL, to musimy uruchomi go z~innej, +rwnolegej sesji \filename{tl-portable}. + +Mona rwnie uy \filename{tl-portable} do wywoania \TL{} z~pendrive'a +\acro(USB). W~tym wypadku naley skopiowa wszystkie pliki najwyszego +poziomu oraz zawarto (co najmniej) katalogw \dirname{bin}, +\dirname{texmf}, \dirname{texmf-dist} i~\dirname{tlpkg} na pendrive. Zajmie +to troch czasu! Jeli kopiujemy na pendrive \acro{USB} sformatowany +z~systemem plikw \acro{FAT}32, to naley si upewni, e dowizania +symboliczne s zastpowane plikami (polecenie \code{cp -L}). Uywany te +bdzie katalog \dirname{texmf-local} na pendrive. + +Nastpnie wywoajmy \filename{tl-portable} z~katalogu gwnego pendrive'a. +W~tym wypadku skrypt zauway, e pendrive mona zapisywa i~uyje go do +zapisania wygenerowanych plikw. Zawarto t mona z~powrotem zapisa na +\DVD{} (np. do przekazania innym). + +\section{\cmdname{tlmgr}: zarzdzanie instalacj} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} w~trybie graficznym. Lista pokietw\slash +kolekcji\slash schematw pokae si dopiero po naciniciu klawisza +,,aduj'' (Load).}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} w~trybie graficznym: zakadka +konfiguracji}\label{fig:tlmgr-config} +\end{figure} + +Instalator instaluje program o~nazwie \prog{tlmgr}, sucy do dalszego +zarzdzania \TL{} po pierwotnej instalacji. Programy \prog{updmap}, +\prog{fmtutil} oraz \prog{texconfig} s nadal dostpne i~bd utrzymywane +w~przyszoci, jednake obecnie polecanym interfejsem jest \prog{tlmgr}. Jego +moliwoci obejmuj: + +\begin{itemize*} +\item pokazanie listy schematw, kolekcji i~pakietw; +\item instalowanie, aktualizacj, tworzenie kopii zapasowych, odtwarzanie + oraz usuwanie pojedynczych pakietw (opcjonalnie~-- z~uwzgldnieniem + zalenoci pomidzy pakietami); +\item wyszczeglnianie oraz dodawanie architektur (platform systemowych); +\item zmian opcji instalacji, takich jak rozmiar papieru czy zmiana + pooenia rda instalacji (patrz cz~\ref{sec:location}). +\end{itemize*} +\textit{Ostrzeenie:} \prog{tlmgr} nie zosta zaprojektowany ani + przetestowany z~instalacjami, ktre s wywoywane bezporednio z~\DVD. + +\subsection{\cmdname{tlmgr} -- tryb graficzny (GUI)} +\prog{tlmgr} moe by uruchomiony w~trybie graficznym za pomoc polecenia +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +za w~systemie Windows poprzez wybr menu: \texttt{Start} \verb+->+ +\texttt{Programy} \verb+->+ \texttt{TeX Live 2008} \verb+->+ \texttt{TeX Live +Manager}. Po klikniciu przycisku ,,aduj'' wywietla list dostpnych +oraz list zainstalowanych pakietw (te ostatnie poprzedzone s ,,(i)''). +Zakadamy oczywicie, e rda instalacji s poprawne i~s dostpne. + +Rysunek~\ref{fig:tlmgr-config} przedstawia zakadk konfiguracji. + +\subsection{Przykadowe wywoania \cmdname{tlmgr} z~linii polece} + +Poniszy przykad dodaje kilka pakietw, wcznie z nowym ,,silnikiem'', +z~innego ni domylne pooenia rda instalacji: + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +Generuje on poniszy wynik: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +Jak wida, \prog{tlmgr} instaluje zalene pakiety i~dba o~niezbdne czynnoci +poinstalacyjne, wcznie z~aktualizacj bazy danych nazw plikw i~powtrnym +wygenerowaniem formatw (w przykadzie wygenerowalimy nowy format dla +\XeTeX). + +Poniszy przykad prezentuje instalacj nowego jzyka oraz uruchamia powtrne +wygenerowanie formatw: +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +Aby wywietli informacj o~pakiecie, naley uruchomi np.: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +co daje w~wyniku +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +Aktualizacja caej instalacji do najnowszej dostpnej wersji: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +Aby unikn zdenerwowania, proponujemy zacz od: +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +albo +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +Pen dokumentacj programu pokae polecenie: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{Uwagi dotyczce Windows} +\label{sec:windows} + +\TL\ ma tylko jeden program instalacyjny, dziaajcy zarwno w~Unix, +jak i~w~Windows. Stworzenie takiego programu byo moliwe dopiero +po zaniechaniu wsparcia dla starszych wersji Windows. Obecnie +\TL\ mona instalowa tylko w~Windows 2000 i~nowszych. + +\subsection{Cechy specyficzne w~systemie Windows} +\label{sec:winfeatures} + +W systemie Windows program instalacyjny wykonuje kilka dodatkowych czynnoci: +\begin{description} +\item[Menu i skrty.] W~menu systemowym instalowane jest podmenu ,,\TL'', +ktre zawiera kilka pozycji dla programw dziaajcych w~trybie graficznym +(\prog{tlmgr}, \prog{texdoctk}, PS\_View -- przegldarka plikw +postscriptowych) oraz dokumentacji. Dla PS\_View tworzony jest take +skrt (ikona) na pulpicie, umoliwiajcy ,,przeciganie\dywiz upuszczanie'' +na ikonie plikw postscriptowych. +\item[Automatyczne ustawienie zmiennych rodowiska.] +Po instalacji nie s wymagane adne ,,rczne'' zmiany ustawie. +\item[Odinstalowanie.] Program instalacyjny rejestruje instalacj +w~menu ,,Dodaj/Usu programy'' w~Panelu sterowania; odinstalowanie +odbywa si zatem w~standardowy dla Windows sposb. +\end{description} + +\subsection{Programy pomocnicze dla Windows} + +Aby instalacja bya kompletna, \TL{} wymaga kilku pomocniczych +programw, ktre nie s dostarczane z~systemem Windows. +Wiele skryptw napisano w~jzyku Perl, ponadto wiele narzdzi wymaga +programu Ghostscript (interpretera jzyka PostScript) do +rasteryzacji bd konwersji plikw. Przydatne s take w~wielu wypadkach +rne programy do obrbki grafiki. Ponadto posiadanie edytora +zorientowanego na rodowisko \TeX{} znacznie uatwi prac. + +Wszystkie te programy dla Windows mona dosy atwo znale w~sieci, +poniewa jednak jest ich spory wybr, postanowilimy te najbardziej istotne +umieci w~dystrybucji \TL: +\begin{description} +\item[Perl i Ghostscript.] Oba te programy s niezbdne do +poprawnego dziaania \TL, doczylimy zatem \cmdname{Ghostscript} 8.62 +i~minimaln dystrybucj \cmdname{Perl} 5.8, wystarczajc do +uruchomienia wszystkich, zawartych w~\TL{} skryptw perlowych; +oba programy zostay ,,ukryte'', to znaczy tylko programy \TL, ktre +z~nich korzystaj, ,,wiedz'' gdzie je znale; tym samym nie powinny +kolidowa z~ewentualnie zainstalowanymi w~systemie programami Perl +i~Ghostscript; +\item[narzdzia uruchamiane z~linii polece] -- zestaw kilku przydatnych + programw + %(\texttt{bzip2}, %% NIE MA!! (SW) + (\texttt{gzip}, \texttt{unzip}, \texttt{jpeg2ps} i~\texttt{tiff2png}) + a~take kilka narzdzi z~zestawu \cmdname{xpdf}, uruchamianych z~linii + polece (sam \cmdname{xpdf} nie jest dostpny dla Windows, + mona jednak pobra z~internetu opart na nim przegldark \acro{PDF}: + \url{http://blog.kowalczyk.info/software/sumatrapdf}); +\item[\texttt{fc-cache}] -- program rejestrujcy dla \XeTeX-a fonty + systemowe lub dostarczane w~dystrybucji \TL{} fonty OpenType; +\item[PS\_View] -- nowy program podgldu plikw postscriptowych (a~take + plikw \acro{PDF}), patrz rys.~\ref{fig:psview}. +\end{description} +\begin{description} +\item[katalog \texttt{support,}] wspomniany ju w~czci~\ref{sec:tld}, + zawiera rne programy, ktre mog by uyteczne w~rodowisku \TeX-owym + (np. edytory/rodowiska dla \TeX-a); programy te \emph{nie s} uwzgldniane + podczas instalacji samego \TL, naley je wic zainstalowa samodzielnie. +\end{description} + +\begin{figure}[h] +\begin{center} +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: umoliwia bardzo due powikszenia!}\label{fig:psview} +\end{center} +\end{figure} + +Poniej zamieszczono list miejsc, z~ktrych mona pobra programy +pomocnicze: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.perl.org} (uzupeniajce, przydatne + pakiety naley pobra z~zasobw CPAN \url{http://cpan.org}) +\item[ImageMagick] -- bogaty zestaw narzdzi do wsadowego przetwarzania + plikw graficznych (\url{http://www.imagemagick.com}) +\item[NetPBM] -- do przetwarzania i~konwersji plikw graficznych moemy + uy alternatywnego dla \textsf{ImageMagick} programu NetPBM + (\url{http://netpbm.sourceforge.net/}) +\item[Edytory dla systemu \TeX{}] -- spory wybr programw, uwzgldniajcy + indywidualne preferencje uytkownika: + \begin{itemize*} + \item \cmdname{GNU Emacs} -- w~wersji zintegrowanej z~\textsf{AucTeX} + dostpny jest w~\TL{} w~katalogu \path{support/} + (\url{ftp://alpha.gnu.org/gnu/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{WinShell} -- prosty edytor/shell, dostpny na \TL + w~katalogu \dirname{support/WinShell} (\url{http://www.winshell.de}) + \item \cmdname{WinEdt} -- bogaty w~funkcje edytor dla \TeX-a, dostpny jako + \emph{shareware} (\url{http://www.winedt.com}) + \item TeXnicCenter -- kolejny, dosy bogaty w~funkcje edytor + (\url{http://www.toolscenter.org/products/texniccenter/}) + \item \cmdname{Vim} -- rozbudowany i~bardzo funkcjonalny edytor, wywodzcy si + z~klasycznego dla systemw Unix edytora \cmdname{vi} + %, dostpny na \TL{} w~katalogu \dirname{support/vim} + (\url{http://www.vim.org}) + \item \cmdname{LEd} -- polski edytor, dostpny + z~\url{http://www.ctan.org/support/LEd} + \item \cmdname{SciTE} -- edytor dostpny + z \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +%Moemy zainstalowa z~sieci take inne narzdzia, ktrych zabrako na +%\TL{} z~powodw licencyjnych. Przykadem jest tu \cmdname{GSView}, +%wygodny program wykorzystujcy \cmdname{Ghostscript} do wywietlania +%i~drukowania plikw PS/PDF. Dostpny jest on m.in. +%na \url{http://www.cs.wisc.edu/~ghost/gsview/}, a~take na kadym serwerze +%\acro{CTAN}. + +\subsection{Program Dviout} + +Obecne wydanie \TL{} nie oferuje niestety preinstalowanego programu do +podgldu plikw \acro{DVI} dla Windows, mona jednak samodzielnie +zainstalowa doskonay \prog{dviout}, autorstwa Toshio Oshimy. Znajdziemy go +w~katalogu \path{support/dviout/}, zawierajcym rwnie krtki plik +\filename{README} omawiajcy, 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 dotyczce generowania fontw +stan si rzadsze. Wicej informacji mona 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 uytkownika (HOME) jest +w~Windows katalog okrelany zmienn \verb|%USERPROFILE%|. W~Windows +2000 i~XP jest to zazwyczaj katalog +\verb|C:\Documents and Settings\<nazwa_uytkownika>|, za w~Windows Vista +\verb|C:\Users\<nazwa_uytkownika>|. W~pliku konfiguracyjnym +\filename{texmf.cnf} i~bibliotekach \KPS{} znak \verb|~| +jest poprawnie rozwijany do odpowiedniej zmiennej zarwno w~Windows, jak +i~w~Unix. + +\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 gwnych. Najbardziej istotne dla programw instalacyjnych +s klucze \path{HKEY_CURRENT_USER} oraz \path{HKEY_LOCAL_MACHINE} +(w~skrcie \path{HKCU} i \path{HKLM}). Cz \path{HKCU} dotyczy katalogw +domowych uytkownikw (patrz~\ref{sec:winhome}), za \path{HKLM} -- podkatalogw +systemowych (w~katalogu Windows). + +Informacje o~ustawieniach systemu mona czasem uzyska ze zmiennych +rodowiska, ale po inne informacje, np. pooenie tzw. skrtw, trzeba +odwoa si do rejestru. Take zapis zmiennych rodowiska na stae wymaga +dostpu do rejestru. + +\subsection{Uprawnienia w Windows} +\label{sec:winpermissions} + +%%! UWAGA SW: caa ta cz jest mocno niejasna w oryginale. Tumaczyem +%%! j majc na uwadze oglny sens, w niektrych miejscach doprecyzowujc +%%! sformuowania. Ale i tak jest, wg mnie, do bani :-) + +W nowszych wersjach Windows istnieje wyrane rozrnienie midzy +zwykymi uytkownikami i~administratorami, przy czym tylko ci ostatni maj +pen swobod dostpu do caoci 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. + Dooono wielu stara, aby umoliwi instalacj \TL{} take osobom bez + uprawnie administratora. + +Jeli osoba instalujca jest administratorem, to skrty s tworzone dla +wszystkich uytkownikw, take zmienne rodowiska s ustawiane dla caego +systemu. W~przeciwnym wypadku skrty i~menu s tworzone jedynie dla konkretnego +uytkownika, take definiowane zmienne rodowiska dotycz zwykych +uytkownikw. Majc uprawnienia admistratora moemy zainstalowa \TL{} tylko +dla uytkownikw; naley wtedy uruchomi \prog{install-tl} z~parametrem +\optname{-non-admin}. + +Bez wzgldu na status uytkownika domylnym katalogiem gwnym instalacji +jest katalog w~ramach \verb|%PROGRAMFILES%|. Program instalacyjny zawsze +sprawdza, czy ten katalog jest dostpny do zapisu dla aktualnego uytkownika. + +Problem moe si pojawi wtedy, gdy uytkownik instalujcy \TL{} nie jest +administratorem, a~programy \TeX-owe ju s w~ciece przeszukiwania. +Wynikowa cieka zawiera wtedy ciek systemow, do ktrej dodano ciek do +programw uytkownika. W~konsekwencji nie bd znajdowane nowo instalowane +programy. W~celu obejcia tego problemu program instalacyjny tworzy skrt do +okna z~wierszem polece, w~ktrym cieka do nowych programw \TL{} ma +priorytet. W~ten sposb, po uruchomieniu tego skrtu, bdzie mona korzysta +z~\TL. + +%%% Zostawione z poprzedniej wersji tylko w polskim tumaczeniu! + +\subsection{\cmdname{WinShell}}\label{sec:winshell} + +Jeli nie decydujemy si na instalowanie rozbudowanego (ale i~bardzo +bogatego w~funkcje) edytora Emacs, moemy samodzielnie zainstalowa prosty +i~atwy w~obsudze edytor WinShell. Znajdziemy go na pytce w~katalogu +\dirname{support/winshell}. Wystarczy dwukrotnie klikn klawiszem myszy +na znajdujcym si tam pliku \texttt{.exe}. +Program uruchamiamy z~menu Start bd z~ikony/skrtu na pulpicie. +Dostosowanie do polskiej wersji Windows wymaga, prcz okrelenia jzyka +dla menu i~komunikatw, uycia menu +\verb+Opcje+ (Options) \verb+->+ \verb+Font+ \verb+->+ \verb+Zmie+ +i~wyboru w~wywietlonym oknie \texttt{Skrypt} +napisu \texttt{Europa rodkowa}. +Dziki temu poprawnie bd wywietlane polskie znaki diakrytyczne, +wpisywane za pomoc prawego klawisza Alt. + +Aby skonfigurowa uruchamianie programw, otwieramy menu +\texttt{Options} \verb+->+ \texttt{Program Calls}. + +\begin{itemize}\itemsep 0pt +\item W zakadce DVIWin, w~polu ,,exe-file'', wpisujemy +\texttt{dviout.exe} (o~ile go wczeniej zaistalowalimy). +\item W zakadce Ghostview wpisujemy psv.bat. + %sprawdzi, czy prawidowo podano + %ciek dla gsview32.exe:\\ + %\hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (dla wersji 3.6 + %i~nowszych). +\end{itemize} +Po wciniciu przycisku \texttt{OK} zatwierdzamy zmiany. + +Instalacja programu ustawia w~Windows skojarzenie plikw \texttt{.tex} +z~uruchamianiem \cmdname{WinShell}. O~ile nie zamierzamy korzysta +z~innego edytora (jak WinEdt lub Emacs), jest to poprawne. + +\cmdname{WinShell} jest wyposaony w~modu pomocy, dostpnej po +naciniciu symbolu $\textbf{\underbar{?}}$ na pasku z~narzdziami. + +\subsubsection{Uycie plikw ,,projektu''} + Wielokrotnie mamy do czynienia z~dokumentami skadajcymi si z~wielu +czci. Najwygodniej gdy s one zapisane w~odrbnych plikach. +\cmdname{WinShell} umoliwia utworzenie pliku projektu (\textit{Project +file}), w~ktrym deklarujemy poszczeglne czci wikszego dokumentu. Nazwy +plikw projektu: traktowanego jako gwny (\textit{Main file}) oraz plikw +czci s wywietlane w~lewym oknie edytora. Dwukrotne kliknicie mysz na +nazwie pliku powoduje jego wywietlenie w~gwnym oknie edytora. Nacinicie +ikony LaTeX na belce narzdziowej uruchamia zawsze przetwarzanie gwnego +pliku, bez wzgldu na to, ktry plik jest aktualnie wywietlany. + +Na belce narzdziowej mamy dodatkowe przyciski, pozwalajce wyczy lub +wczy wywietlanie okna projektu (po lewej stronie) i~okna zapisu sesji +(log) -- u~dou. Gdy plik projektu nie jest uywany, lew cz okna mona +zamkn, zyskujc w~ten sposb ca szeroko ekranu dla edytowanego pliku. + +\subsubsection{Drukowanie z~\cmdname{WinShell} na drukarce PostScriptowej} +\label{winshell:print} + Ikona Dvips belki narzdziowej uruchamia program, ktry wynik pracy +zapisuje zwykle w~pliku \verb+.ps+. Ogldanie i/lub drukowanie takiego pliku +wymaga uruchomienia + %GSView. + PS\_View. + \cmdname{WinShell} pozwala zdefiniowa +wygodne wywoanie polecenia dvips, ktre wynik przetwarzania wyle od razu +do drukarki wyposaonej w~interpreter PostScript. Przykadowo, dla drukarki +o~nazwie \texttt{vclw}, postpowanie bdzie nastpujce: +\begin{enumerate} +\item Deklaracja danej drukarki w programie: +\begin{itemize} +\item otworzy \cmdname{WinShell}, wybra menu \texttt{Opcje} \verb+->+ + \texttt{Programy uytkownika}. +\item wybra \texttt{Tool 1} w~spisie po prawej stronie i~wypeni pola + po stronie lewej, np.:\vspace{-3pt} + \begin{quote} + Name: \verb+Drukuj+\\ + exe file: \verb+dvips+\\ + cmd-line: \verb+ -D600 %c.dvi -o vclw+\\ + skasowa zaznaczenie okienka ,,najpierw DVIPS'' +\end{quote}%\vspace{-12pt} +\item nacisn \texttt{OK}. +\end{itemize} +\item Dodanie polecenia ,,Drukuj'' do belki narzdziowej: +\begin{itemize} +\item wybra menu \texttt{Opcje} \verb+->+ \texttt{Przegldaj} \verb+->+ + \texttt{Dostosuj paski}; +\item w~okienku \verb+Kategoria+ wybra \texttt{Programy uytkownika}; +\item wskaza \texttt{Drukuj} i~przecign go mysz na belk narzdziow, + umieszczajc w~dowolnym miejscu obok innych polece; +\item w kolejno wywietlanym oknie dokona wyboru: ,,Tylko obrazek'' + (\textit{Image only}), ,,Tylko tekst'' lub ,,Tekst i~obrazek''; najprociej + wybra ,,Tylko tekst'' i~zatwierdzi guzikiem \texttt{OK}. + Napis \texttt{Drukuj} ukae si na belce. (Bardziej wymagajcy uytkownicy + mog wybra opcj ,,Tylko obrazek'', nastpnie ,,Edytuj'' i~skonstruowa + sobie wasn ikonk.) +\end{itemize} +\end{enumerate} +Uruchamianie polecenia zostao zdefiniowane. Aby drukowa bezporednio na +drukarce, wystarczy teraz nacisn guzik z~napisem ,,Drukuj''. + +\subsection{W razie problemw} +\label{troubleshooting} + +\subsubsection{Co zrobi gdy \texttt{latex} nie moe znale potrzebnych +plikw?} + +\begin{itemize} +\item Program \cmdname{kpsewhich} jest podstawowym narzdziem do diagnozowania + problemw. Wyprowadza on informacje diagnostyczne na wyjcie stderr, przy +czym konsole (okienka wierszy polece) starszych systemw Windows nie +potrafi przekierowa stderr do pliku. Umoliwia to dopiero system Windows +NT i~pniejsze, ale rozwizanie przedstawione poniej dziaa dla kadej +konsoli (okienka wierszy polece). Ot dla celw diagnostycznych mona +tymczasowo zdefiniowa zmienn rodowiska (w~oknie polece): +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +Mona rwnie zada zakres diagnostyki: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Podobnie, aby przekierowa wyjcie stderr na stdout: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +W ten sposb mona skierowa zarwno stderr, jak i stdout do tego samego pliku. +\item Przy zaoeniu, e instalacj wykonano w \path|c:/TeX|, naley + sprawdzi (porwna) nastpujce wartoci:\\ + {\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} +} + +Jeli w otoczeniu systemowym s zdefiniowane zmienne zwizane z~\TeX-em, +naley je usun, maj bowiem pierwszestwo przed tymi, +ktre okrelono w~pliku \filename{texmf.cnf}. +\item Nastpnie naley sprawdzi (porwna) wartoci:\\ +{\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} +} + +Jeli sprawdzenia nie wykazay odstpstw, to \TeX{} i~programy towarzyszce +powinny dziaa. Jeli tak nie jest, naley poeksperymentowa z opcj +\path|-debug=n| programu \path|kpsewhich| i~zweryfikowa wszystkie uzyskane +wartoci. Po zidentyfikowaniu problemu warto go zgosi. +\end{itemize} + +%-------------------------- +% don't use \Webc so the \uppercase in the headline works. +\section{Instrukcja obsugi systemu Web2C} + +\Webc{} to zestaw programw zwizanych z~\TeX-em, tj. sam \TeX{}, \MF{}, +\MP, \BibTeX{} itd. Stanowi one rdze dystrybucji \TL. + +Oryginalna implementacja wykonana zostaa przez Tomasa Rokickiego, ktry +w~roku 1987 stworzy pierwszy system \TeX{}-to-C, adaptujc pliki wymiany +(\emph{change files}) pod Unix-em (pierwotnie byy one dzieem Howarda +Trickey'a oraz Pavela Curtisa). W~czasie, gdy Tim Morgan zajmowa si +systemem, jego nazwa zostaa zmieniona na Web-to-C\@. W~1990 roku prace nad +projektem przej Karl Berry wraz z~dziesitkami wsppracownikw, a~w~roku +1997 paeczk przej Olaf Weber. + +\Webc{} dziaa na platformach systemowych, takich jak Unix (w~tym \MacOSX), +Windows 9x/\acro{NT/2K/XP} i~innych. +System wykorzystuje oryginalne rda \TeX-owe autorstwa Donalda Knutha +oraz inne programy napisane w~\web{} i~tumaczy je na kod rdowy~C. +Ponadto system udostpnia spory zestaw makr i~funkcji stworzonych dla +zwikszenia funkcjonalnoci oryginalnych zasobw oprogramowania +zwizanego z~\TeX-em. Podstawowymi skadnikami systemu s: + +\begin{cmddescription} +\item[bibtex] tworzenie spisw bibliograficznych; +\item[dmp] konwersja \cmdname{troff} do MPX (rysunki \MP{}-owe); +\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[makempx] skad etykiet \MP{}-owych; +\item[mf] generowanie fontw bitmapowych w formacie GF; +\item[mft] skad plikw rdowych \MF{}-a; +\item[mpost] tworzenie rysunkw oraz diagramw technicznych; +\item[mpto] ekstrakcja etykiet \MP{}-owych; +\item[newer] porwnywanie czasw modyfikacji; +\item[patgen] tworzenie wzorcw przenoszenia wyrazw; +\item[pktogf] zamiana fontw w formacie PK na fonty GF; +\item[pktype] zamiana fontu PK na plik tekstowy (ASCII); +\item[pltotf] konwersja tekstowej listy waciwoci do TFM; +\item[pooltype] wywietlanie \web-owych plikw pool; +\item[tangle] konwersja \web{} do jzyka Pascal; +\item[tex] skad tekstu; +\item[tftopl] konwersja TFM do tekstowej listy waciwoci (PL); +\item[vftovp] konwersja fontw wirtualnych do wirtualnej listy + waciwoci (VPL); +\item[vptovf] konwersja wirtualnej listy waciwoci do fontw wirtualnych; +\item[weave] konwersja \web{} do \TeX-a. +\end{cmddescription} + +\noindent +Dokadny opis funkcji oraz skadni tych programw zawarty jest +w~dokumentacji poszczeglnych pakietw samego \Webc{}. +Do optymalnego korzystania z~instalacji \Webc{} +przyda si znajomo kilku zasad rzdzcych ca rodzin programw. + +Wszystkie programy obsuguj standardowe opcje \acro{GNU}: +\begin{description} +\item[\texttt{-{}-help\ \ \ }] podaje podstawowe zasady uytkowania; +\item[\texttt{-{}-verbose}] podaje dokadny raport z~dziaania programu; +\item[\texttt{-{}-version}] podaje informacj o~wersji, po czym koczy + dziaanie programu. +\end{description} + +Do lokalizowania plikw programy oparte na \Webc{} uywaj biblioteki do +przeszukiwania cieek zwanej \KPS{}. +Dla optymalizacji przeszukiwania \TeX-owego drzewa podkatalogw biblioteka ta +uywa kombinacji zmiennych rodowiskowych oraz kilku plikw konfiguracyjnych. +\Webc{} potrafi obsugiwa jednoczenie wicej ni jedno drzewo +podkatalogw, co jest uyteczne w~wypadku, gdy chce si przechowywa +standardow dystrybucj \TeX-a jak i~lokalne rozszerzenia w~dwch rnych +drzewach katalogw. +Aby przyspieszy poszukiwanie plikw, katalog gwny kadego drzewa ma swj +plik \file{ls-R}, zawierajcy pozycje okrelajce nazw i~wzgldn ciek +dla wszystkich plikw zawartych w~tym katalogu. + +\subsection{Przeszukiwanie cieek przez Kpathsea} +\label{sec:kpathsea} + +Opiszemy najpierw oglny mechanizm przeszukiwania cieek przez bibliotek +\KPS{}. + +Tym, co nazywamy \emph{ciek przeszukiwania}, jest rozdzielona dwukropkami +lub rednikami lista \emph{elementw cieki}, ktre zasadniczo s nazwami +podkatalogw. cieka przeszukiwania moe pochodzi z~(kombinacji) wielu +rde. Przykadowo, aby odnale plik \samp{my-file} w~ciece +\samp{.:/dir}, \KPS{} sprawdza istnienie danego elementu cieki +w~nastpujcej kolejnoci: najpierw \file{./my-file}, potem +\file{/dir/my-file}, zwracajc pierwszy odnaleziony (lub moliwie wszystkie). + +Aby optymalnie zaadaptowa si do konwencji wszystkich systemw operacyjnych, +na systemach nieunixowych \KPS{} moe uywa +jako separatorw nazw cieek znakw innych +ni dwukropek (\samp{:}) oraz ,,ciach'' (\samp{/}). + +W~celu sprawdzenia konkretnego elementu \var{p} cieki, \KPS{} najpierw +sprawdza, czy zbudowana wczeniej baza danych (patrz ,,Baza nazw plikw'' na +stronie~\pageref{Filename-database}) odnosi sie do \var{p}, tj. +czy baza danych znajduje si w~podkatalogu z~prefiksem~\var{p}. +Jeeli tak, to specyfikacja cieki jest porwnywana z~zawartoci bazy. + +Jeli baza danych nie istnieje bd nie odnosi si do danego elementu +cieki albo te nie zawiera elementw zgodnych, to przeszukiwany jest system +plikw (jeeli nie zostao to zabronione przez specyfikacj rozpoczynajc +si od~\samp{!!}\ oraz jeeli poszukiwany plik musi istnie). +\KPS{} konstruuje list podkatalogw, ktre koresponduj z~danym elementem +cieki, a~nastpnie sprawdza w~kadym z~nich, czy nie ma tam poszukiwanego +pliku. + +Warunek mwicy, e ,,plik musi istnie'' dotyczy np. plikw \samp{.vf} +i~plikw doczanych \TeX-owym poleceniem \cs{openin}. +Takiego pliku moe nie by (np. \file{cmr10.vf}), bdne byoby zatem +poszukiwanie go na dysku. +Jeli wic zapomnisz o~aktualizacji \file{ls-R} po instalacji nowego +pliku \samp{.vf}, to nie zostanie on odnaleziony. +Kady element cieki sprawdzany jest w~nastpujcej kolejnoci: najpierw +w~bazie danych, potem na dysku. +Jeeli plik si znajdzie, to przeszukiwanie zostanie zatrzymane i~zwrcony +zostanie wynik. + +Poniewa najprostszym i~najbardziej powszechnym elementem cieki jest +nazwa katalogu, \KPS{} korzysta z~dodatkowych moliwoci w~przeszukiwaniu +cieek: +wielowarstwowych wartoci domylnych, zmiennych rodowiskowych, wartoci +pliku konfiguracyjnego, lokalnych +podkatalogw uytkownika oraz rekursywnego przeszukiwania podkatalogw. +Mona wic powiedzie, e \KPS{} \emph{rozwija} element cieki, tzn. +transformuje wszystkie specyfikacje do podstawowej nazwy lub nazw katalogw. +Jest to opisane w~kolejnych akapitach, w~kolejnoci w~jakiej ma to miejsce. + +Trzeba zauway, e jeeli nazwa poszukiwanego pliku jest +absolutna lub jawnie wzgldna, 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{Przykad pliku konfiguracyjnego} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{rda cieek} +\label{Path-sources} + +Nazwa przeszukiwanej cieki moe pochodzi z~wielu rde. +Oto kolejno, w~jakiej \KPS{} ich uywa: + +\begin{enumerate} +\item + Zmienna rodowiskowa ustawiana przez uytkownika, np. + \envname{TEXINPUTS}. + Zmienne rodowiskowe z~doczon kropk i~nazw programu zastpuj inne, + np. jeeli \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}, zawierajcy tak lini, + jak \samp{TEXINPUTS=/c:/d} (patrz poniej). +\item Wartoci domylne dla uruchamianych programw. +\end{enumerate} +\noindent Kad z~tych wartoci dla danej cieki przeszukiwania mona +zobaczy, uywajc opcji diagnostyki bdw (patrz ,,Diagnostyka bdw'' na +stronie~\pageref{sec:debugging}). + +\subsubsection{Pliki konfiguracyjne} + +\tolerance=3500 + \KPS{} szuka cieek przeszukiwania i~innych definicji w~\emph{plikach +konfiguracyjnych} o~nazwach \file{texmf.cnf}. +cieka przeszukiwania uywana do znajdowania tych plikw okrelana jest +przez zmienn \envname{TEXMFCNF} (domylnie taki plik znajduje si w~podkatalogu +\file{texmf/web2c}). +Czytane bd \emph{wszystkie} pliki \file{texmf.cnf} w~ciece +przeszukiwania, +a~definicje we wczeniejszych plikach zastpi te w~pniejszych. +Tak wic w~ciece \verb|.:$TEXMF| wartoci pochodzce z~\file{./texmf.cnf} +zastpi te z~\verb|$TEXMF/texmf.cnf|. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Dociekliwy czytelnik moe by zainteresowany sposobem, w~jaki programy +znajduj plik \file{texmf.cnf}, skoro nie ma koniecznoci deklarowania +specyficznej zmiennej rodowiskowej systemu. Ot pooenie domylne jest +wkompilowane w~programy jako wzgldne do ich pooenia (okrelanego, jak +wiemy, w~ciece specyfikowanej przez \texttt{\$PATH}): +\path{../../texmf/web2c/} bd \path{../texmf/web2c/}. Jeli jawnie +deklarujemy zmienn \envname{TEXMFCNF}, wymagane jest podanie bezwzgldnej +cieki. + +Czytajc zamieszczony poniej opis formatu pliku \file{texmf.cnf}, +warto przeglda jego zawarto. Pooenie \emph{aktywnego} pliku +znajdziemy za pomoc polecenia \texttt{kpsewhich texmf.cnf}. + +\begin{itemize} +\item + Komentarze zaczynaj si od ,,\texttt{\%}'', a~kocz na kocu wiersza. +\item + Puste wiersze nie s brane pod uwag. +\item + Znak \bs{} na kocu wiersza dziaa jako znak kontynuacji, tzn. + oznacza, e kolejny wiersz jest kontynuacj biecego. + Spacja na pocztku kolejnego wiersza nie jest ignorowana. +\item + Pozostae wiersze maj posta: +\begin{alltt} + \emph{zmienna}[.\emph{program}] [=] \emph{warto} +\end{alltt}% + gdzie \samp{=} i~otaczajce spacje s opcjonalne. +\item + ,,\texttt{\var{zmienna}}'' zawiera moe dowolne znaki poza spacj, + \samp{=}, lub \samp{.} (kropk), najbezpieczniej jednak uywa znakw + 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 rnym odmianom \TeX-a stosowa + rne cieki przeszukiwania. +\item ,,\texttt{\var{warto}}'' zawiera moe dowolne znaki poza + ,,\texttt{\%}'' i \samp{@}. + Nie mona uywa konstrukcji ,,\texttt{\$\var{zmienna}.\var{program}}'' + po prawej stronie. Zamiast tego trzeba zastosowa zmienn pomocnicz. + rednik \samp{;}\ uyty w~,,\texttt{\var{warto}}'' zamieniany jest na + \samp{:}\ jeeli systemem operacyjnym jest Unix; umoliwia to istnienie + wsplnego pliku \file{texmf.cnf} dla systemw Unix oraz Windows. +\item + Wszystkie definicje czytane s zanim cokolwiek zostanie rozwinite, tak + wic do zmiennych mona si odwoywa przed ich zdefiniowaniem. +\end{itemize} +Oto fragment pliku konfiguracyjnego, ilustrujcy wikszo opisanych powyej +regu notacji: +\ifSingleColumn +\verbatiminput{examples/ex5.tex} +\else +jest pokazany na rys.~\ref{fig:config-sample}. +\fi + +\subsubsection{Rozwijanie cieek} +\label{Path-expansion} + +\KPS{} rozpoznaje w~ciekach przeszukiwania pewne specjalne znaki oraz +konstrukcje, podobne do tych dostpnych w~powokach Unix. +Jako oglny przykad: zoona cieka +\verb+~$USER/{foo,bar}//baz+ rozwija si do wszystkich podkatalogw pod +katalogami \file{foo} i~\file{bar} w~katalogu gwnym \texttt{\$USER}, +ktre zawieraj katalog lub plik \file{baz}. +Rozwinicia te opisane s w~poniszych podrozdziaach. + +\subsubsection{Rozwijanie domylne} +\label{Default-expansion} + +\tolerance=2500 +Jeeli cieka przeszukiwania najwikszego uprzywilejowania (patrz ,,rda +cieek'' na stronie~\pageref{Path-sources}) zawiera +\emph{dodatkowy dwukropek} (np. na pocztku, na kocu lub podwjny) to \KPS{} +wstawia w~tym miejscu nastpn zdefiniowan w~hierarchii uprzywilejowania +ciek przeszukiwania. +Jeeli ta wstawiona cieka ma dodatkowy dwukropek, to dzieje si dalej to samo. +Przykadowo, jeeli 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} +kocow wartoci uyt w~przeszukiwaniu bdzie: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Poniewa nieuytecznym byoby wstawia warto domyln w~wicej ni jednym +miejscu, \KPS{} zmienia tylko jeden dodatkowy \samp{:}\ i~pozostawia +inne bez zmian. \KPS{} najpierw szuka dwukropkw na pocztku linii, potem na kocu, +a~nastpnie podwjnych. + +\subsubsection{Rozwijanie nawiasw} + +Uyteczna jest moliwo rozwijania nawiasw, co oznacza, e np. +\verb+v{a,b}w+ rozwija si do \verb+vaw:vbw+. +Nawiasy mona te zagnieda. +Funkcji tej mona uy do zaimplementowania rnych hierarchii \TeX-owych +przez przypisanie listy nawiasw do \code{\$TEXMF}. Przykadowo, +w~pliku \file{texmf.cnf} mona znale nastpujc definicj: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +Uywajc jej, mona nastpnie napisa co w~rodzaju: +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +co oznacza, e po szukaniu w~katalogu biecym bd przeszukane kolejno +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +i~\code{\$TEXMFMAIN/tex} (wszystkie wraz z~katalogami niszego poziomu; +dwie ostatnie cieki \emph{wycznie} na podstawie zawartoci +pliku \file{ls-R}). +Jest to wygodny sposb na uruchamianie dwch rwnolegych struktur \TeX-owych, +jednej ,,zamroonej'' (np. na \CD), a~drugiej cigle uaktualnianej nowo +pojawiajcymi si wersjami. +Uywajc zmiennej \code{\$TEXMF} we wszystkich definicjach daje pewno, +e najpierw przeszukiwane jest drzewo uaktualnione. + +\subsubsection{Rozwijanie podkatalogw} +\label{Subdirectory-expansion} + +Dwa lub wicej kolejnych ,,ciachw'' (,,/'') w~elemencie cieki, +wystpujcych po nazwie katalogu~\var{d}, zastpowanych jest przez wszystkie +podkatalogi~\var{d}, najpierw podkatalogi znajdujce si bezporednio +pod~\var{d}, potem te pod powyszymi i~tak dalej. Na kadym etapie +kolejno, w~jakiej przeszukiwane s katalogi, jest \emph{nieokrelona}. + +Jeli wyszczeglni si czony nazwy pliku po \samp{//}, to uwzgldnione zostan +tylko te podkatalogi, ktre zawieraj powysze czony. +Na przykad \samp{/a//b} rozwija si do katalogw \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}. + +Moliwe jest wielokrotne uycie \samp{//} w~ciece, jednake \samp{//} +wystpujce na pocztku cieki nie jest brane pod uwag. + +\subsubsection{Lista znakw specjalnych i~ich znacze -- podsumowanie} + +Ponisza lista podsumowuje znaczenie znakw specjalnych w~plikach +konfiguracyjnych. + +\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}] znak rozdzielajcy w~specyfikacji cieki; umieszczony na +pocztku lub na kocu cieki zastpuje domylne rozwinicie cieki; +\item[\CODE{;}] znak rozdzielajcy dla systemw nieuniksowych + (dziaa tak jak ,,\code{:}''); +\item[\CODE{\$}] rozwijanie zmiennej; +\item[\CODE{\string~}] oznacza katalog gwny uytkownika; +\item[\CODE{\char`\{\dots\char`\}}] rozwijanie nawiasw, np. + \verb+a{1,2}b+ zmieni si w~\verb+a1b:a2b+; +\item[\CODE{//}] rozwijanie podkatalogw (moe wystpi gdziekolwiek + w~ciece, poza jej pocztkiem); +\item[\CODE{\%}] pocztek komentarza, obejmujcego wszystkie znaki do koca + linii; +\item[\CODE{\bs}] znak kontynuacji (pozwala na przeamanie wiersza + z~wyraeniem); +\item[\CODE{!!}] przeszukiwanie \emph{tylko} bazy danych, + a~\emph{nie} dysku. +\end{description} + + +\subsection{Bazy nazw plikw} +\label{Filename-database} + +Podczas przeszukiwania \KPS{} stara si zminimalizowa dostp do dysku. +Niemniej, w~przypadku instalacji ze zbyt du liczb katalogw +przegldanie kadego dopuszczalnego katalogu w~poszukiwaniu pliku moe +zabiera sporo czasu (ma to miejsce zwaszcza, jeeli przeszuka trzeba setki +katalogw z~fontami). +Dlatego te \KPS{} moe uywa zewntrznego pliku z~,,baz danych'' +o~nazwie \file{ls-R}, ktry zawiera przypisania plikw do katalogw. +Unika si w~ten sposb czasochonnego przeszukiwania dysku. + +Drugi plik z~baz danych -- \file{aliases} -- pozwala na nadawanie +dodatkowych nazw plikom zawartym w~\file{ls-R}. +Moe to by pomocne do adaptacji do DOS-owej konwencji ,,8.3'' nazewnictwa +plikw w~plikach rdowych. + +\subsubsection{Baza nazw plikw} +\label{ls-R} + +Jak ju wspomniano powyej, plik zawierajcy gwn baz nazw +plikw musi nosi nazw \file{ls-R}. +W~katalogu podstawowym kadej hierarchii \TeX-owej (domylnie \code{\$TEXMF}), +ktr chcemy wczy w~mechanizm przeszukiwania, umieszcza mona po jednym +pliku \file{ls-R}; w~wikszoci przypadkw istnieje tylko jedna hierarchia. +\KPS{} szuka pliku \file{ls-R} w~ciece \code{TEXMFDBS}. + +Najlepszym sposobem stworzenia i~utrzymywania pliku \file{ls-R} jest +uruchomienie skryptu \code{mktexlsr}, bdcego skadnikiem dystrybucji. +Jest on wywoywany przez rne skrypty typu \samp{mktex...}. +W~zasadzie skrypt ten jedynie wykonuje polecenie +\begin{alltt} +cd \var{/your/texmf/root} && ls -LAR ./ >ls-R +\end{alltt} +zakadajc, e polecenie \code{ls} danego systemu utworzy waciwy format +strumienia wyjciowego (\acro{GNU} \code{ls} dziaa prawidowo). +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. + +Jeli pliku nie ma w~bazie danych, \KPS{} domylnie przechodzi do +przeszukiwania dysku. Jeeli jednak dany element cieki zaczyna sie od +\samp{!!}, w~poszukiwaniu tego elementu sprawdzona zostanie \emph{jedynie} +baza danych, a~nigdy dysk. + +\subsubsection{kpsewhich -- program do przeszukiwania cieek} +\label{Invoking-kpsewhich} + +Przeszukiwanie cieek przez program \texttt{kpsewhich} jest niezalene od +jakiejkolwiek aplikacji. +Moe on by przydatny jako rodzaj programu \code{find}, za pomoc ktrego +lokalizowa mona pliki w~hierarchiach \TeX-owych (jest on uywany +intensywnie w~skryptach \samp{mktex...} tej dystrybucji). + +\begin{alltt} +> \Ucom{kpsewhich \var{opcje}\dots{} \var{nazwa-pliku}\dots{}} +\end{alltt} +Parametry wyszczeglnione w~,,\texttt{\var{opcje}}'' mog zaczyna si zarwno od +\samp{-}, jak i~od \samp{-{}-}, a~dozwolony jest kady jednoznaczny skrt. + +\KPS{} traktuje kady argument nie bdcy parametrem jako nazw pliku +i~zwraca pierwsz odnalezion nazw. +Nie ma parametru nakazujcego zwracanie wszystkich nazw plikw o~okrelonej +nazwie (w~tym celu mona wykorzysta Unix-owy program \samp{find}). + +Waniejsze parametry opisane s poniej. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\* + Ustaw rozdzielczo na ,,\texttt{\var{num}}''; ma to tylko wpyw na + przeszukiwanie fontw \samp{gf} i~\samp{pk}. Dla zgodnoci + z~\cmdname{dvips} parametr + \samp{-D} dziaa identycznie. Domyln wartoci jest 600. +\item[\texttt{-{}-format=\var{nazwa}}]\mbox{}\\ + Ustawienie formatu (typu pliku) przeszukiwania na ,,\texttt{\var{nazwa}}''. + Domylnie format odgadywany jest z~nazwy pliku. + Dla formatw, ktre nie maj przydzielonego jednoznacznego rozszerzenia, + takich jak niektre pliki \MP{}-owe czy pliki konfiguracyjne + \cmdname{dvips}-a, naley wyszczeglni nazw, ktrych list wywietli + uruchomienie \texttt{kpsewhich -{}-help}. + +\item[\texttt{-{}-mode=\var{napis}}]\mbox{}\\* + Ustaw nazw trybu na ,,\texttt{\var{napis}}''; dotyczy to jedynie szukania + fontw \samp{gf} oraz \samp{pk}. + Brakuje wartoci domylnej -- odnaleziony zostanie dowolny + wyszczeglniony tryb. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + Zrb wszystko co moliwe, aby odnale pliki, wczajc w~to przede wszystkim + przeszukanie dysku. + Domylnie, w~celu zwikszeniu efektywnoci dziaania, sprawdzana jest + tylko baza \file{ls-R}. +\item[\texttt{-{}-path=\var{napis}}]\mbox{}\\ + Szukaj w~ciece ,,\texttt{\var{napis}}'' (rozdzielonej, jak + zwykle, dwukropkami), zamiast zgadywa ciek przeszukiwania z~nazwy + pliku. + \samp{//} i~wszystkie zwyke rozszerzenia s moliwe. + Parametry \samp{-{}-path} oraz \samp{-{}-format} wzajemnie si wykluczaj. +\item[\texttt{-{}-progname=\var{nazwa}}]\mbox{}\\ + Ustaw nazw programu na ,,\texttt{\var{nazwa}}''. + Moe to mie wpyw na ciek przeszukiwania poprzez + ,,\texttt{.\var{program}}'' w~plikach konfiguracyjnych. + Ustawieniem domylnym jest \samp{kpsewhich}. +\item[\texttt{-{}-show-path=\var{nazwa}}]\mbox{}\\ + Pokazuje ciek uywan do poszukiwania plikw typu + ,,\texttt{\var{nazwa}}''. + Uyte moe by zarwno rozszerzenie (\samp{.pk}, \samp{.vf}, etc.), jak + i~nazwa pliku, tak jak w~wypadku parametru \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + ustawia parametry wykrywania bdw na ,,\texttt{\var{num}}''. +\end{ttdescription} + +%Zmienne rodowiskowe domylnie ustawiane s w~pliku konfiguracyjnym +%\file{texmf.cnf}. W~wypadku gdy chce si uniewani wartoci zmiennych +%wyszczeglnione w~tym pliku, mona narzuci ich ustawienie w~rodowisku, +%w~ktrym uruchamiane s programy. + +\subsubsection{Przykady uycia} +\label{SExamplesofuse} + +Przyjrzyjmy sie teraz, jak dziaa \KPS{}. + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Szukamy pliku \file{article.cls}. +Poniewa rozszerzenie \samp{.cls} jest jednoznaczne, nie musimy zaznacza, e +poszukujemy pliku typu ,,tex'' (katalogi plikw rdowych \TeX-a). +Znajdujemy go w~podkatalogu \file{tex/latex/base}, pod katalogiem nadrzdnym +\samp{texmf-dist}. +Podobnie wszystkie ponisze pliki odnajdowane s bez\-pro\-ble\-mo\-wo +dziki 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 artykuw +\textsl{TUGBoat}). + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Pliki czcionek bitmapowych typu \file{.pk} uywane s przez sterowniki, +takie jak \cmdname{dvips} % ??? dvips to chyba nie przegldarka --- +czy \cmdname{xdvi}. % w oryg. byo display programs like dvips... +W~tym wypadku wynik przeszukiwania okae si pusty, poniewa +w~systemie brak gotowych wygenerowanych czcionek \samp{.pk} Computer Modern +(wynika to z~faktu uywania w~\TL{} fontw 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 fontw (alfabetu fonetycznego) musielimy wygenerowa pliki +\samp{.pk}, a~poniewa domylnym \MF{}-owym trybem naszej instalacji jest +\texttt{ljfour} z~podstawow rozdzielczoci 600dpi, zwracany jest taki +wanie 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 dostpna. +Program taki jak \cmdname{dvips} czy \cmdname{xdvi} zatrzymaby si, aby +utworzy pliki \texttt{.pk} w~wymaganej rozdzielczoci (uywajc skryptu +\cmdname{mktexpk}). + +Zwrcimy teraz nasz uwag na pliki nagwkowe i~konfiguracyjne +programu \cmdname{dvips}. +Najpierw szukamy pliku PostScript-owego prologu \file{tex.pro}, +wykorzystywanego dla potrzeb \TeX-a. Drugi przykad pokazuje +poszukiwanie pliku konfiguracyjnego \file{config.ps}, za trzeci -- +szukanie pliku mapy czcionek PostScriptowych \file{psfonts.map} +(poczwszy od obecnej edycji, pliki \file{.map} i~\file{.enc} +maj wasne reguy przeszukiwania cieek i~zmienione pooenie w~ramach +drzew \dirname{texmf}). +Poniewa rozszerzenie \samp{.ps} nie jest jednoznaczne, musimy zaznaczy +wyranie 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} + +Nastpnie przyjrzymy si bliej plikom pomocniczym fontw Times z~kolekcji +URW. W~standardzie nazewnictwa fontw maj one prefiks \samp{utm}. +Pierwszy plik ktrego szukamy, to plik konfiguracyjny, zawierajcy nazw +pliku z~przemapowaniem fontw: +\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} +wskazujcy na plik \file{utm.map}, ktry chcemy zlokalizowa w~nastpnej +kolejnoci: +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Plik z~przemapowaniem definiuje nazwy czcionek PostScriptowych Type~1 +w~zestawie fontw URW, za jego zawarto wyglda nastpujco +(pokazane s tylko fragmenty wierszy): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} +Uywajc przeszukiwania plikw z~fontami Type1, znajdmy font +Times Roman \file{utmr8a.pfb} w~drzewie katalogw \file{texmf}: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +Powysze przykady pokazuj, jak atwo mona znajdowa lokalizacj danego +pliku. Jest to wane zwaszcza wwczas, gdy istnieje podejrzenie, e gdzie +zawieruszya si bdna wersja jakiego pliku; \cmdname{kpsewhich} pokae tylko +pierwszy napotkany plik. + +\subsubsection{Diagnostyka bdw} +\label{sec:debugging} + +Czasami niezbdne s informacje o~tym, jak program sobie radzi +z~odniesieniami do plikw. Aby dao si je uzyska w~wygodny sposb, +\KPS{} oferuje rne poziomy diagnostyki bdw: +\begin{itemize} +\item[\texttt{\ 1}] wywoania \texttt{stat} (testy pliku). Podczas + uruchamiania z~uaktualnion baz danych \file{ls-R} nie powinno to + przewanie dawa adnego wyniku. +\item[\texttt{\ 2}] Zapis odwoa do tablic asocjacyjnych (\emph{hash + tables}), takich jak baza \file{ls-R}, pliki przemapowa, pliki konfiguracyjne. +\item[\texttt{\ 4}] Operacje otwarcia i~zamknicia pliku. +\item[\texttt{\ 8}] Oglne informacje o~ciekach dla typw + plikw szukanych przez \KPS; uyteczne dla znalezienia cieki + zdefiniowanej dla danego pliku. +\item[\texttt{16}] Lista katalogw dla kadego z~elementw cieki + (odnosi si tylko do poszukiwa na dysku). +\item[\texttt{32}] Poszukiwania plikw. +\end{itemize} +Warto \texttt{-1} ustawia wszystkie powysze opcje -- w~praktyce, +poszukujc przyczyny bdw, prawdopodobnie bdziesz zawsze uywa +tych poziomw. + +Podobnie, w~przypadku programu \cmdname{dvips}, ustawiajc kombinacj +przecznikw wykrywania bdw, mona dokadnie ledzi, skd pochodz pliki. +W~sytuacji, gdy plik nie zostanie odnaleziony, wida, w~ktrych katalogach +program szuka danego pliku, dziki czemu mona si zorientowa, w~czym +problem. + +Oglnie mwic, poniewa programy odwouj si wewntrznie do +biblioteki \KPS{}, opcje wykrywania bdw mona wybra przy uyciu +zmiennej rodowiskowej \envname{KPATHSEA\_DEBUG}, ustawiajc j +na opisan powyej warto (kombinacj wartoci). + +\noindent +\textbf{Uwaga dla uytkownikw Windows:} w~systemie tym nieatwo +przekierowa komunikaty programu do pliku. Do celw diagnostycznych +mona chwilowo ustawi zmienne (w~oknie CMD): +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Rozwamy na przykad may \LaTeX-owy plik rdowy \file{hello-world.tex}, +ktry zawiera: +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Ten may plik korzysta jedynie z~fontu \file{cmr10}. Przyjrzyjmy si, jak +\cmdname{dvips} przygotowuje plik PostScript-owy (chcemy uy wersji Type1 +fontu Computer Modern, std opcja \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +Mamy tu do czynienia jednoczenie z~czwart klas wykrywania bdw +programu \cmdname{dvips} (cieki fontowe) oraz z~rozwijaniem elementu +cieki przez \KPS{} (patrz: \emph{Dvips Reference Manual}, +\OnCD{texmf/doc/dvips/dvips.pdf}). + %Komunikaty z~uruchomienia programu (lekko zmodyfikowane) znajduj si + %na~rys.~\ref{fig:dvipsdbga}. + %\begin{figure*}[tp] + %\centering + %\input{examples/ex6a.tex} + %\caption{Szukanie pliku konfiguracyjnego}\label{fig:dvipsdbga} + % + %\bigskip + % + %\input{examples/ex6b.tex} + %\caption{Szukanie pliku prologu}\label{fig:dvipsdbgb} + % + %\bigskip + % + %\input{examples/ex6c.tex} + %\caption{Szukanie pliku fontu}\label{fig:dvipsdbgc} + %\end{figure*} + Program \cmdname{dvips} zaczyna prac od zlokalizowania potrzebnych mu plikw. +Najpierw znajduje plik \file{texmf.cnf}, ktry zawiera cieki +przeszukiwania dla innych plikw. Potem znajduje baz danych \file{ls-R} +(w~celu optymalizacji szukania plikw), nastpnie plik \file{aliases}, +ktry umoliwia deklarowanie rnych nazw (np. krtkie \acro{DOS}-owe ,,8.3'' +i~bardziej naturalne dusze wersje) dla tych samych plikw. +Nastpnie \cmdname{dvips} znajduje podstawowy plik konfiguracyjny +\file{config.ps}, zanim poszuka pliku z~ustawieniami uytkownika +\file{.dvipsrc} (ktry w~tym wypadku \emph{nie} zostaje odnaleziony). +W~kocu \cmdname{dvips} lokalizuje plik konfiguracyjny \file{config.cms} +dla fontw PostScript-owych Computer Modern (jest to inicjowane przez +dodanie parametru \texttt{-Pcms} przy uruchamianiu programu). +Plik ten zawiera list plikw z~,,mapami'', ktre definiuj relacje +pomidzy \TeX-owymi, PostScript-owymi i~systemowymi nazwami fontw. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/config/config.cms} +p +bsr.map +p +bakomaextra.map +\end{alltt} +W~ten sposb \cmdname{dvips} wyszukuje wszystkie te pliki oraz gwny plik +z~przemapowaniem +\file{psfonts.map}, ktry adowany jest domylnie (zawiera on deklaracje +czsto uywanych fontw postscriptowych; wicej szczegw na temat +postscriptowych plikw przemapowa fontw mona znale w~ostatniej czci +rozdziau \ref{SExamplesofuse}). + +W~tym miejscu \cmdname{dvips} zgasza si uytkownikowi: +\begin{alltt}\ifSingleColumn +This is dvips 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com) +\else\small{}This is dvips 5.86 Copyright 1999 Radical Eye... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +\ldots potem szuka pliku prologu \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +potem szuka pliku prologu \file{texc.pro}. + %(patrz rys.~\ref{fig:dvipsdbgb}). + +\fi +Po znalezieniu szukanego pliku \cmdname{dvips} podaje dat i~czas +oraz informuje o~generowaniu pliku \file{hello-world.ps}. +Poniewa potrzebuje pliku z~fontem \file{cmr10}, a~jest on +zadeklarowany jako dostpny, wywietla komunikat: +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Teraz trwa poszukiwanie pliku \file{cmr10.tfm}, ktry zostaje znaleziony, +po czym \cmdname{dvips} powouje si na kilka innych plikw startowych +(nie pokazanych). W~kocu przykadowy font Type1 \file{cmr10.pfb} +zostaje zlokalizowany i~doczony do pliku wynikowego (patrz ostatnia linia): +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Parametry kontrolujce dziaanie programw} +Inn uyteczn cech \Webc{} jest moliwo ustalania wielu parametrw +okrelajcych wielko pamici za pomoc pliku \texttt{texmf.cnf}. + %Zacznik~\ref{app:texmf.cnf} zaczynajcy si na + %stronie~\pageref{app:texmf.cnf} zawiera listing pliku \texttt{texmf.cnf}. + Ustawienia wszystkich parametrw znajduj si w~czci trzeciej pliku. +Najwaniejszymi zmiennymi s: +\begin{description} +\item[\code{main\_memory}] Cakowita wielko pamici dostpnej dla + \TeX-a, \MF{}-a i~\MP{}-a. Dla kadego nowego ustawienia tej zmiennej + naley wykona nowy format. + %Przykadowo, moesz wygenerowa ,,ogromn'' wersj formatu \TeX{} i~nazwa + %taki plik \texttt{hugetex.fmt}. + %Dziki standardowemu sposobowi nazywania programw przez + %\KPS{}, okrelona warto zmiennej \verb|main_memory| bdzie + %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 pamici przeznaczonej + na ,,due'' struktury danych \TeX-a, takie jak: pudeka, kleje itd.; + przydatna zwaszcza w~wypadku korzystania z~pakietu \PiCTeX{}. + % +\item[\code{font\_mem\_size}] Wielko pamici przeznaczonej przez + \TeX-a na informacje o~fontach. Jest to mniej wicej oglna + wielko wczytywanych przez \TeX-a plikw TFM. + % +\item[\code{hash\_extra}] Dodatkowa wielko pamici przeznaczonej + na tablic zawierajc nazwy instrukcji. Tablica gwna + moe zmieci w~przyblieniu 10000 nazw; wielko ta moe si okaza + zbyt maa, np. w~wypadku obszernej ksiki zawierajcej liczne + odsyacze. Domylna warto \texttt{hash\_extra} to \texttt{50000}. +\end{description} + % +Oczywicie powysza moliwo nie zastpi prawdziwej, dynamicznej +alokacji pamici. Jest to jednak niezwykle trudne +do zaimplementowania w~obecnej wersji \TeX-a i~dlatego +powysze parametry stanowi praktyczny kompromis, pozwalajc +na pewn elastyczno. + +Naley tu jednak nadmieni, i nie wszystkie programy korzystaj +z tych zmiennych. Np. Lua\TeX\ posiada nowoczesn, +w~peni dynamiczn alokacj pamici, a zatem powysze zmienne s +w tym przypadku po prostu ignorowane. + +%%==== +%\begin{comment} %% nie wiem czemu rezygnowa z tej czci (SW) +\section{Budowa systemu na nowej platformie uniksowej}\label{sec:build} +Jeeli mamy do czynienia z~platform, dla ktrej nie s dostarczone binaria, +trzeba bdzie skompilowa \TeX-a oraz towarzyszce mu programy. +Nie jest to takie trudne, jak si wydaje. +Wszystko czego potrzebujemy, znajduje si na \DVD{} w~katalogu +\texttt{source}. + +Najpierw naley zainstalowa gwne drzewo plikw \TeX-owych z~\CD{} +\TL{} (najlepiej wykona instalacj podstawow, bez wybierania +binariw systemowych). + +\subsection{Warunki wstpne} +Do skompilowania caego \TeX-a i~jego programw pomocniczych potrzeba +okoo 100 megabajtw wolnego miejsca na dysku. +Potrzebny jest take kompilator \acro{ANSI}~C, oprogramowanie \cmdname{make}, +skaner leksykalny oraz generator parserw. +Programy uytkowe \acro{GNU} (\cmdname{gcc}, \acro{GNU} +\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison}) +s najlepiej przetestowanymi na rnych platformach. +Poprawnie powinny pracowa \cmdname{gcc}-2.7.*, \cmdname{flex}-2.4.7 +i~\acro{GNU}\,\cmdname{make}-3.72.1 lub nowszy. +Mona te korzysta z~innych kompilatorw C i~programw +\cmdname{make}, wymaga to jednak dobrego zrozumienia zasad tworzenia +programw uniksowych, aby mc poradzi sobie z~ewentualnymi problemami. + %W~wyniku wykonania polecenia \texttt{uname} powinnimy + %otrzyma jak rozsdn warto. + +\subsection{Konfiguracja} +Naley rozpakowa rda ze skompresowanego pliku \texttt{tar} +z~katalogu \dirname{source} na twardy dysk, a~potem przej do katalogu, +do ktrego zostay one skopiowane. +Teraz trzeba si zdecydowa, gdzie bdzie gwny katalog instalacji, +np.\ \path|/usr/TeX| lub \path|/usr/local/TeX|. +Naturalnie, naley uy tej samej lokalizacji, ktra zostaa uyta +podczas instalacji gwnego drzewa \TeX-owego. + +Uruchomi \textsf{configure} z~linii polece: +\begin{alltt} +> \Ucom{./configure --prefix=/usr/local/TeX} +\end{alltt} + +Katalog ,,prefix'' to ten, w~ktrym zainstalowane zostao gwne drzewo +\TeX-owe. Zostanie uyty nastpujcy ukad katalogw + (\verb|$TEXDIR| oznacza wybrany powyej katalog): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/man} & strony manuala uniksowego,\\ + \dirname{$TEXDIR/share/texmf} & gwne drzewo \TeX-owe, + zawierajce makra itp.,\\ + \dirname{$TEXDIR/info} & podrczniki w formacie \acro{GNU} + info,\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaria\\ +\end{tabular} +%$ + +Mona 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 wyszczeglni +parametrem \verb|--datadir| skryptu \cmdname{configure}. + +Jeeli nie chcemy uywa katalogu \dirname{$PLATFORM} +(a~wic umieci binaria bezporednio w~\dirname{$TEXDIR/bin}), to +w~wywoaniu skryptu \cmdname{configure} naley uy parametru +\verb|--disable-multiplatform|. + +Wicej dostpnych parametrw (np. pomijanie pakietw opcjonalnych, takich +jak \OMEGA) mona zobaczy, uruchamiajc +\texttt{./configure -{}-help}. + +\subsection{Uruchamianie \textsf{make}} +Po upewnieniu si, e nie jest ustawiona zmienna powoki \texttt{noclobber}, +naley napisa: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +i~\ldots zaparzy sobie kaw. + +Moe si te przyda zapisanie caego 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~porzdku, warto sprawdzi, czy w~pliku +\texttt{.log} nie ma komunikatw bdw (kiedy polecenie zwraca kod bdu, +\acro{GNU} \cmdname{make} zawsze uywa sekwencji \samp{***}), +i~czy utworzone zostay 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 +rwnowane z~\texttt{make all install strip}. +Jeli do uruchamiania \texttt{make install} potrzebne s specjalne +uprawnienia, mona uruchomi dwie oddzielne sesje \cmdname{make}: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +\subsection{Kocowe kroki konfiguracyjne} +Naley uaktualni zmienn \envname{PATH} o~nazw katalogu zawierajcego +wanie zainstalowane binaria (np.\ +\dirname{/usr/local/TeX/bin/mips-sgi-irix6.3}); podobnie postpi trzeba +z~\envname{MANPATH} i~\envname{INFOPATH} i~doczy do nich +odpowiednie nazwy podkatalogw, tj.\ +\dirname{$TEXDIR/man} oraz \dirname{$TEXDIR/info}. +Patrz cz~\ref{sec:postinstall} (str.~\pageref{sec:postinstall}). + +Jeli zechcesz udostpni skompilowane przez siebie programy, skontaktuj +si z~nami (\url{tex-live@tug.org}); chtnie umiecimy je na stronie \TL. +%\end{comment} + +%-------------------------- +\section{Podzikowania} %\label{sec:acknowl} + +\TL{} jest wsplnym dzieem prawie wszystkich grup \TeX-owych. +Niniejsza edycja \TL{} zostaa opracowana pod kierownictwem Karla Berry'ego, +przy gwnym wspudziale: + +\begin{itemize*} +\item grup \TeX-owych: midzynarodowej, niemieckiej, holenderskiej i~polskiej + (odpowiednio: \acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, i~\acro{GUST}), + ktre wsplnie zapewniaj potrzebn infrastruktur techniczn + i~organizacyjn. Docz do swojej grupy \TeX-owej!; +\item zespou \acro{CTAN} (w~szczeglnoci Robina Fairbairnsa, Jima + Hef{}ferona i~Rainera Sch\"opfa), ktry dystrybuuje obrazy \TL{} i~udostpnia + wspln infrastruktur suc aktualizacji pakietw, od ktrej zaley \TL{}; +\item Petera Breitenlohnera i~zespou \eTeX, ktrzy stworzyli stabiln + podstaw przyszych wersji \TeX-a (Peter dodatkowo suy nieustann pomoc + w~wykorzystaniu narzdzi autotools w~\TL); +\item Thomasa Essera, autora wspaniaego \teTeX-a, bez ktrego + \TL{} z~ca pewnoci by nie powsta, i~ktrego staa + pomoc umoliwia doskonalenie tej dystrybucji; +\item Michaela Goossensa, ktry by wspautorem pierwotnej dokumentacji; +\item Eitana Gurari, autora programu \TeX4ht{} (wykorzystanego do + tworzenia niniejszej dokumentacji w~wersji \HTML), ktry niezmordowanie + pracowa nad jego ulepszaniem i~byskawicznie dostarcza poprawki; +\item Hansa Hagena, ktry dostosowywa \ConTeXt\ do potrzeb \TL; +\item \Thanh{}a, Martina Schr\"odera i~zespou pdf\TeX-a, ktrzy cigle + ulepszali moliwoci \TeX-a; +\item Hartmuta Henkela, majcego istotny udzia w~rozwoju pdf\TeX-a, + Lua\TeX-a i~innych programw; +\item Taco Hoekwatera, ktry wznowi rozwj MetaPosta i~pracowa nad + Lua\TeX-em, jak te pomg w~integracji \ConTeXt\ w~\TL; +\item Pawa Jackowskiego, ktry wykona instalator dla Windows \cmdname{tlpm} + i~Tomka uczaka, twrcy \cmdname{tlpmgui} (programy te byy wykorzystane + w~poprzednich edycjach); +\item Akira Kakuto, ktry dostarczy programy dla Windows, pochodzce + z~dystrybucji \acro{W32TEX} + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}), + stale dostosowywane i~aktualizowane dla potrzeb \TL; +\item Jonathana Kew z firmy \acro{SIL}, ktry zainicjowa now ciek + rozwojow -- Xe\TeX{}, i~ktry woy sporo wysiku w~zintegrowanie + tego programu z~\TL, jak rwnie zapocztkowa prace nad instalatorem dla + Mac\TeX; +\item Dicka Kocha, ktry pielgnuje Mac\TeX-a (\url{http://tug.org/mactex}) + w~cisym poczeniu z~\TL i~bardzo sympatycznie wsppracuje; +\item Reinharda Kotuchy, majcego istotny udzia w~stworzeniu nowej infrastruktury + i~programu instalacyjnego dla \TL{} 2008, uparcie dcego do ujednolicenia + dziaania \TL{} w~Windows i~Unix, ktry rwnie opracowa skrypt + \texttt{getnonfreefonts} i~wykona wiele innych prac; +\item Siep Kroonenberg, ktra rwnie wzia udzia w~stworzeniu nowej + infrastruktury i~programu instalacyjnego dla \TL{} 2008 (szczeglnie dla + Windows) oraz woya ogrom pracy aktualizujc t dokumentacj; +\item Petra Ol\shac{}\aac{}ka, ktry koordynowa i~sprawdza + przygotowanie czeskich i~sowackich pakietw; +\item Toshio Oshimy, ktry opracowa przegldark \cmdname{dviout} dla Windows; +\item Manuela P\'egouri\'e-Gonnarda, ktry pomg w~aktualizacji pakietw + i~pracowa nad \cmdname{tldoc}. +\item Fabrice'a Popineau, ktry pierwszy stworzy wersje oprogramowania + dla Windows; +\item Norberta Preininga, gwnego architekta infrastruktury i~programu + instalacyjnego \TL{} 2008, a~przyczyni si te do aktualizacji pakietw, + koordynowania (wraz z~Frankiem K\"usterem) debianowej wersji \TL{}, + i~przedstawi wiele sugestii ulepsze; +\item Sebastiana Rahtza, ktry stworzy \TL{} i~kierowa projektem przez + wiele lat; +\item Vladimira Volovicha, ktry wydatnie pomg w~rozwizywaniu problemw + przenonoci, szczeglnie za umoliwi doczenia \cmdname{xindy}; +\item Staszka Wawrykiewicza, gwnego testujcego \TL{} w~rnych systemach, + ktry ponadto koordynowa przygotowanie wszystkich polskich dodatkw (fontw, + programw instalacyjnych i~wielu innych); +\item Olafa Webera, ktry cierpliwie pielgnowa Web2C, od ktrego wszystko zaley; +\item Gerbena Wierda, ktry przygotowa oprogramowanie i~wsparcie dla + \MacOSX{}; +\item Grahama Williamsa, ktrego prace nad katalogiem pakietw bardzo + pomogy w~przygotowaniu dystrybucji. +\end{itemize*} + +Binaria dla rnych platform skompilowali: +Reinhard Kotucha (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix}). +Informacje na temat procesu budowy \TL{} mona znale na stonie: +\url{http://tug.org/texlive/build.html}. + +Aktualizacje i~tumaczenia dokumentacji wykonali: +Siep Kroonenberg i~Karl Berry (angielski), +Daniel Flipo (francuski), +Klaus H\"oppner (niemiecki), +Petr Sojka i~Jan Busa (czeski\slash sowacki), +Boris Veytsman (rosyjski), +Staszek Wawrykiewicz (polski). +Na stronie \url{http://tug.org/texlive/doc.html} bd umieszczane ewentualne +aktualizacje tej dokumentacji. + +Oczywicie, najwaniejsze podzikowania nale si Donaldowi Knuthowi +za stworzenie systemu \TeX{} i~ofiarowanie go nam wszystkim. + +%%% +\section{Historia} +\label{sec:history} + +\subsection{Poprzednie wersje} + +Dystrybucja \TL{} jest wsplnym przedsiwziciem +grup Uytkownikw Systemu \TeX{} z Niemiec, Holandii, Wielkiej +Brytanii, Francji, Czech, Sowacji, Polski, Indii i~Rosji oraz grupy +midzynarodowej TUG (\emph{\TeX{} Users Group}). +Dyskusje nad projektem rozpoczy si pod koniec 1993 roku, kiedy holenderska +Grupa Uytkownikw \TeX-a rozpocza prace nad swoim +4All\TeX{} \CD{} dla uytkownikw \acro{MS-DOS}. W~tym te +czasie pojawiy si nadzieje na opracowanie jednego \CD{} dla +wszystkich systemw. +Projekt ten by wprawdzie zbyt ambitny, zrodzi jednak nie tylko bardzo +popularny i~uwieczony duym powodzeniem projekt 4All\TeX{} \CD{}, +lecz rwnie spowodowa powstanie Grupy Roboczej TUG ds. Standardu Katalogw +\TeX-owych (\emph{\TeX{} Directory Structure}), okrelajcego, w~jaki +sposb tworzy zgodne i~atwe do zarzdzania zestawy pakietw \TeX-owych. +Kocowy raport \TDS{} zosta opublikowany w~grudniowym numerze +\textsl{TUGboat}-a, i~jasnym si stao, e +jednym z~oczekiwanych wynikw wprowadzenia tego standardu mogaby +by modelowa struktura na pytce \CD. +Wydana wwczas pytka \CD{} bya bezporednim rezultatem rozwaa i~zalece +Grupy Roboczej ds. \TDS. +Jasne take byo, e sukces 4All\TeX{} \CD{} pokaza, e +uytkownicy Unixa take wiele by zyskali, mogc korzysta +z~podobnie atwego w~instalacji/pielgnacji i~uytkowaniu systemu. +Byo to jednym z~celw projektu \TL. + +Projekt przygotowania pytki \CD, opartej na standardzie \TDS i~zorientowanej +na systemy uniksowe, rozpocz si jesieni 1995 roku. Szybko +zdecydowalimy si na wykorzystanie \teTeX-a autorstwa Thomasa Essera, poniewa +dziaa na wielu platformach i~zosta zaprojektowany z~myl +o~przenonoci pomidzy rnymi systemami plikw. Thomas zgodzi si pomc +i~prace rozpoczy si na dobre na pocztku 1996 roku. Pierwsze wydanie +ukazao si w~maju 1996 roku. Na pocztku 1997 roku Karl Berry udostpni +now, istotnie zmienion wersj swojego pakietu \Webc, zawierajc prawie +wszystkie funkcje wprowadzone do \teTeX-a przez Thomasa Essera. W~zwizku +z~tym zdecydowalimy si oprze drugie wydanie \CD{} na standardowej +bibliotece \Webc, z~dodaniem skryptu \texttt{texconfig} z~pakietu \teTeX. +Trzecie wydanie \CD{} byo oparte na \Webc{} wersji 7.2, przygotowanej przez +Olafa Webera. W~tym samym czasie zostaa przygotowana nowa wersja \teTeX-a +i~\TL{} udostpnia prawie wszystkie jego nowe funkcje. +Czwarta edycja bya przygotowana podobnie, +z~uyciem nowej wersji te\TeX-a i~nowej wersji \Webc{} (7.3). +Wtedy to te zapocztkowano kompletn dystrybucj dla Windows. + +Edycja pita (marzec 2000) zawieraa wiele poprawek i~uzupenie; +zaktualizowano setki pakietw. Szczegow zawarto pakietw +zapisano w~plikach XML. +Gwn zmian w~\TeX\ Live~5 byo usunicie programw, ktre nie miay +statusu {\it public domain}. Zawarto caej pytki powinna odpowiada ustaleniom +Debian Free Software Guidelines (\url{http://www.debian.org/intro/free}). +Dooylimy wszelkich stara, aby sprawdzi warunki licencyjne pakietw, +nadal jednak bardzo prosimy o~zgaszanie zauwaonych pomyek. + +Szsta edycja (lipiec 2001) zawieraa aktualizacje caego materiau. Gwn +zmian byo wprowadzenie nowej koncepcji programw instalacyjnych -- uytkownik +mia odtd moliwo dokadniejszego wyboru potrzebnych zestaww i~pakietw. +Zestawy dotyczce obsugi poszczeglnych jzykw zostay cakowicie +zreorganizowane, dziki czemu wybr 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 programw i~pakietw. +Wanym zadaniem, ktre wykonano, byo ujednolicenie plikw rdowych +programw z~dystrybucj te\TeX. W~programach instalacyjnych wprowadzono +moliwo wyboru bardziej oglnych, predefiniowanych zestaww pakietw +(m.in. dla uytkownikw francuskojzycznych oraz polskich). Nowoci +byo take wprowadzenie procedury aktualizacji map fontowych dla Dvips +i~PDFTeX podczas instalacji oraz doinstalowywania pakietw fontowych. + +W~2003~r., wraz z~napywem aktualizacji i~dodatkowych nowych pakietw, +okazao si, e \TL{} nie mieci si na pojedynczym \CD. +Zmuszeni bylimy podzieli \TL{} na trzy dystrybucje, ktre wydano +na \DVD{} i~dwch pytkach \CD. Ponadto: + +\begin{itemize*} +\item na yczenie ,,\LaTeX{} team'' zmieniono standardowe uycie + programw \cmdname{latex} i~\cmdname{pdflatex}~-- by korzystay + one z~\eTeX{} (patrz str.~\pageref{text:etex}); +\item zaczono nowe fonty obwiedniowe Latin Modern, ktre zastpuj + m.in. fonty EC (zawierajc komplet znakw europejskich), szczeglnie + do tworzenia poprawnych plikw PDF; +\item usunito binaria dla platformy Alpha \acro{OSF} (poprzednio + usunito take binaria dla \acro{HPUX}), niestety nie udao si znale + osb chtnych do wykonania kompilacji; +\item zmieniono instalacj w~systemach Windows, wprowadzajc 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 katalogw + instalacji \TL; +\item mapy fontowe, z~ktrych korzystaj programy \cmdname{dvips}, + \cmdname{dvipdfm} oraz \cmdname{pdftex}, generowano odtd w~katalogu + \dirname{texmf/fonts/map}; +\item \TeX{}, \MF{} oraz \MP{} domylnie pozwalay wypisywa komunikaty + na ekranie i~w~pliku .log, a~take w~operacjach \verb|\write| w~ich + reprezentacji 8-bitowej, zamiast tradycyjnej notacji \verb|^^|; + w~\TL{}~7 eksperymentalnie wprowadzono zaleno przekodowania + wyjcia programw od systemowej strony kodowej, potem ten pomys + zarzucono; +\item znacznie zmieniono niniejsz dokumentacj; +\item wreszcie, poniewa numery wersji kolejnych edycji mogy wprowadza + w~bd, postanowiono identyfikowa edycje \TL{} zgodnie z~rokiem + wydania. +\end{itemize*} + +\subsection{Edycja 2004} + +Jak w~kadej kolejnej wersji, w~2004 roku uaktualniono wiele pakietw +i~programw. Poniej wymieniamy najbardziej istotne zmiany. + +\begin{itemize} +\item Gdy mielimy ju lokalnie zainstalowane fonty, ktre korzystay +z~wasnych plikw \filename{.map} i/lub \filename{.enc}, \emph{naleao} +przenie te pliki w~nowe miejsce w~strukturze \filename{texmf/}. + +Pliki \filename{.map} (map fontowych) s odtd wyszukiwane w~podkatalogach +\dirname{fonts/map} (w~kadym drzewie \filename{texmf}), zgodnie ze ciek +okrelon przez zmienn \envname{TEXFONTMAPS}. Analogicznie, pliki +\filename{.enc} (przekodowa fontw) s odtd wyszukiwane w~podkatalogach +\dirname{fonts/enc}, zgodnie ze ciek okrelon przez zmienn +\envname{ENCFONTS}. O~niewaciwie umieszczonych plikach tego typu +zostaniemy ostrzeeni podczas uruchomienia programu \cmdname{updmap}. +Zmiany te wprowadzono w~celu uporzdkowania struktury katalogw: wszystkie +pliki dotyczce fontw znajduj si odtd w~ramach jednego podkatalogu +\dirname{fonts/}. + +Metody radzenia sobie z~sytuacjami zwizanymi z~przejciem na nowy ukad +katalogw 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). Bya ona dostpna take na odrbnym \CD. +Cho pro\TeX{}t nie bazuje na implementacji Web2C, stosuje ukad katalogw +zgodny z~\TDS (patrz cz~\ref{sec:struct-tl} na +str.~\pageref{sec:struct-tl}). + +\item W ramach \TL{} dotychczasowe pojedyncze drzewo katalogw +\dirname{texmf} zostao 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~kadym z~tych katalogw). + +\item Wszystkie pliki makr wczytywane przez \TeX-a zostay +umieszczone wycznie w~podkalogu \dirname{tex} w~ramach +\dirname{texmf*}. Tym samym usunito zbdne katalogi +\dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} itp. i~uproszczono +metody wyszukiwania plikw. + +\item Pomocnicze skrypty wykonywalne, niezalene od platformy +i~zwykle uruchamiane w~sposb automatyczny, byy odtd +umieszczone w~nowym podkatalogu \dirname{scripts} w~ramach \dirname{texmf*}. +Znajdowane s poleceniem \verb|kpsewhich -format=texmfscripts|. +Programy korzystajce z tych skryptw mogy wymaga modyfikacji. +Patrz \CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item Prawie wszystkie formaty traktuj od tego wydania wikszo znakw jako +jawnie ,,wywietlalne'' (\emph{printable}), nie za, jak byo dotychczas, +konwertowane na \TeX-ow notacj \verb|^^|. Byo to moliwe dziki domylnemu +wczytywaniu tablicy przekodowa \filename{cp227.tcx}. Dokadniej, znaki +o~kodach 32--256, HT, VT oraz FF zostay potraktowane dosownie podczas +wywietlania komunikatw. Wyjtkiem jest plain \TeX{} (tylko znaki z~zakresu +32--127 s nie zmieniane), \ConTeXt{} (znaki z zakresu 0--255) oraz formaty +bazujce na Omedze. Podobna domylna waciwo wystpowaa w~\TL\,2003, ale +w~tej edycji zostaa zaimplementowana w~bardziej elegancki sposb +i~z~wikszymi moliwociami indywidualnego dostosowania (patrz +\CDref{texmf/doc/web2c/web2c.html\#TCX-files} {\texttt{texmf/doc/web2c/web2c. +tml\#TCX-files}}. (Warto wspomnie, e wczytujc Unicode, \TeX{} moe +w~komunikatach bdw pokazywa niekompletne sekwencje znakw, poniewa +zosta zaprojektowany ,,bajtowo''.) + %%! hmmm, cay akapit by o strumieniach we-wy? + +\item Program \textsf{pdfetex} zosta domyln ,,maszyn'' dla +wikszoci formatw (nie dotyczy to samego Plain \textsf{tex}). +Domylnie, gdy uruchamiamy polecenie \textsf{latex}, \textsf{mex} +itp., generowane s pliki \acro{DVI}. Moliwe jest jednak wykorzystanie +w~\LaTeX, \ConTeXt{} itp. m.in. waciwoci mikrotypograficznych +zaimplementowanych w~\textsf{pdftex}, a~take rozszerzonych cech \eTeX-a +(\OnCD{texmf-dist/doc/etex/base/}). + +Oznacza to take, co warto podkreli, e \emph{zalecane} jest odtd uycie +pakietu \pkgname{ifpdf} (ktry dziaa zarwno z~plain, jak i~\LaTeX) +lub analogicznych makr. Zwyke sprawdzanie czy zdefiniowano \cs{pdfoutput} +bd kilka innych polece pierwotnych moe nie wystarczy do rozstrzygnicia +czy nie jest generowany plik \acro{PDF}. W~2004 roku podjlimy +wysiek by zachowa, najlepiej jak to moliwe, kompatybilno +z~dotychczasowymi przyzwyczajeniami uytkownikw. Brano wwczas pod uwag, +e \cs{pdfoutput} moe by zdefiniowany nawet wtedy, +gdy generowany jest plik \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org}) zyska wwczas wiele nowych +cech: + + \begin{itemize*} + \item \cs{pdfmapfile} i~\cs{pdfmapline} pozwalaj okreli + z~poziomu dokumentu uyte mapy fontowe, a~take pojedyncze + dodatkowe wpisy w~tych mapach. + + \item mikrotypograficzne operacje z~fontami s atwiejsze w uyciu;\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item wszystkie parametry pracy pdf\TeX-a, dotychczas okrelane + w~specjalnym pliku konfiguracyjnym \filename{pdftex.cfg}, musz by + odtd ustawiane poleceniami wbudowanymi, jak w~pliku + \filename{pdftexconfig.tex}; plik \filename{pdftex.cfg} + nie jest ju w~ogle wykorzystywany. Po zmianie \filename{pdftexconfig.tex} + naleao na nowo wygenerowa pliki formatw (wci jednak uytkownik mia + pen swobod okrelania parametrw w~redagowanym dokumencie); + + \item wicej informacji zawarto w~podrczniku 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} akceptowao odtd nazwy + plikw ograniczone podwjnymi apostrofami, zawierajce spacje i~inne + znaki, np.: +\begin{verbatim} +\input "nazwa_pliku ze spacjami" % plain +\input{"nazwa_pliku ze spacjami"} % latex +\end{verbatim} +Wicej informacji zawarto w~podrczniku Web2C: \OnCD{texmf/doc/web2c}. + +\item \texttt{-output-directory} -- nowa opcja programw \cmdname{tex}, + \cmdname{mf} oraz \cmdname{mpost} -- pozwalaa na zapisanie wyniku pracy + w~wyspecyfikowanym katalogu (np. mona uruchomi program \texttt{tex} + z~plikiem znajdujcym si na dysku tylko do odczytu, za wynik zapisa + na dysku pozwalajcym na~to); + +\item Rozszerzenie enc\TeX\ zostao szczliwie wczone do Web2C. + Aby uaktywni to rozszerzenie, naleao podczas generowania formatu + uy opcji \optname{-enc}. Oglnie mwic, enc\TeX\ obsuguje + przekodowanie wejcia i~wyjcia, wczajc take Unicode (\acro{UTF}-8) + (patrz \OnCD{texmf-dist/doc/generic/enctex/} oraz + \url{http://www.olsak.net/enctex.html}). + +\item Udostpniono nowy program Aleph, ktry czy cechy \eTeX\ i~\OMEGA. + Skromna dokumentacja jest dostpna 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 zostaa po raz pierwszy zaopatrzona w~now + licencj \acro{LPPL}, odtd w~peni zgodn i~aprobowan przez zalecenia + okrelone w~licencji Debiana. O~nowociach i~uaktualnieniach mona si + dowiedzie przegldajc pliki \filename{ltnews} + w~\OnCD{texmf-dist/doc/latex/base}. + +\item Doczono take program \cmdname{dvipng} konwertujcy 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 fontw rozsdnego rozmiaru. Usunito + sporadycznie uywane fonty konturowe i~suce do prezentacji. Peen + zestaw by oczywicie nadal dostpny z~serwerw \acro{CTAN} + (\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item Usunito program \cmdname{oxdvi}; jego funkcje przej + \cmdname{xdvi}. + +\item Programy z~przedrostkiem \cmdname{ini} oraz \cmdname{vir} + (np. \cmdname{initex}), ktre zwykle byy dowizaniami do programw + \cmdname{tex}, \cmdname{mf} i~\cmdname{mpost}, nie byy od tej pory dostpne + -- w~zupenoci wystarcza uycie w~wierszu polece opcji \optname{-ini}. + +\item Dystrybucja nie zawieraa binariw dla platformy \textsf{i386-openbsd} + (gwnie z~powodu braku chtnych do wykonania kompilacji). + +\item W~systemie \textsf{sparc-solaris} naleao ustawi zmienn systemow + \envname{LD\_LIBRARY\_PATH}, aby uruchomi programy \pkgname{t1utils}. + Binaria byy kompilowane w~C++, ale w~tym systemie brakowao standardowego + pooenia bibliotek uruchomieniowych. Wiedziano o~tym ju wczeniej, + nie byo to jednak dotychczas udokumentowane. Z~kolei dla systemu + \textsf{mips-irix} wymagana bya obecno bibliotek \acro{MIPS}pro 7.4. + +\end{itemize} + +\subsection{Edycja 2005} + +Kolejna edycja przyniosa, jak zwykle, mnstwo aktualizacji pakietw +i~programw. Struktura dystrybucji ustabilizowaa si, niemniej +pojawio si nieco zmian w~konfiguracji: + +\begin{itemize} + +\item Wprowadzono nowe skrypty \cmdname{texconfig-sys}, \cmdname{updmap-sys} + i~\cmdname{fmtutil-sys}, ktrych zadaniem jest modyfikowanie plikw + konfiguracyjnych w~gwnych drzewach katalogw systemu. Dotychczasowe + skrypty \cmdname{texconfig}, \cmdname{updmap} i~\cmdname{fmtutil} + modyfikuj odtd pliki uytkownika w~katalogu \dirname{$HOME/.texlive2005}. + %(Patrz cz~\ref{sec:texconfig}, str.~\pageref{sec:texconfig}). + +\item Dodano nowe zmienne rodowiskowe \envname{TEXMFCONFIG} + i~\envname{TEXMFSYSCONFIG}, ktre wskazuj pooenie drzew katalogw + z~plikami konfiguracyjnymi, odpowiednio: uytkownika i~systemu. Tak wic + mogo okaza si koniecznym przeniesienie wasnych wersji + \filename{fmtutil.cnf} i~\filename{updmap.cfg} w~odpowiednie miejsca. + Inn moliwoci byo przedefiniowanie \envname{TEXMFCONFIG} lub + \envname{TEXMFSYSCONFIG} w~pliku \file{texmf.cnf}. W~kadym z~przypadkw + pooenie tych plikw 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 pozostaway niezdefiniowane, mimo + e uywany by program \cmdname{pdfetex}. Zgodnie z~obietnic, + w~2005 roku zarzucono to rozwizanie (jego celem byo zapewnienie + kompatybilnoci). Z~tego powodu uytkownik by zmuszony zmieni te dokumenty, + ktre uyway \verb|\ifx\pdfoutput\undefined| do sprawdzania, czy plik + wynikowy ma by w~formacie PDF. Zamiast tego naleao zastosowa pakiet + \pkgname{ifpdf.sty}, ktry dziaa zarwno z~plain \TeX-em jak i~\LaTeX-em, + albo zapoyczy zastosowane w~nim rozwizania. + +\item W~wydaniu z~2004 roku zmieniono wikszo formatw tak, by + na wyjciu 8-bitowe znaki byy reprezentowane przez same siebie (por. + poprzednia cz). Nowy plik TCX o~nazwie \filename{empty.tcx} pozwala + w~atwy sposb uzyska w~razie potrzeby oryginaln notacj (\verb|^^|), + np.: + +\begin{verbatim} +latex --translate-file=empty.tcx twojplik.tex +\end{verbatim} + +\item Doczono nowy program \cmdname{dvipdfmx}, sucy do konwersji DVI + do PDF. Program jest aktywnie pielgnowan wersj programu + \cmdname{dvipdfm}, ktry wci jest dostpny, ale nie jest ju jednak + polecany. + +\item Nowe programy \cmdname{pdfopen} i~\cmdname{pdfclose} pozwalay na + przeadowanie plikw PDF w~Adobe Acrobat Reader, bez koniecznoci ponownego + uruchamiania programu. (Inne przegldarki formatu PDF, jak \cmdname{xpdf}, + \cmdname{gv} i~\cmdname{gsview}, nigdy na t przypado nie cierpiay.) + +\item Dla spjnoci, zmienne \envname{HOMETEXMF} i~\envname{VARTEXMF} zostay + przemianowane odpowiednio na \envname{TEXMFHOME} i~\envname{TEXMFSYSVAR}. + Zachowano zmienn \envname{TEXMFVAR}, przeznaczon domylnie dla + uytkownika. Patrz te punkt pierwszy, powyej. + +\end{itemize} + +\subsection{Edycja 2007} + +Najwiksz nowoci edycji lat 2006 i~2007 by Xe\TeX{}, +w~postaci programw \texttt{xetex} i~\texttt{xelatex}; patrz +\OnCD{texmf-dist/doc/xetex/XeTeX-reference.pdf} lub +\url{http://scripts.sil.org/xetex}. + +W istotny sposb zosta zaktualizowany MetaPost, zaplanowano take jego +dalszy rozwj (\url{http://tug.org/metapost/articles}); to samo dotyczy +pdf\TeX-a (\url{http://tug.org/applications/pdftex}). + +Pliki formatw (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 zauwaalna w~typowym uyciu. + +Program \texttt{tex} (plain) od tej edycji ju nie analizowa pierwszego +wiersza rozpoczynajcego si znakami \texttt{\%\&}, aby ustali jaki ma +wczyta format. Pozosta zatem czysty, Knuthowy \TeX. \LaTeX\ i~wszystkie +pozostae formaty nadal analizuj pierwszy wiersz z~\texttt{\%\&}. + +Oczywicie, jak zwykle, w~okresie od poprzedniego wydania opracowano setki +innych aktualizacji pakietw i programw. Kolejne aktualizacje mona znale +tradycyjnie na \acro{CTAN} (\url{http://www.ctan.org}). + +Drzewo rdowe \TL{} jest odtd przechowywane w~Subversion. Przegldanie +umoliwia standardowy interfejs www, a~jego adres zamieszczono na stronie +\url{http://tug.org.pl/texlive}. +Mimo i nie wida efektw tej zmiany w kocowej dystrybucji, mamy nadziej, +e w~nadchodzcych latach bdzie to stabilne repozytorium oprogramowania +dla rozwoju \TL{}. + +W~maju 2006~r. Thomas Esser ogosi, e zaprzestaje aktualizowania +dystrybucji te\TeX{} (\url{http://tug.org/tetex}). Spowodowao to znaczny +wzrost zainteresowanie \TL, szczeglnie wrd dystrybutorw +\acro{GNU}/Linuksa. (W~\TL{} zdefiniowano w przyblieniu rwnowany, nowy +schemat instalacyjny pod nazw \texttt{tetex}.) Mamy nadziej, e +w~przyszoci doprowadzi to do takich ulepsze w~otoczeniu \TeX-owym, na +ktrych skorzystaj wszyscy. + +\medskip \noindent + %%!Kocowa uwaga, dotyczca przeszoci: + Wszystkie wydania \TL{}, wraz z~dodatkowymi materiaami (np. okadkami +pytek), s dostpne na stronie: +\url{ftp://tug.org/historic/systems/texlive}. + +\subsection{Wydanie obecne} +\label{sec:tlcurrent} + +W 2008 roku caa infrastruktura \TL{} zostaa przeprojektowana +i~przeprogramowana. Informacja dotyczca instalacji jest przechowywana +obecnie w~zwykym pliku tekstowym \filename{tlpkg/texlive.tlpdb}. + +Po zainstalowaniu \TL{} wreszcie jest moliwa jego aktualizacja z~internetu, +podobnie jak od paru lat umoliwia to dystrybucja MiK\TeX. Zamierzamy +regularnie aktualizowa pakiety, w~miar jak bd si pojawia na serwerach +\CTAN. + +W~tym wydaniu pojawi si nowy ,,silnik'', Lua\TeX\ +(\url{http://luatex.org}). Prcz nowych, elastycznych moliwoci +dotyczcych skadu, udostpnia on doskonay jzyk skryptowy do +zastosowania zarwno w~dokumentach \TeX-owych, jak i~poza nimi. + +Obsuga dla Windows i~platform opartych na Unix zostaa obecnie znacznie +bardziej zunifikowana. W~szczeglnoci wikszo skryptw w~Perlu i~Lua +dostpna jest teraz take dla Windows (zastosowano ,,wewntrzny'' Perl, +dostarczany wraz z~\TL). + +Pojawi si nowy skrypt \cmdname{tlmgr} (patrz cz~\ref{sec:tlmgr}), ktry +staje si gwnym narzdziem do zarzdzania \TL{} po jego instalacji. +Umoliwia on aktualizacj pakietw wraz z~niezbdnymi wtedy czynnociami, +jak regenerowanie formatw, aktualizacja map fontowych itp. + +Wraz z pojawieniem si \cmdname{tlmgr} niektre funkcje \cmdname{texconfig} +zostay zablokowane (edycja plikw konfiguracyjnych formatw i~wzorcw +przenoszenia). + +Program \cmdname{xindy} do tworzenia skorowidzw +(\url{http://xindy.sourceforge.net/}) jest obecnie dostpny dla wikszoci +platform. + +Narzdzie \cmdname{kpsewhich} moe obecnie raportowa wszystkie wyniki +przeszukiwania danego pliku (parametr \optname{--all}), jak rwnie +ograniczy wyszukiwanie do jednego katalogu (parametr \optname{--subdir}). + +Program \cmdname{dvipdfmx} posiada obecnie funkcj \cmdname{extractbb} +uzyskania informacji o~prostokcie ograniczajcym (\textit{bounding box}); +jest to jedna z~ostatnich cech przejtych od dawniej uywanego programu +\cmdname{dvipdfm} (ktry jest nadal dostpny). + +Usunito aliasy fontw \filename{Times-Roman}, \filename{Helvetica}, itd. +Rne pakiety korzystay z~nich w~nieoczekiwany sposb (np. spodziewajc +si, e fonty te bd miay rne kodowanie). Nie ma obecnie dobrego sposobu +na rozwizanie tych sprzecznoci. + +Usunito format \pkgname{platex}, by unikn konfliktu nazwy z~uywanym od +wielu lat japoskim pakietem \pkgname{platex}; pakiet \pkgname{polski} (czyli +dawny \pkgname{platex}) jest obecnie wystarczajcym sposobem na polonizacj +dla \LaTeX-a. + +Usunito pliki \filename{.pool}, ktre s obecnie wkompilowane w~programy, +co uatwia ich aktualizacj. + +Do tego wydania wczono take ostatnie zmiany dokonane przez +Donalda Knutha (tzw. \textit{\TeX\ tuneup of 2008}); patrz: +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsection{Przysze wersje} + +\emph{Niniejsza dystrybucja nie jest doskonaa!} Planujemy kontynuowa +wydawanie nowych wersji i~chcielibymy, eby zawieray one jeszcze wicej +pomocnej dokumentacji, wicej programw uytkowych, lepsze programy +instalacyjne oraz stale ulepszany i~poprawiany katalog makr +i~fontw. Zadanie to jest wykonywane przez ciko pracujcych ochotnikw, +powicajcych na to wiele swojego wolnego czasu. Wiele jeszcze zostao do +zrobienia. Jeeli moesz pomc, nie zastanawiaj si i~przycz si do nas. +Patrz: \url{http://tug.org/texlive/contribute.html}. + +Prosimy o~przesyanie poprawek, sugestii i~uzupenie oraz deklaracji +pomocy w~opracowywaniu kolejnych edycji pod adres: +%\begin{quote} +\email{tex-live@tug.org} +%\url{http://tug.org/texlive} +%\end{quote} + +%Uaktualnienia, ogoszenia i~wskazwki bd dostpne na stronie +%\url{http://tug.org/texlive.html}. + +\end{document} + diff --git a/Master/texmf/doc/texlive/source/texlive-ru/Makefile b/Master/texmf/doc/texlive/source/texlive-ru/Makefile new file mode 100644 index 00000000000..93708128b74 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-ru/Makefile @@ -0,0 +1,3 @@ +include ../texlive-en/Makefile +doc = texlive-ru +lang = russian diff --git a/Master/texmf/doc/texlive/source/texlive-ru/live4ht.cfg b/Master/texmf/doc/texlive/source/texlive-ru/live4ht.cfg new file mode 100644 index 00000000000..508ccca27c8 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-ru/live4ht.cfg @@ -0,0 +1,47 @@ +% tex4ht configuration file for the TeX Live documentation. +% Accumulated over many years. Public domain. +% +% html specifies the main output format. +% info for extra debugging info in the log files. + +% better approach is to have html in one piece (including footnotes). +% also the newest TeX4ht could produce UTF-8 output (-utf8 option) +\Preamble{charset=iso-8859-5,html,info,fn-in} + +% add extra stylesheet +\Configure{@HEAD}{\HCode{% +<link rel="stylesheet" type="text/css" href="\jobname.css" />\Hnewline +<link rel="stylesheet" type="text/css" href="tex-live.css" />\Hnewline +}} + +% or LaTeX complains it is missing. +\begin{document} + +\EndPreamble + +% simplify output for HTML. We leave TeX and LaTeX alone, since tex4ht +% actually does the lowered E (and raised A) in CSS. +\def\OMEGA{Omega} +\def\LaTeXe{LaTeX2e} +\def\eTeX{e-\TeX} +\def\acro#1{#1} +\def\MF{Metafont} +\def\BibTeX{BibTeX} +\def\warningbox{} +\def\endwarningbox{} + +\newif\ifhackliterals +\ifx\tldocenglish\undefined \else \hackliteralstrue \fi +\ifx\tldocrussian\undefined \else \hackliteralstrue \fi +\ifx\tldocgerman\undefined \else \hackliteralstrue \fi +% +\ifhackliterals + % these definitions cause "missing } inserted" at \end{tabularx} in + % French and Czech. don't know why. + % + % don't make these into links, as happens with \path. We only have a couple + % special characters that actually occur. + \def\dirname{\texttt\bgroup\catcode`\$=12 \catcode`\_=12 \finishliteral} + \def\finishliteral#1{#1\egroup} + \let\filename=\dirname +\fi diff --git a/Master/texmf/doc/texlive/source/texlive-ru/texlive-ru.tex b/Master/texmf/doc/texlive/source/texlive-ru/texlive-ru.tex new file mode 100644 index 00000000000..9184449b75c --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-ru/texlive-ru.tex @@ -0,0 +1,2998 @@ +% $Id$ +% +%\def\Status{1} +\documentclass{article} +\let\tldocrussian=1 % for live4ht.cfg +\usepackage{tex-live} +\usepackage[koi8-r]{inputenc} +\usepackage[russian]{babel} +\newcommand\Unix{Unix} +\newcommand\Windows{Windows} +\usepackage{indentfirst, cmap} +\def\p.{.~}% +\renewcommand{\samp}[1]{<<\texttt{#1}>>} +% +\begin{document} + +\title{% + {\huge \textit{ \protect\TL{}}\\\strut} + {\LARGE \textsf{\TL{} 2008}} +} + +\author{: \\[3mm] + \url{http://tug.org/texlive/}} +\date{ 2008} + +\maketitle + + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{} +\label{sec:intro} + +\subsection{\TeX\ Live \TeX\ Collection} + + + +\TL{} "--- \TeX{} +\acro{GNU}/ , \MacOSX (32-) Windows. + +\TL{} , \DVD{} <<\TK{}>>. +\DVD{} \TeX . +\ref{sec:tl-coll-dists} \DVD{}. +\TL{}, \TK{} \TeX . + \TL{}. + + \TL{} \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, +\BibTeX{} ; , +; ף . + + + , ޣ , + \acro{CTAN}, \url{http://www.ctan.org}. + + \TeXLive{} + ~\ref{sec:history}, \p.\pageref{sec:history}. + + +\subsection{ } +\label{sec:os-support} + + \TL{} +, \MacOSX. , + \TL{} , + . + + Windows: Windows 2000 +. Windows 9\textit{x}, ME NT. + . + 64- Windows, 32- + 64- . + + Windows \MacOSX{} +~\ref{sec:tl-coll-dists}. + +\subsection{ \protect\TL{}} +\label{sec:basic} + +\TL{} \DVD{} . + "--- +. , \TL{}. + + \DVD{} \TL{} +, \TL{} \DVD{} +( \DVD{}, + ). + + +\noindent ӣ . : +\begin{itemize*} +\item \texttt{install-tl}. + : ( + Windows) ( + ). + \code{-gui} \code{-no-gui}. + +\item << \TL{}>>, + \prog{tlmgr}. , + , . + , . +\end{itemize*} + + +\subsection{ } +\label{sec:help} + + \TeX{} , + أ ģ . +, , , + , . ( + , \' +\TL{} \TeX{}, . + \url{http://tug.org/interest.html#vendors}). + + , , + : + +\begin{description} + +\item[ :] "--- , + \url{http://tug.org/begin.html} . + +\item [\TeX{} \acro{FAQ}:] \TeX{} \acro{FAQ} (, + ) "--- , + . + \TL{} \OnCD{texmf-doc/doc/english/FAQ-en/html/index.html} + \url{http://www.tex.ac.uk/faq}. + , . + +\item [\TeX{} Catalogue:] - , , + .., \TeX{} Catalogue. + , \TeX{}. . + \url{http://www.ctan.org/help/Catalogue}. + +\item [\TeX{} :] , + \TeX{}, , + : \url{http://tug.org/interest.html}. + +\item [ :] + "--- \url{news:comp.text.tex} + \email{texhax@tug.org}. + . . + \url{http://groups.google.com/groups?group=comp.text.tex} + \url{http://tug.org/mail-archives/texhax}. , , + (\url{http://google.com}) . + +\item [ ] + , \dirname{comp.text.tex} + Google , + \email{texhax@tug.org}. + \emph{} , + : + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [ \TL{}] + \TL{}, + , + \email{tex-live@tug.org}. + , \TL{}, + ţ + . + \code{-{}-help} . + +\item[ ] \emph{( )} + \dirname{ru.tex} , + ( \url{news:fido7.ru.tex}). + , \code{demos.ddt.su}. FAQ + ( "--- ) + . + +\end{description} + + , , . + \dirname{comp.text.tex}, \code{texhax}, \dirname{fido7.ru.tex} + , , + . + + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. + +\section{ \protect\TeX\protect\ Live} +\label{sec:overview-tl} + + \TK{} + \TL{}. + + +\subsection{\protect\TeX\protect\ Collection: \TL, pro\TeX{}t, Mac\TeX} +\label{sec:tl-coll-dists} + +\DVD{} \TK{} : + +\begin{description} + +\item [\TL:] , + \DVD{}, . + +\item [Mac\TeX:] \MacOSX{}. \TL{} + \MacOSX{} . + "--- \url{http://www.tug.org/mactex/}. + + +\item[pro\TeX{}t:] \MIKTEX\ Windows. + \ProTeXt\ ݣ + . \TL{} + . \ProTeXt{} "--- + \url{http://tug.org/protext}. + +\item [CTAN:] \CTAN. + +\item[\texttt{texmf-extra}:] + . + + +\end{description} + + \CTAN{}, \pkgname{protext} +\texttt{texmf-extra} \TL{}, + , + . + + +\subsection{ } +\label{sec:tld} + + \TL{}. + \DVD \TK{} \TL{} +\dirname{texlive}, . + +\begin{ttdescription} +\item[bin:] \TeX{}, . +% +\item[readme.html:] WWW + , . +% +\item[source:] , \Webc{} + \TeX{} \MF{}. +% +\item[support:] . + \emph{} . + \TeX{}. +% +\item[texmf:] . \dirname{TEXMFMAIN} . +% +\item[texmf-dist:] . \dirname{TEXMFDIST} . +% +\item[texmf-doc:] , + . +% +\item[tlpkg:] , . + Perl + Ghostscript, \TL{}, + Windows, PSView. +\end{ttdescription} + + + , + \filename{README} ( ). + + \dirname{texmf-doc} , + . + (, man, info) +\dirname{texmf/doc}. + \dirname{texmf-dist/doc}. + \cmdname{texdoc} +\cmdname{texdoctk}. +\OnCD{doc.html} . + + \TL{} +\dirname{texmf-doc} : +\begin{itemize*} +\item{:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{ :} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\item{:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{ :} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\end{itemize*} + +\subsection{ texmf} +\label{sec:texmftrees} + + , + texmf . +\texttt{texconfig conf} , + , + . + +\begin{ttdescription} +\item [TEXMFMAIN] , , + , (, + \verb+web2c/mktexdir+), + . \TeX . +\item [TEXMFDIST] , + .. . +\item [TEXMFLOCAL] , + , + .., . +\item [TEXMFHOME] , + , .., ̣ + . + . +\item [TEXMFCONFIG] + \verb+texconfig+, \verb+updmap+ \verb+fmtutil+ + . + \envname{TEXMFHOME}. +\item [TEXMFSYSCONFIG] + \verb+texconfig-sys+, \verb+updmap-sys+ \verb+fmtutil-sys+ + + , . +\item [TEXMFVAR] \verb+texconfig+, + \verb+updmap+ \verb+fmtutil+ + : , . + \envname{TEXMFHOME}. +\item [TEXMFSYSVAR] + \verb+texconfig-sys+, \verb+updmap-sys+, \verb+fmtutil-sys+, + \verb+tlmgr+ + : + , , "--- . +\end{ttdescription} + +\noindent + : +\begin{description} + \item[ ] \TL{}: + \begin{ttdescription} + \item[2007] . + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] . + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux + \item [...] + \item [universal-darwin] \MacOSX + \item [win32] Windows + \end{ttdescription} + \item [texmf] \envname{TEXMFMAIN}. + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL}, + \TL{}. + \end{ttdescription} + \item[ ] (\texttt{\$HOME} + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2007] + . + \item[.texlive2008] + . + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} . + \textit{etc.} + \end{ttdescription} +\end{description} + +\subsection{ \protect\TeX{}} +\label{sec:tex-extensions} + + \TeX "--- + , . ݣ + \TL{} \prog{tex} + . \TL{} \TeX{}: + +\begin{description} + +\item [\eTeX] +\label{text:etex} +( , , + ) \TeXXeT{} +ף . \eTeX{} +100\% \TeX{}. . +\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] \eTeX , + \acro{PDF}, \dvi{}. + , , \prog{etex}, + \prog{latex}, \prog{pdflatex}. . \url{http://www.pdftex.org/}. + \OnCD{texmf/doc/pdftex/manual/} + \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex} + . + +\item[Lua\TeX] pdf\TeX{} . + , . + Aleph, . . Lua (. + \url{http://www.lua.org/}) + \TeX . + \filename{texlua}, Lua, + \TL{}. . \url{http://www.luatex.org/} + \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}. + +\item [Xe\TeX] Unicode + OpenType, . . + \url{http://scripts.sil.org/xetex}. + +\item [\OMEGA\ ()] Unicode ( 16- + ), + . << + \OMEGA{}>> (\acro{OTP}s) + . . + \OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} ( ). + + +\item[Aleph] \OMEGA\ \eTeX. . + \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{ \protect\TL} + + \TL{}: + +\begin{cmddescription} + +\item [bibtex] . + +\item [makeindex] . + +\item [dvips] \dvi{} \PS{}. + +\item [xdvi] \dvi{} X Window System. + +\item [dvilj] HP LaserJet. + +\item [dv2dt, dt2dv] \dvi{} . + +\item [dviconcat, dviselect] \dvi{}. + +\item [dvipdfmx] \dvi{} \acro{PDF}, + pdf\TeX{}, . \pkgname{ps4pdf} +\pkgname{pdftricks} . + +\item [psselect, psnup, \ldots] \PS{}. + +\item [lacheck] \LaTeX{}. + +\item [texexec, texmfstart] Con\TeX{}t \acro{PDF}. + +\item [tex4ht] \TeX{} \acro{HTML}, \acro{XML} + . + +\end{cmddescription} + +\subsection{ \protect\TL{}} +\label{sec:tl-fonts} + + \TL{} . +. \url{http://tug.org/fonts} +\OnCD{texmf-doc/english/free-math-fonts-survey}. + +\section{} +\label{sec:install} + +\subsection{ } +\label{sec:inst-start} + + \DVD{} \TK{} \TL{} + . : \filename{install-tl} +, \filename{install-tl.bat} Windows. + +\begin{description} +\item [ :] \CTAN, +\dirname{systems/texlive/tlnet}; +\url{http://mirror.ctan.org/systems/texlive/tlnet} + . +\filename{install-tl.zip} ( Windows), + +\filename{install-unx.tar.gz} ( ). + \filename{install-tl} +\filename{install-tl.bat} \dirname{install-tl}. + +\item [\TeX{} Collection \DVD:] + \dirname{texlive}. Windows + , \DVD{} . + \DVD, \TeX ( + , + \url{http://tug.org/usergroups.html}), + (\url{http://tug.org/store}), , + \ISO\ (\url{http://tug.org/texlive/acquire.html}). + +\end{description} + + + . + +\subsubsection{} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{ + (\GNU/Linux)}\label{fig:text-main} +\end{figure} + + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{ + (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent + \texttt{>} ; , +, \Ucom{\texttt{ }}. + , : +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(, \Ucom{perl + /path/to/installer/install-tl}, +\Ucom{./install-tl}, , +.. .) + + + ( +\dirname{Perl/TK}) +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + + +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{ :} +\TL{} \code{umask}. + , +, , , , \code{ + umask 022}. \code{umask} + . + +\subsubsection{Mac\,OS\,X} + + ~\ref{sec:tl-coll-dists}, \MacOSX{} + , Mac\TeX{} +(\url{http://tug.org/mactex}). + , \TL{}, + , , , + \TeX \MacOSX{} +(Mac\TeX, gw\TeX, Fink, MacPorts, \ldots). + +Mac\TeX{} \TL{}, +. +, . + +\subsubsection{Windows} + + , +\DVD{} , +\filename{install-tl.bat}. + + . \texttt{>} + ; , , +\Ucom{\texttt{ }}. + , : +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + + , , +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +(, \dirname{D:} \DVD{} \TK{}). + + +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + + + +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{ } + + ~\ref{fig:text-main} + . + + : +. , +<<Tab>>. - ( !) + <<Enter>>, . + + : + , , + Perl ( Windows +Perl ). + +\subsubsection{ } + + ~\ref{fig:gui-main} + . ~\ref{fig:text-main} + , Windows, +"--- GNU/Linux. + +\subsection{ } +\label{sec:runinstall} + + . + . + +\subsubsection{ ( )} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +==================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{ }\label{fig:bin-text} +\end{figure} + + ~\ref{fig:bin-text} . + +. + . , + \TeX{} +, +. + +\subsubsection{ } +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +==================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{ }\label{fig:scheme-text} +\end{figure} + + ~\ref{fig:scheme-text} + () \TL{}. <<>>, +.. . +\optname{full}, .. \TL{}, +\optname{basic} , \optname{minimal} + \optname{medium} \optname{teTeX}. + , + . + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{ ()}\label{fig:collections-gui} +\end{figure} + + <<>> +(~\ref{fig:collections-gui}, + ). + + + \TL{}. , , + , ( \TL{}) +, .. + + , , + \prog{tlmgr} +(. ~\ref{sec:tlmgr}). + . + +\subsubsection{} +\label{sec:directories} + + ~\ref{sec:texmftrees}, +\p.\pageref{sec:texmftrees}. +\dirname{TEXDIR} Windows +(|%PROGRAMFILES%\texlive\2008|) +(\dirname{/usr/local/texlive/2008}). + + , +"--- . + \TL{}, + , . + + , + , + . + `|~|' `|~/texlive/2008|'. + + , + \TL{}. + \dirname{/usr/local/texlive-cur} + . + + \dirname{TEXDIR} \dirname{TEXMFLOCAL}, +\dirname{TEXMFSYSVAR} \dirname{TEXMFSYSCONFIG}. + + +\dirname{TEXMFHOME}. |~/texmf|. +\dirname{TEXDIR}, |~| . + \dirname{$HOME} +\verb|%USERPROFILE%| Windows. + +\subsubsection{} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{ (Unix)}\label{fig:options-text} +\end{figure} + + ~\ref{fig:options-text} ( +). : +\begin{description} +\item[use letter size instead of A4 by default ( + letter A4):] + . , + . + +\item[create all format files ( ):] + , + . + \dirname{TEXMFVAR} . + + , + . + +\item[create symlinks in standard directories ( + )] ( ): + . ţ \TL{} + \envname{PATH}, \envname{MANPATH} \envname{INFOPATH}. + . + \TeX{} + . + \dirname{/usr/local/bin}, + \TeX . +\end{description} + + , , + <<|I|>>. , +~\ref{sec:postinstall}. + +\subsubsection{ DVD{} ( )} +\label{sec:fromdvd} + + <<|V|>>. +, ~\ref{fig:main-fromdvd}. +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{ \optname{from + DVD}}\label{fig:main-fromdvd} +\end{figure} + + : , +, \dirname{TEXDIRW}, +.. . +. + + +, \dirname{texmf}, +\dirname{texmf-dist} \dirname{texmf-doc}. + + , + , + ; . ~\ref{sec:postinstall}. + +- , + , Wiindows. Windows + , +. ~\ref{sec:cmdline}. + + ~\ref{sec:portable-unix} \TL{} +, "--- + \TL{}. + +\subsection{ } +\label{sec:cmdline} + + +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + . + |-|, |--|. : + +\begin{ttdescription} +\item[-gui] , . + Perl/Tk (\url{http://tug.org/texlive/distro.html#perltk}); + , + . +\item[-no-gui] , Windows. + , \TL{} \DVD{}, + . +\item[-lang {\sl LL}] + ( \textsl{LL}). : + (\texttt{en}, ), + (\texttt{de}), (\texttt{fr}), (\texttt{nl}), + (\texttt{pl}), (\texttt{sl}) + (\texttt{vi}). + , + , . +\item[-profile {\sl profile}] + \filename{texlive.profile} \dirname{2008/tlpkg} + \dirname{tlpkg}. + . : + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} + \TL{} + . +\item [-location {\sl url/path}] + ; . . +\end{ttdescription} + +\subsubsection{ \optname{location}} +\label{sec:location} + + URL, \texttt{ftp:}, +\texttt{http:}, \texttt{file:/} . + ( +\texttt{file:/}), , + : \dirname{archive} + \filename{.tar.lzma}, , + . + + \texttt{http:} \texttt{ftp:}, +\texttt{/} \texttt{/tlpkg} +. , +\CTAN{}: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}. +, \dirname{example.ctan.org} + ( + \url{http://mirror.ctan.org}). + \url{http://mirror.ctan.org}; + . + + +\subsection{ } +\label{sec:postinstall} + + . + +\subsubsection{Windows} + + Windows . + +\subsubsection{ } + + +(. ~\ref{sec:options}), +. + +\subsubsection{ } +\label{sec:env} + + + . + \dirname{TEXDIR/bin}. . + +~\ref{fig:bin-text}. + + man +info , , + . + + +Intel86 GNU/Linux. + + Bourne (\prog{bash} ..) + \filename{$HOME/.profile} ( , +\filename{.profile}) : + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + + \prog{csh} \prog{tcsh} +\filename{$HOME/.cshrc}, - + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +, + ; \TL{}. + +\subsubsection{ : } +\label{sec:envglobal} + + , + , + : +-. + + : 1)~, +\filename{/etc/manpath.config} : + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + + 2)~ + \filename{/etc/environment}. + +\subsubsection{ DVD} + + \TL{} , , + \filename{texmf.cnf}. , , + . , + \DVD{}. \DVD{} , , + \filename{texmf.cnf}, +, \DVD{}, + . , + \envname{TEXMFCNF}, +\TL{}, \filename{texmf.cnf}. + \envname{PATH}, . + + , , + \envname{TEXMFCNF}. , + : \dirname{$TEXMFSYSVAR/web2c}. + \dirname{/usr/local/texlive/2008/texmf-var/web2c}, + ţ : +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +, [t]csh: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + +\subsubsection{\ConTeXt{} Mark IV} + +<<>> \ConTeXt{} << >>. +Mark~IV ; +. \url{http://wiki.contextgarden.net/Running_Mark_IV}. + + +\subsubsection{ } +\label{sec:local-personal-macros} + + ~\ref{sec:texmftrees}: + +\dirname{TEXMFLOCAL} ( , +\dirname{/usr/local/texlive/texmf-local} +\verb|C:\Program Files\texlive\texmf-local|), + "--- \dirname{TEXMFHOME} ( , +\dirname{$HOME/texmf} \verb|%USERPROFILE%\texmf|). + \TL{}, \TL{} + . +\dirname{TEXMFLOCAL}, +. + + +; . \url{http://tug.org/tds} +\filename{texmf/web2c/texmf.cnf}. , \LaTeX + \dirname{TEXMFLOCAL/tex/latex} +\dirname{TEXMFHOME/tex/latex} - . + + \dirname{TEXMFLOCAL} + , . + \cmdname{mktexlsr} <<Reinit file +database>> \prog{tlmgr}. + +\subsubsection{ } + + , . , + \TeX . , + , . ~\ref{sec:tl-fonts}. + + "--- \XeTeX{} (. +~\ref{sec:tex-extensions}), + \TeX . + +\subsection{ } +\label{sec:test-install} + + + \TL{} , , +, / +. + + . + Unix; \MacOSX{} +Windows , , , + . + +\begin{enumerate} + +\item , + \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} + <<command not found>> + , , , + \envname{PATH}. . +~\pageref{sec:env}. + + +\item \LaTeX{} : +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.1415926... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} + \filename{sample2e.tex} +, , : + . + , \TeX . ( + \TeX{} , ; . <<>> +.~\pageref{sec:debugging}.) + +\item : +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +( Windows \cmdname{dviout}.) + ף , +\LaTeX{}. ( "--- , \' .) + \cmdname{xdvi} , X Window; + , \envname{DISPLAY} +, \samp{Can't open display}. + +\item \PS{} : +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item \acro{PDF} \dvi{}; + \filename{.tex} \acro{PDF}: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item : +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} + , \cmdname{gv}, \cmdname{xpdf} + \TL{}, ģ +. . +\url{http://www.gnu.org/software/gv} +\url{http://www.foolabs.com/xpdf}. (, + \acro{PDF}). + +\item , : + +\begin{ttdescription} +\item [small2e.tex] , \filename{sample2e}, + , . +\item [testpage.tex] + . +\item [nfssfont.tex] . +\item [testfont.tex] plain \TeX{}. +\item [story.tex] (plain) \TeX. + \samp{\bs bye} \code{*} + \samp{tex story.tex}. +\end{ttdescription} +\end{enumerate} + + + \TeX{}, + \TeX{} \LaTeX{}, +\url{http://tug.org/begin.html}. + +\section{ } +\label{sec:netinstall} + +\TL{} + . + : \TL{} +, , , + . , , + \filename{$TEXMFMAIN/web2c/texmf.cnf} + +\begin{sverbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{sverbatim} + , + \TL{} . + + \TL{} , + . + +, Windows . +\dirname{texmf-doc/source/texlive/texlive-common/w32client} + \filename{install-w32client}, + \TL{} . + \filename{install-w32client.bat}, + . + + \TL{} + ~\ref{sec:kpathsea}. + +\section{ \protect\TL{} DVD USB} +\label{sec:portable-unix} + + << \DVD>>, ~\ref{sec:fromdvd}, + , "--- +- , , + . + + \DVD{} \TL{}, \dirname{texlive} +\DVD{} \TK{} \filename{tl-portable} () +\filename{tl-portable.bat} (Windows), + , \TL{} + \DVD{}. + + , + \dirname{~/.tlportable2008}, + . +. + + \TL{}. , + \TL{}, +\filename{tl-portable}. + + \filename{tl-portable}, +\TL{} \acro{USB}. +, \dirname{bin}, +\dirname{texmf}, \dirname{texmf-dist} \dirname{tlpkg} . + ! +\acro{FAT}32, (\code{cp -L}). + \dirname{texmf-local}, +. + + \filename{tl-portable} + , . +, , + . \DVD{}, +(, - \TL{}). + +\section{ \cmdname{tlmgr}} +\label{sec:tlmgr} + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{\prog{tlmgr} . + // + <<Load>>}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{\texttt{tlmgr} : + }\label{fig:tlmgr-config} +\end{figure} + +\TL{} \prog{tlmgr} + . \prog{updmap}, \prog{fmtutil} +\prog{texconfig} ݣ , + \prog{tlmgr}. ţ : +\begin{itemize*} +\item , ; +\item , , , + , ; +\item ; +\item ; +\item , , + (. ~\ref{sec:location}). +\end{itemize*} +\textit{:} \prog{tlmgr} \TL{} +\DVD{}, . + +\subsection{ \cmdname{tlmgr} } + \prog{tlmgr} : +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} + Windows Start: \texttt{Start}, \texttt{Programs}, +\texttt{TeX Live 2008}, \texttt{TeX Live Manager}. + <<Load>>, + "--- <<(i)>>. , , + , . + + ~\ref{fig:tlmgr-config} . + +\subsection{ \cmdname{tlmgr} } + + , +, : +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} + : +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} + , \prog{tlmgr} + , + ( \XeTeX ). + + . + : +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} + : +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} + : +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} + : +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} + , +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} + +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{ Windows} +\label{sec:windows} + + \TL{} , Windows, + . , + Windows, \TL{} + Windows 2000 . + +\subsection{ Windows} +\label{sec:winfeatures} + + Windows : +\begin{description} +\item[ .] <<\TL{}>> + <<Start>>, + (\prog{tlmgr}, \prog{texdoctk}, PS\_View + PostScript) . + PS\_View , . +\item[ .] + . +\item[ .] + <<Add/Remove Programs>> <<\TL{}>>. <<>> + \prog{tlmgr} . +\end{description} + + + +\subsection{ Windows} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View: !}\label{fig:psview} +\end{figure} + + + \TL , + Windows. \TL{} + : +\begin{description} +\item[Perl Ghostscript.] , \TL{} + <<>> . \TL{}, , + , , + . + Perl Ghostscript, . +\item[ .] \TL{} + Windows + : \cmdname{gzip}, \cmdname{chktex}, + \cmdname{jpeg2ps}, \cmdname{unzip}, \cmdname{wget} + \cmdname{xpdf}. ( \cmdname{xpdf} Windows , + Sumatra: + \url{http://blog.kowalczyk.info/software/sumatrapdf}.) +\item[\texttt{fc-cache}] \XeTeX + . +\item[PS\_View.] PS\_View, + PostScript , + . ~\ref{fig:psview}. +\end{description} +\begin{description} +\item[ \texttt{support},] + ~\ref{sec:tld}. + , \TeX , , + . + . + \dvi{} "--- \cmdname{dviout}, + . +\end{description} + +\subsection{ Dviout} + + , \TL{} + \dvi{} Windows. + \prog{dviout} +\path{support/dviout/}. +\filename{README}, \prog{dviout} + \TL{}. . + + . + , + , + . + ( ) . + +\subsection{ } + + , +: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} + \acro{CPAN}, \url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com}, + . +\item[NetPBM] \url{http://netpbm.sourceforge.net/}, / + +\item[ \TeX ] , "--- + . , : + \begin{itemize*} + \item \cmdname{GNU Emacs} Windows, . + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{Emacs} Auc\TeX Windows + \path{support} \TL{}; : + \url{http://www.gnu.org/software/auctex}. + \item \cmdname{WinShell} \path|support| \TL{}; + : \url{http://www.winshell.de}. + \item \cmdname{WinEdt} shareware, + \url{http://www.winedt.com}. + \item \cmdname{Vim} , + \url{http://www.vim.org}. + \item TeXnicCenter , + \url{http://www.toolscenter.org} pro\TeX{}t. + \item \cmdname{LEd} \url{http://www.ctan.org/support/LEd}. + \item \cmdname{SciTE} + \url{http://www.scintilla.org/SciTE.html}. + \end{itemize*} +\end{description} + +\subsection{ Windows} +\label{sec:winhome} + + +\verb|%USERPROFILE%|. Windows XP Windows 2000 +\verb|C:\Documents and Settings\<username>|, Windows Vista "--- +\verb|C:\Users\<username>|. \filename{texmf.cnf} + \KPS{}, \verb|~| Windows, + . + +\subsection{ Windows} +\label{sec:registry} + +Windows . + , + . +\path{HKEY_CURRENT_USER} \path{HKEY_LOCAL_MACHINE}, +\path{HKCU} \path{HKLM}. , \path{HKCU} + (. ~\ref{sec:winhome}), +\path{HKLM} "--- Windows. + + , + (, ) . +, , + . + +\subsection{ Windows} +\label{sec:winpermissions} + + Windows + , + . + +<< >> << >>: + , . + \TL{} +. + + , +, . + , + . + , , + \optname{non-admin} \prog{install-tl}. + + , \TL{}, + , +\verb|%PROGRAMFILES%|. , + . + + , +, \TeX{}. + , \TeX{} \TL{} + . , + , \TL{} + . +\TL{}. + +\section{ Web2C} + +\Webc{} "--- , +\TeX{}: \TeX{}, \MF{}, \MP, \BibTeX{}, .. +\TL{}. \Webc{} + \url{http://tug.org/web2c}. + + . +, 1987 \TeX{}-to-C, + , +. , ţ + Web-to-C\@. 1990 + , , 1997 + . + + \Webc{} , 32- Windows, \MacOSX{}, + . + \TeX{} , \web{} +ģ C. : + +\begin{cmddescription} +\item[bibtex] . +\item[dmp] \cmdname{troff} MPX ( \MP{}). +\item[dvicopy] \dvi{}. +\item[dvitomp] \dvi{} MPX ( \MP{}). +\item[dvitype] \dvi{} . +\item[gftodvi] . +\item[gftopk] +\item[gftype] GF . +\item[makempx] \MP{}. +\item[mf] . +\item[mft] \MF{}. +\item[mpost] . +\item[mpto] \MP{}. +\item[newer] . +\item[patgen] . +\item[pktogf] PK GF. +\item[pktype] PK +\item[pltotf] TFM. +\item[pooltype] pool \web{}. +\item[tangle] \web{} Pascal. +\item[tex] . +\item[tftopl] TFM . +\item[vftovp] . +\item[vptovf] . +\item[weave] \web{} \TeX. +\end{cmddescription} + +\noindent + \Webc{}. + + \Webc{}. + + \acro{GNU}: +\begin{ttdescription} +\item[-{}-help] +\item[-{}-verbose] +\item[-{}-version] . +\end{ttdescription} + + \Webc{} \KPS{} +(\url{http://tug.org/kpathsea}). + , + \TeX{}. \Webc{} + , + \TeX{} . + \file{ls-R}, + +. + +\subsection{ Kpathsea} +\label{sec:kpathsea} + + \KPS. + + \emph{ԣ } ̣ + \emph{ }, + . +. \samp{my-file} +\samp{.:/dir}, \KPS{} : + \file{./my-file}, \file{/dir/my-file}, + (, , ). + + , \KPS{} , + , +\samp{:} \samp{/}. + + ̣ \var{p}, \KPS{} + (. << +>> .~\pageref{sec:filename-database}), .., +, \var{p}. , + . + + , +, , +( , \samp{!!}, + ). \KPS{} , + , +. + + << >> \samp{.vf} +, \TeX{} \cs{openin}. + (, \file{cmr10.vf}), + . , +\file{ls-R} \samp{.vf}, +. : , + . , , + . + + "--- + , \KPS{} : + , , + , +, . , + \KPS{} \emph{} , .., + . + , . + +, +, .. \samp{/}, \samp{./}, +\samp{../}, \KPS{} , . + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{ } + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{ } +\label{sec:path-sources} + + . \KPS{} + : + +\begin{enumerate} +\item , + \envname{TEXINPUTS}\@. + ; \samp{latex} "--- + . \envname{TEXINPUTS.latex} + \envname{TEXINPUTS}. +\item + , , , + + \samp{S /a:/b} \file{config.ps} \cmdname{dvips}. +\item + \KPS{} \file{texmf.cnf}, + + \samp{TEXINPUTS=/c:/d} (. ). +\item , . +\end{enumerate} +\noindent +, (. <<>> + .~\pageref{sec:debugging}). + +\subsubsection{ } + +\begingroup\tolerance=3500 +\KPS{} \emph{ } +\file{texmf.cnf} . + \envname{TEXMFCNF} ( , + \file{texmf/web2c}). \emph{} + \file{texmf.cnf} , + . +, \verb|.:$TEXMF|, +\file{./texmf.cnf} +\verb|$TEXMF/texmf.cnf|. +\endgroup + +\begin{itemize} +\item + \code{\%} . +\item + +\item + \bs{} , .. + . + . +\item + +\begin{alltt} + \emph{variable}[.\emph{progname}] [=] \emph{value} +\end{alltt}% + \samp{=} . +\item + \ttvar{variable} , , + \samp{=} \samp{.}, ģ + \samp{A-Za-z\_}. +\item + \samp{.\var{progname}}, + , + \texttt{\var{progname}} \texttt{\var{progname}.exe}. + , \TeX{} . +\item \var{value} , + \code{\%} \samp{@}. + \code{\$\var{var}.\var{prog}} ; + . + \samp{;} \samp{:} \samp{:}; + , , \acro{MS-DOS} + Windows. +\item + , + , . +\end{itemize} + , , e +\ifSingleColumn +: + +\verbatiminput{examples/ex5.tex} +\else +e .~\ref{fig:config-sample}. +\fi + +\subsubsection{ } +\label{sec:path-expansion} + + +\KPS{} ̣ + , +. , +\verb+~$USER/{foo,bar}//baz+, +\file{foo} \file{bar} +\texttt{\$USER}, \file{baz}. + . + +%$ +\subsubsection{ } +\label{sec:default-expansion} + +\tolerance=2500 + + (. << +>> .~\pageref{sec:path-sources}) \emph{ + } ( , , ), \KPS{} + ԣ. + , ԣ. +, + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} + \code{TEXINPUTS} \file{texmf.cnf} + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} + ԣ + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + + + , \KPS{} , +: , , + . + +\subsubsection{ } + + , - , , +\verb+v{a,b}w+ \verb+vaw:vbw+. . + , ԣ + \code{\$TEXMF}. +, \file{texmf.cnf}, +( , ݣ ): +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} + : +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ + , +\emph{} \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, +\code{\$TEXMFVAR/tex} \code{\$TEXMFMAIN/tex} ( + \file{ls-R}). + , <<>> (, \CD) + . +\code{\$TEXMF} , + . + +\subsubsection{ } +\label{sec:subdirectory-expansion} + + \samp{/} +\var{d} \var{d} . + \emph{ ̣}. + + \samp{//}, + . +, \samp{/a//b} \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b}, .., \file{/a/b/c} +\file{/a/1}. + + \samp{//} , +\samp{//} . + +\subsubsection{ } + + + \KPS{}. + +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] ; + . +\item[\CODE{;}] - ( , \code{:}). +\item[\CODE{\$}] . +\item[\CODE{\string~}] . +\item[\CODE{\char`\{...\char`\}}] . +\item[\CODE{//}] ( + , ). +\item[\CODE{\%}] . +\item[\CODE{\bs}] ( ). +\item[\CODE{!!}] \emph{} , \emph{} + . +\end{ttdescription} + + +\subsection{ } +\label{sec:filename-database} + +\KPS{} . + + ( , + ). \KPS{} + , +<< >> \file{ls-R}, , +, . + +ݣ , \file{aliases} + \file{ls-R}. , + \acro{DOS} <<8.3>>. + +\subsubsection{ \texttt{ls-R}} +\label{sec:ls-R} + + , \file{ls-R}. + ţ \TeX{}, + \KPS{} ( , \code{\$TEXMF}); + . \KPS{} \file{ls-R} +\code{TEXMFDBS}. + + \samp{ls-R} "--- +\code{mktexlsr}, ޣ . + \samp{mktex}\dots. + +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} + , \code{ls} +(\acro{GNU} \code{ls} ). + , ţ +\code{cron}, + . + + , \KPS{} . + \samp{!!}, +\emph{} . + + +\subsubsection{kpsewhich: } +\label{sec:invoking-kpsewhich} + + \texttt{kpsewhich} +, . + \code{find} \TeX{} +( \samp{mktex}\dots). + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +, \ttvar{option}, \samp{-} + \samp{-{}-}, . + +\KPS{} , , +, . + ( \samp{find}). + + . + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\ + \ttvar{num}; + \samp{gf} \samp{pk}. \samp{-D}, + \cmdname{dvips}. 600. + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + \ttvar{name}. , + . , + , , \MP{} + + \cmdname{dvips}, , \KPS{}, + , \texttt{tex} \texttt{enc files}. + \texttt{kpsewhich -{}-help}. + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + \ttvar{string}; + \samp{gf} \samp{pk}. : + . + +\item[\texttt{-{}-must-exist}]\mbox{}\\ + ӣ , . + + \file{ls-R}. + +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + \ttvar{string} ( , ̣ + ), , + . \samp{//} . + \samp{-{}-path} \samp{-{}-format} . + +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + \texttt{\var{name}}. + - \texttt{.\var{progname}}. + \cmdname{kpsewhich}. + +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + , + \texttt{\var{name}}. (\code{.pk}, + \code{.vf} ..) , \samp{-{}-format}. + +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + \texttt{\var{num}}. +\end{ttdescription} + + + +\subsubsection{ } +\label{sec:examples-of-use} + + \KPS{} . : + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} + \file{article.cls}. \samp{.cls} +, , +\optname{tex} ( \TeX{}). +\file{tex/latex/base} \samp{temf-dist} \TL. , +ӣ : +\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} + +, "--- +\textsl{TUGBoat}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} + \file{.pk} +\cmdname{dvips} \cmdname{xdvi}. , + Computer Modern \samp{.pk} ( + Type~1 \TL{}). +\begin{alltt} +> \Ucom{kpsewhich wsiupa10.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} + ( , + ) +\samp{.pk}, \MF{} [ +\texttt{ljfour} of 600\dpi{} ( ), + . +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} + 300\dpi{} (\texttt{-dpi=300}); +, . +\cmdname{dvips} \cmdname{xdvi} +\texttt{.pk} \cmdname{mktexpk}. + + +\cmdname{dvips}. + , \file{tex.pro} \TeX{}, + \file{config.ps} + \file{psfonts.map} ( 2004 + \dirname{texmf}). +\samp{.ps} , , +: (\optname{dvips config}) \texttt{config.ps}. +\begin{alltt} +> \Ucom{kpsewhich tex.pro} + /usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} + /usr/local/texmf/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + + \acro{URW} Times (\PS{}). + \samp{utm}. + , + : +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} +/usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} + : +\begin{alltt} + p +utm.map +\end{alltt} + \file{utm.map}, . +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} + Type~1 (\PS{}) + URW. ( ): +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} + ģ, , Times Roman +\file{utmr8a.pfb}: +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + + , . + , , + , \cmdname{kpsewhich} + . + +\subsubsection{} +\label{sec:debugging} + + , . +\KPS{} : + +\begin{ttdescription} +\item[\texttt{\ 1}] . + \file{ls-R} . +\item[\texttt{\ 2}] (, \file{ls-R}, + ..). +\item[\texttt{\ 4}] . +\item[\texttt{\ 8}] , + \KPS. , , + . +\item[\texttt{16}] ( + ). +\item[\texttt{32}] . +\item[\texttt{64}] . +\end{ttdescription} + \texttt{-1} ; + . + +, \cmdname{dvips} + , , . +, , , , + , ޣ . + + , +\KPS{}, + \envname{KPATHSEA\_DEBUG}, ţ + . + +( Windows: + . + \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + + + \LaTeX{}, +\file{hello-world.tex}, : +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} + \file{cmr10}, + , \cmdname{dvips} \PS{} +( Type~1, +\texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} + 4 \cmdname{dvips} +( ) \KPS (. + \cmdname{dvips}, +\OnCD{texmf/doc/html/dvips/dvips_toc.html}). ( +) ~\ref{fig:dvipsdbga}. +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{ }\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{ }\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{ }\label{fig:dvipsdbgc} +\end{figure*} + + \cmdname{dvips} . + \file{texmf.cnf}, + , \file{ls-R} ( + ) \file{aliases}, + ͣ (, 8.3 ) + . \cmdname{dvips} +\file{config.ps} +\file{.dvipsrc} ( \emph{ }). , +\cmdname{dvips} Computer +Modern \PS{} \file{config.cms} ( \texttt{-Pcms} + ). , + \TeX{}, \PS{} + : +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +\cmdname{dvips} +\file{psfonts.map}, ( + \PS{}; . +~\ref{sec:examples-of-use}). + + \cmdname{dvips} : +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn + \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 + \file{texc.pro} (. +~\ref{fig:dvipsdbgb}). +\fi + + , \cmdname{dvips} , +, \file{hello-world.ps}, + \file{cmr10}, <<>> +( ): +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} + \file{cmr10.tfm}, , ݣ + ( ), Type~1 +\file{cmr10.pfb} ޣ (, +): +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{ } + +ݣ \Webc{} "--- +( ) , +\file{texmf.cnf} \KPS{}. +~3 \TL{}. : + +\begin{ttdescription} +\item[\texttt{main\_memory}] + \TeX{}, \MF{} \MP. + . , <<>> + \TeX{}, + \texttt{hugetex.fmt}. \KPS{}, + \texttt{main\_memory} \file{texmf.cnf}. +\item[\texttt{extra\_mem\_bot}] <<>> + , \TeX{}: , .. + \PiCTeX{}. +\item[\texttt{font\_mem\_size}] + \TeX{}. TFM, + \TeX. +\item[\texttt{hash\_extra}] + ͣ . 10\,000 + . + ң , . + \texttt{hash\_extra} \texttt{50000}. +\end{ttdescription} + +, + , + \TeX{}, + +. + + +\begin{comment} +\section{ Unix} + + + , , +ģ . . ӣ, +, \texttt{source}. + +\subsection{ } + + 100\,Mb \TeX{} + . \acro{ANSI} C, +\cmdname{make}, . + \acro{GNU} +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). + \cmdname{make}, , + . + + , \texttt{uname} . + + +\subsection{} + + \TL{} (. +~\ref{sec:unix-install-disk} +\p.~\pageref{sec:unix-install-disk}). + . + + \dirname{source} + , . + + \cmdname{configure}, , : +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + + \optname{-prefix} "--- , + . +(\$TEXDIR ): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & ,\\ + & \qquad ..\\ + \dirname{$TEXDIR/man} & Unix man\\ + \dirname{$TEXDIR/info} & \acro{GNU} Info \\ + \dirname{$TEXDIR/bin/$PLATFORM} & \\ +\end{tabular} +%$ + + \dirname{$PLATFORM}, +.. \dirname{$TEXDIR/bin}, + \verb|--disable-multiplatform|. + + \verb|./configure --help| +. , \OMEGA{} +\eTeX{}. + + +\subsection{ \cmdname{make}} + +, \texttt{noclobber} +. \cmdname{make}: +\begin{alltt} +> \Ucom{make world} +\end{alltt} + \ldots + + , : +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + + , , ӣ , +; \acro{GNU} \cmdname{make} \samp{***} + . , , +: +\begin{alltt} +> \Ucom{cd \emph{TEXDIR}/bin/\emph{archname}} +> \Ucom{ls | wc} +\end{alltt} + 200 ( , + +\dirname{bin} ). + + \texttt{make install}, + \samp{make world} ɣ: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + + , +, ~\ref{sec:postinstall}, +\p.~\pageref{sec:postinstall}. + + , , + , . +\TL{} . + +\end{comment} + +\section{} + +\TL{} "--- Σ + \TeX . \TL{} +. , , . + : + +\begin{itemize*} + +\item , , + \TeX{} (\acro{TUG}, \acro{DANTE} e.V., \acro{NTG} + \acro{GUST}) + . , \TeX + (. \url{http://tug.org/usergroups.html}). + +\item \acro{CTAN}, , + \TL{} + , + \TL. + +\item \eTeX + \TeX , + GNU autoools \TL{}. + + +\item , \teTeX{} \TL{} + , \TL. + +\item , . + + +\item , \TeX4ht{} + \HTML{}, , + . + +\item , ң pdf\TeX a + (\url{http://pdftex.org}) \TeX + . + + +\item + \ConTeXt\ (\url{http://pragma-ade.com}) . + +\item pdf\TeX\, Lua\TeX{} + . + + +\item \MP{} (Lua)\TeX + (\url{http://luatex.org}) \ConTeXt \TL. + +\item Windows \cmdname{tlpm}, + \cmdname{tlpmgui}, + \TL{}. + +\item + Windows \acro{W32TEX} + (\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}) + . + +\item \acro{SIL} + Xe\TeX{}, ţ \TL{} + Mac\TeX. + +\item Mac\TeX (\url{http://tug.org/mactex}) + \TL{}, . + +\item + \TL{} 2008, Windows, + \texttt{getnonfreefonts} . + + +\item , \TL{} + 2008 , Windows, + . + +\item + . + +\item \cmdname{dviout} Windows. + + +\item - , + \cmdname{tldoc}. + +\item , Windows \TL{} + . + +\item , + \TL{} 2008, + \TL{} ( + ), . + + +\item , \TL{} + . + + +\item + , \cmdname{xindy}, + . + +\item a , \TL{} + : , + Windows . + +\item \Webc. + +\item \MacOSX, + . + +\item , \TeX\ Catalogue. + +\end{itemize*} + + : + (\pkgname{x86\_64-linux}), + (\pkgname{hppa-hpux}), + (\pkgname{amd64-freebsd}), + (\pkgname{i386-openbsd}), + (\pkgname{i386-linux}), + (\pkgname{win32}), + (\pkgname{universal-darwin}), + (\pkgname{i386-freebsd}), + (\pkgname{alpha-linux}), + (\pkgname{sparc-linux}), + (\pkgname{powerpc-linux}), + (\pkgname{i386-solaris}), + (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), + (\pkgname{mips-irix}). + \TL{} +\url{http://tug.org/texlive/build.html}. + + + : (), + (), + (), + ( ), + (), + (). + \TL{}: \url{http://tug.org/texlive/doc.html}. + +, "--- , -, + \TeX , -, , . + +\section{ } +\label{sec:history} + +\subsection{} + + 1993 \TeX{} + 4All\TeX{} \CD{} +\acro{MS-DOS} . + \CD{} . +, \CD{} +4All\TeX{}, +\acro{TUG} \TeX{} +(\url{http://tug.org/tds}), + \TeX{} , + \TeX . \TDS{} + \textsl{TUGboat} 1995 , + , \CD{}. , + , "--- . + 4All\TeX{} , +ģ , +\TL. + + \CD{} \TDS{} +1995 , , \teTeX{} + . +, 1996 أ +. 1996 . 1997 + Web2C, + , +\teTeX, \Webc, + \texttt{texconfig} \teTeX{}. +\CD{} \Webc{} 7.2, ; + \teTeX{}, \TL{} + . , + \teTeX{} \Webc{} (7.3). Σ + Windows. + + ( 2000 ) \CD{} + . +XML. \TeX\ Live 5 + . ӣ \TL{} + +(\url{http://www.debian.org/intro/free}); ӣ, , + , + . + + ( 2001 ) . + : + . , + , +.., \texttt{language.dat}. + + 2002 \MacOSX{}, + . + \teTeX{}, , +~5 ~6. + +\subsubsection{2003} + + 2003 , , +\TL{} , \CD. + . : + +\begin{itemize*} +\item \LaTeX{}, + \cmdname{latex} \cmdname{pdflatex}: \eTeX{} + (. .~\pageref{text:etex}). +\item Latin Modern . +\item Alpha \acro{OSF} + ( \acro{HPUX} ), + ( ) + . +\item Windows: + XEmacs. +\item Windows + (Perl, Ghost\-script, Image\-Magick, Ispell). +\item Fontmap \cmdname{dvips}, \cmdname{dvipdfm} + \cmdname{pdftex} + \cmdname{updmap} \dirname{texmf/fonts/map}. +\item \TeX{}, \MF{}, and \MP{} + ASCII , + \verb|\write|, , + .. \emph{} \verb|^^|. \TL{}~7 + , . + \verb|^^|, + \verb|texmf/web2c/cp8bit.tcx|. + . +\item . +\item , - , , + : \TL{} 2003. +\end{itemize*} + +\subsubsection{2004} + + 2004 . + +\begin{itemize} + +\item + \filename{.map} \filename{.enc}, + . + + \filename{.map} + \dirname{fonts/map} ( \filename{texmf}) + \envname{TEXFONTMAPS}. \filename{.enc} + \dirname{fonts/enc} + \envname{ENCFONTS}. \cmdname{updmap} , + , . + + . + \url{http://tug.org/texlive/mapenc.html}. + +\item \TK{} \CD{} + \MIKTEX{} , \MIKTEX{} + , \Webc. . ~\ref{sec:overview-tl} + (\p.\pageref{sec:overview-tl}). + + +\item \dirname{texmf} \TL{} : + \dirname{texmf}, \dirname{texmf-dist} \dirname{texmf-doc}. + . ~\ref{sec:tld} (\p.\pageref{sec:tld}) + \filename{README} . + +\item , \TeX, + \dirname{tex} \dirname{texmf*} + \dirname{tex}, \dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} + .. . \CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} + {\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}. + + +\item ( , + ) + \dirname{scripts} \dirname{texmf*} + \verb|kpsewhich -format=texmfscripts|. + , , . . + \CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} + {\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + + +\item + , << >> \filename{cp227.tcx} + \verb|^^|. , 32--256 + , + . plain \TeX{} ( + 32--127), \ConTeXt{} (0--255) , + \OMEGA. , + \TL\,2003, , \' + . . \CDref{texmf/doc/web2c/web2c.html\#TCX-files} + {\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. (, + Unicode, \TeX\ + , \TeX\ ). + + +\item \textsf{pdfetex} , + plain \textsf{tex}. (, + \acro{DVI}, \textsf{latex} ..). , + , \textsf{pdftex}a + \eTeX \LaTeX, \ConTeXt{} + .. (\OnCD{texmf-dist/doc/etex/base/}). + + , \emph{ } + \pkgname{ifpdf} ( plain, \LaTeX) + , , ̣ \cs{pdfoutput} + , , + . ӣ + , \cs{pdfoutput} + ̣ \acro{DVI}. + + +\item pdf\TeX\ (\url{http://pdftex.org}) + : + + \begin{itemize*} + + \item + \cs{pdfmapfile} \cs{pdfmapline}. + + \item + + .\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + + \item , + \filename{pdftex.cfg}, + , , + \filename{pdftexconfig.tex}. \filename{pdftex.cfg} + . \filename{pdftexconfig.tex} + \filename{.fmt} . + + \item + pdf\TeX: \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + + +\item \cs{input} \cmdname{tex} ( \cmdname{mf} + \cmdname{mpost}) + . : +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +. \Webc: \OnCD{texmf/doc/web2c}. + + +\item enc\TeX \Webc, + \TeX, \optname{-enc} + ( ). enc\TeX{} + , + Unicode ( \acro{UTF}-8). + . \OnCD{texmf-dist/doc/generic/enctex/} + \url{http://www.olsak.net/enctex.html}. + +\item Aleph, + \eTeX\ \OMEGA. + \OnCD{texmf-dist/doc/aleph/base} + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}. + \LaTeX \textsf{lamed}. + +\item \LaTeX + \acro{LPPL} "--- Debian. + \filename{ltnews} + \OnCD{texmf-dist/doc/latex/base}. + +\item \cmdname{dvipng}, + \acro{DVI} \acro{PNG}. + . \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item \pkgname{cbgreek} + , ( ). + , , + , . + \acro{CTAN} + (\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + + +\item \cmdname{oxdvi} ; + \cmdname{xdvi}. + + +\item \cmdname{ini} \cmdname{vir} \cmdname{tex}, + \cmdname{mf} \cmdname{mpost} (, \cmdname{initex}) + . \optname{-ini} + . + +\item \textsf{i386-openbsd}. + BSD \pkgname{tetex}, + \acro{GNU/}Linux Free\acro{BSD}, , + \' + -. + + +\item \textsf{sparc-solaris} + \envname{LD\_LIBRARY\_PATH} + \pkgname{t1utils}. , + C++, C++ + ( 2004 , + ). , \textsf{mips-irix} + \acro{MIPS}pro~7.4. + +\end{itemize} + +\subsubsection{2005} + + 2005 , , +. 2004 +, . + +\begin{itemize} + +\item \cmdname{texconfig-sys}, + \cmdname{updmap-sys} \cmdname{fmtutil-sys}, + . + \cmdname{texconfig}, \cmdname{updmap} \cmdname{fmtutil} + + \dirname{$HOME/.texlive2005}. + +\item \envname{TEXMFCONFIG} + \envname{TEXMFSYSCONFIG} , + ( ). + , + \filename{fmtutil.cnf} \filename{texmf.cnf}. + \envname{TEXMFCONFIG} + \envname{TEXMFSYSCONFIG} . + . ~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. + +\item ̣ \verb|\pdfoutput| + DVI, + \cmdname{pdfetex}. , + , . + \verb|\ifx\pdfoutput\undefined|, + . \pkgname{ifpdf.sty} + ( plain \TeX{} \LaTeX) . + +\item , + 8- . ӣ + \verb|^^|, \filename{empty.tcx}: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + + +\item \cmdname{dvipdfmx} DVI + PDF; + \cmdname{dvipdfm}, ݣ , + . + +\item \cmdname{pdfopen} + \cmdname{pdfclose}, PDF Adobe + Acrobat Reader, ( + PDF, \cmdname{xpdf}, \cmdname{gv} + \cmdname{gsview}, ). + +\item \envname{HOMETEXMF} + \envname{VARTEXMF} \envname{TEXMFHOME} \envname{TEXMFSYSVAR}. + \envname{TEXMFVAR}, + (. ). +\end{itemize} + +\subsubsection{2006--2007} + + 2006--2007 Xe\TeX{}, + \texttt{xetex} \texttt{xelatex}; +. \url{http://scripts.sil.org/xetex}. + + \MP; + (\url{http://tug.org/metapost/articles}). +̣ pdf\TeX{} (\url{http://tug.org/applications/pdftex}). + + \filename{.fmt} .. +\dirname{texmf/web2c}, ( ӣ ݣ + , , +). , , +\filename{tex}, \filename{pdftex}, \filename{xetex}. + . + + (plain) \texttt{tex} \texttt{\%\&} + , : +\TeX{} (\LaTeX{} ݣ \texttt{\%\&}). + +, , , +. , ̣ \acro{CTAN} +(\url{http://www.ctan.org}). + + \TL{} Subversion, +WWW- . , + . + +, 2006 +te\TeX (\url{http://tug.org/tetex}). + \TL, \acro{GNU}/ ( + \texttt{tetex}, , + te\TeX ). , ģ + \TeX . + +\medskip \noindent + : \TL{} + \CD{} +\url{ftp://tug.org/historic/systems/texlive}. +\url{ftp://tug.org/historic/systems/texlive}. + +\subsection{} +\label{sec:tlcurrent} + + + 2008 +\TL{}. + \filename{tlpkg/texlive.tlpdb}. + + , \TL{} "--- +, MiK\TeX{}. + , \CTAN. + + <<>> Lua\TeX\ (\url{http://luatex.org}); + , + \TeX , . + + Windows + . , +Perl Lua Windows Perl, + \TL{}. + + \cmdname{tlmgr} (. ~\ref{sec:tlmgr}) + \TL{} +. +, , . + + \cmdname{tlmgr}, +\cmdname{texconfig} + . + + \cmdname{xindy} (\url{http://xindy.sourceforge.net/}) + . + + \cmdname{kpsewhich} + ( \optname{--all}) + ( \optname{--subdir}). + + \cmdname{dvipdfmx} +, \cmdname{extractbb}; + \cmdname{dvipdfm}, +\cmdname{dvipdfmx}. + + \filename{Times-Roman}, \filename{Helvetica} .. . + ( +), . + + \pkgname{platex} - +\pkgname{platex}; + \pkgname{polski}. + + \web\ + . + +, , +<< \TeX 2008 >>, . +\url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}. + +\subsection{} + +\emph{\TL{} !} ( .) + , , +, () , + . + , . + , +. . \url{http://tug.org/texlive/contribute.html}. + +, , :\hfill\null +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{Happy \TeX ing!} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% LaTeX-command-style: (("." "pdflatex")) +%%% TeX-view-style: (("." "acroread %s.pdf")) +%%% End: diff --git a/Master/texmf/doc/texlive/source/texlive-zh-cn/Makefile b/Master/texmf/doc/texlive/source/texlive-zh-cn/Makefile new file mode 100644 index 00000000000..6541a022547 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-zh-cn/Makefile @@ -0,0 +1,47 @@ +# $Id:$ +# Makefile for TeX Live documentation. Public domain. +TEX = xelatex +doc = texlive-zh-cn +source = $(doc).tex +pdf = $(doc).pdf +lang = chinese + +all: $(pdf) + +env = TEXINPUTS=../texlive-common:../texlive-zh-cn:; export TEXINPUTS; + +$(pdf): $(source) + $(env) $(TEX) $< + $(env) $(TEX) $< + +clean: + rm -f *.aux *.log *.blg *.toc *.out *.lot tex4ht.ps *.4* + rm -f *.xref* *.lg *.idv *.out *.otc *.tmp tmp.* + rm -f $(doc).dvi $(doc).ps + +realclean: clean + rm -f $(doc).pdf + rm -f *.html *.htm $(doc).css *.gif *.jpg + + +insttop = ../../../doc +instfiles = $(doc)*html $(doc).css $(doc).pdf +copyfiles = *.png +install: +# lang=`dirname \`pwd\` | sed 's,.*/,,'`; + lang=$(lang); \ + tldir=`pwd | sed 's,.*/,,'`; \ + instdir=$(insttop)/$$lang/$$tldir; \ + echo tldoc install to $$instdir; \ + for f in $(instfiles); do \ + cmp -s $$f $$instdir/$$f && rm -v $$f && continue; \ + mv -v $$f $$instdir/$$f; \ + done; \ + lang=$(lang); \ + tldir=`pwd | sed 's,.*/,,'`; \ + instdir=$(insttop)/$$lang/$$tldir; \ + for f in $(copyfiles); do \ + cmp -s $$f $$instdir/$$f && continue; \ + cp -v $$f $$instdir/$$f; \ + done; echo "$$instdir" + diff --git a/Master/texmf/doc/texlive/source/texlive-zh-cn/README-live.ZH-CN b/Master/texmf/doc/texlive/source/texlive-zh-cn/README-live.ZH-CN new file mode 100644 index 00000000000..a308e7daaa1 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-zh-cn/README-live.ZH-CN @@ -0,0 +1,34 @@ +TeX Live Guide Translation (Simplified Chinese) +=============================================== + +To compile live.tex, you need: + +1. Xe(La)TeX (and related packages like fontspec) +0.997+ (a recent version is bundled with TeX Live). + +2. xeCJK macro package. + +3. At least one CJK font (with Simpified Chinese +glyphs), preferably two, one for normal text, +another for emphasized text. To change the font, +open tex-live.sty (line 23 - 25): + + \setCJKmainfont[BoldFont=Adobe Heiti Std]{Adobe Song Std} + \setCJKmonofont[Scale=0.9]{Adobe Kaiti Std} + \setCJKfamilyfont{song}[BoldFont=Adobe Heiti Std]{Adobe Song Std} + +Replace "Adobe Heiti Std" and "Adobe Song Std" to +some OpenType/TrueType fonts you already installed. + +4. Type make or simply + + xelatex texlive-zh-cn.tex + +for several times to make sure cross-references are +correctly generated. + +5. If you have any problems, please contact: + gzjjgod at gmail dot com + +jjgod, 2007/01/03. + diff --git a/Master/texmf/doc/texlive/source/texlive-zh-cn/tex-live.sty b/Master/texmf/doc/texlive/source/texlive-zh-cn/tex-live.sty new file mode 100644 index 00000000000..2289ab97ace --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-zh-cn/tex-live.sty @@ -0,0 +1,464 @@ +% $Id: tex-live.sty 9758 2008-07-25 00:47:03Z karl $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] +% +\RequirePackage{alltt} +\RequirePackage{array} +\RequirePackage{colortbl} +\RequirePackage{comment} +\RequirePackage{float} +\RequirePackage{graphicx} +\RequirePackage{longtable} +\RequirePackage{shortvrb} +\RequirePackage[normalem]{ulem} +\RequirePackage[obeyspaces]{url} +\RequirePackage{xspace} + +% Chinese support (with XeTeX 0.997+) +\RequirePackage{xeCJK} +\def\Status{1} +\parindent=20pt +\defaultfontfeatures{Mapping=tex-text} +\setCJKmainfont[BoldFont=Adobe Heiti Std]{Adobe Song Std} +\setCJKmonofont[Scale=0.9]{Adobe Kaiti Std} +\setCJKfamilyfont{song}[BoldFont=Adobe Heiti Std]{Adobe Song Std} + +\renewcommand\contentsname{目录} +\renewcommand\listfigurename{插图列表} +\renewcommand\listtablename{表格列表} +\renewcommand\refname{参考文献} +\renewcommand\indexname{索引} +\renewcommand\figurename{图} +\renewcommand\tablename{表} +\renewcommand\partname{部分} +\renewcommand\appendixname{附录} +\renewcommand\abstractname{摘要} +\setlength{\parskip}{5pt} + +% +%\RequirePackage{lmodern} +%\usepackage{textcomp}% including \textbullet +\def\p.{p.\,} + +% for a proper \acro command. +\RequirePackage{relsize} +%\DeclareRobustCommand{\acro}[1]{\textscale{.9}{#1}\@} +\def\acro#1{\textscale{.9}{#1}\@} +% +\RequirePackage{fancyvrb} +\DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} +\DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} +\DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} +\DefineVerbatimEnvironment{boxedverbatim} + {Verbatim}{fontsize=\scriptsize,frame=single} +\DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} +\def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} +\def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} +\def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} +\MakeShortVerb\| +% +% +% Done with packages. +% +% Page layout. +\advance\textwidth by 1.1in +\advance\oddsidemargin by -.55in +\advance\evensidemargin by -.55in +% +\advance\textheight by 1in +\advance\topmargin by -.5in +\advance\footskip by -.5in +\pagestyle{headings} +% +% LaTeX parameters. +\renewcommand{\topfraction}{0.85} +\renewcommand{\floatpagefraction}{0.86} +\renewcommand{\textfraction}{0.1} +\renewcommand{\abovecaptionskip}{4pt} +\renewcommand{\belowcaptionskip}{4pt} +\setcounter{tocdepth}{3} +\setcounter{secnumdepth}{3} +\setcounter{topnumber}{5} +\setcounter{totalnumber}{5} +% +% linebreaking, etc. +\hbadness=4000 +\vbadness=4000 +\emergencystretch=.1\hsize +\relpenalty=500 +% +\def\slash{/\penalty\z@\hskip\z@skip } +% +% various sorts of names +\newcommand*{\pkgname}[1]{\textsf{#1}}% package name +\newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name +\newcommand*{\cmdname}[1]{\textsf{#1}}% command name +\newcommand*{\colname}[1]{\emph{#1}}% collection name +\newcommand*{\dirname}[1]{\path{#1}}% directory name +\newcommand*{\filename}[1]{\path{#1}}% file name +\newcommand*{\envname}[1]{\texttt{#1}}% environment variable name +\newcommand{\code}[1]{\texttt{#1}} +\newcommand{\file}[1]{\texttt{#1}} +\newcommand{\prog}[1]{\textsf{#1}}% same as \cmdname +\newcommand{\samp}[1]{`\texttt{#1}'} +\newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. +\newcommand{\ttvar}[1]{\texttt{\var{#1}}} +% +% underlined command input. +%\def\Ucom#1{% +% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} +% bold command input +\def\Ucom#1{{\bfseries\ttfamily #1}} +% +% \CDref is for url's with a #, where we need to write the target url and +% displayed url separately in the input, due to catcode madness. +% (We could simplify/remove this next time, I think.) +% \def\CDref#1#2{\texttt{#1}} +% +% \OnCD is currently for any other reference to a file or directory in +% the distribution. PDF readers only open .pdf files, though, so we +% should change this to only use \href for those. Or more likely use +% different macros in the source. +% \def\OnCD#1{\href{../../../../#1}{\path{#1}}} +% +% \href incorrectly appends .pdf to anything without an extension; these +% definitions using \hyper@linkurl do not, but they fail for .pdf +% references -- which are the only ones that work anyway. So this is +% useless, in practice. +\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} +\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} + +% GUI menu/button/tab sequence: +\def\guiseq#1{\textsf{#1}} +\def\arw{\unskip$\rightarrow$\ignorespaces} +% +% Special names. +\def\dpi{$\,$dpi\xspace} +\def\bs{{\protect\normalfont\ttfamily\char'134}} +\DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} +\def\Q#1{\par\vskip6pt\leftline{#1}\par} +\def\hyph{-} +% +% many abbreviations. +\newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% + \hbox{$\mathcal{S}$}\kern-.075em $} +\def\AFMtoTFM{\cmdname{AFM2TFM}\null} +\def\bv{\emph{Baskerville}} +\let\BV=\bv +\def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} +\def\dvicopy{\cmdname{dvicopy}} +\def\dvidvi{\cmdname{dvidvi}} +\def\dvips{\cmdname{dvips}} +\def\eTeX{$\varepsilon$-\TeX} +\def\fpTeX{\textrm{fp}\TeX\xspace} +\def\GFtoDVI{\cmdname{GFtoDVI}\null} +\def\GFtoPK{\cmdname{GFtoPK}\null} +\def\GFtype{\cmdname{GFtype}} +\def\GUI{\acro{GUI}\xspace} +\def\KPS{Kpathsea} +\def\La{La} +\def\OMEGA{$\Omega$} +\def\OzMF{OzMF} +\def\OzMP{OzMP} +\def\OzTeX{O\kern-.03em z\kern-.15em\TeX} +\def\PKtype{\cmdname{PKtype}} +\def\PLtoTF{\cmdname{PLtoTF}\null} +\def\ProTeXt{Pro\TeX t} +\def\teTeX{\textrm{te}\TeX\xspace} +\def\TeXLive{\TeX{} Live\xspace} +\def\TFtoPL{\cmdname{TFtoPL}\null} +\def\TK{\TeX\ Collection} +\let\TL=\TeXLive +\def\TypeI{Type~1} +\def\VFtoVP{\cmdname{VFtoVP}\null} +\def\VPtoVF{\cmdname{VPtoVF}\null} +\def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} +\def\XEmTeX{\textrm{XEm}\TeX\xspace} +\def\XEmacs{\textrm{XEmacs}\xspace} +\def\XeTeX{Xe\TeX\xspace} +\def\Webc{Web2C} +\providecommand*{\CD}{\acro{CD}\xspace} +\providecommand*{\CTAN}{\acro{CTAN}\xspace} +\providecommand*{\DVD}{\acro{DVD}\xspace} +\providecommand*{\GNU}{\acro{GNU}\xspace} +\providecommand*{\ISO}{\acro{ISO}\xspace} +\providecommand*{\HTML}{\acro{HTML}\xspace} +\providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} +\providecommand*{\PS}{Post\-Script\xspace} +\providecommand*{\TDS}{\acro{TDS}\xspace} +\providecommand*{\dvi}{\acro{DVI}\xspace} +\providecommand*{\web}{\texttt{WEB}\xspace} + +% Include an image. +% #1 - name of image (pictures/#1.jpg, always .jpg please) +% #2 - bb for html +% #3 - width for TeX +% +\def\tlimage#1#2#3{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#3]{pictures/#1.jpg} + \fi + \\[5mm] +} + +\def\tlpng#1#2{% + \ifnum \Status=2 % html, want relative path in output + \includegraphics[bb=0 0 1 1]{#1.png}% + \else % not html, handled by TEXINPUTS in Makefile + \includegraphics[width=#2]{#1.png}% + \fi +} +% +% description-like environment that uses tt instead of bf, and doesn't +% go to the left margin. Without the \hfil, get an underfull box. +% Don't know why \descriptionlabel doesn't. +% +\newenvironment{ttdescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt % these lists tend to have short descriptions + \parindent=0pt + \let\makelabel=\ttdescriptionlabel}}% + {\end{list}} +\newcommand*\ttdescriptionlabel[1]{\hspace\labelsep + \normalfont\ttfamily #1\hfil} +% +% Likewise, for commands using sans serif. +\newenvironment{cmddescription} + {\begin{list}{label must be supplied}{% + \itemsep=0pt + \let\makelabel=\cmddescriptionlabel}}% + {\end{list}} +\newcommand*\cmddescriptionlabel[1]{\hspace\labelsep + \normalfont\sffamily #1\hfil} + +% General squeezed itemize. +\newenvironment{itemize*}% + {\begin{itemize}% + \setlength{\itemsep}{0pt}% + \setlength{\parskip}{0pt}}% + {\end{itemize}} + +\newsavebox{\wbox} +\newenvironment{warningbox} + {\begin{lrbox}{\wbox} + \begin{minipage}{.95\textwidth}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} +% +% lrbox is used as a representation marking. I changed it to +% lrBox in tne source file, to get closer to logical marking +\newsavebox{\mylrbox} +\newenvironment{lrBox} + {\begin{lrbox}{\mylrbox}} + {\end{lrbox}} + + +% emacs-page output setup +% +\ifx \HCode\UnDef + \providecommand{\Status}{0}% running TeX +\else + \providecommand{\Status}{2}% running TeX4ht +\fi +%\typeout{Status is \Status} +% +\newif\ifSingleColumn +% +% By default, we won't be creating hyperlinks. +\def\href#1#2{#2} +\def\hypertarget#1#2{} +\def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url +% +\definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. +% +% +\ifcase\Status + % \Status = 0 + \typeout{TeX Live documentation in DVI format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 1 + \typeout{TeX Live documentation in PDF format} + \RequirePackage[breaklinks, + colorlinks,linkcolor=hypercolor,citecolor=hypercolor, + urlcolor=hypercolor,filecolor=hypercolor, + bookmarksopen, + %pdfstartview={FitBH -320000}, % fails with acrobat7 + hyperindex] + {hyperref} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + \or + % \Status = 2 + \typeout{TeX Live documentation in HTML format} + \SingleColumntrue + \newenvironment{multicols}[1]{}{} + % read our config file, live4ht.cfg; q.v., for more definitions. + % hyperref load must come after the tex4ht load. + \RequirePackage[live4ht]{tex4ht} + \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} + % definitions need simplifying for TeX4ht to make relative paths work. + \def\CDref#1#2{\href{../../../../#1}{#2}} + \def\OnCD#1{\href{../../../../#1}{#1}} + \or + % \Status = 3 + \typeout{TeX Live documentation as a Baskerville issue} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \RequirePackage{bvoutln}% outline of baskerville + \SingleColumnfalse + \RequirePackage{multicol} + \or + % \Status = 4 + \typeout{TeX Live documentation as a TUB article} + \@ifundefined{Fonts}% + {\RequirePackage{ae}}% + {\RequirePackage[T1]{\Fonts}} + \SingleColumnfalse + \newenvironment{multicols}[1]{}{} +\fi +% +\ifnum \Status=4 +\else + \RequirePackage{texnames} + \providecommand\TeXXeT{\TeX-{}-% + \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} + \def\MP{MetaPost} + \let\mf\MF + \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} + \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org + % from pictex.tex: + \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi + \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi +\fi +% +% hacking at sections etc., to pay attention to baskerville status +\newcommand{\@condend@multicols}{% + \ifSingleColumn + \else + \def\@tempa{multicols}% + \ifx\@tempa\@currenvir + \end{multicols}% + \fi + \fi +} +\let\Section\section +\renewcommand{\section}{% + \@ifstar + {\Section*}% + {% + \@condend@multicols + \@dblarg\@full@section + }% +} +\def\@full@section[#1]#2{% + \Section[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} +\let\SubSection\subsection +\renewcommand{\subsection}{% + \@ifstar{\SubSection*}% + {% + \@condend@multicols + \@dblarg\@full@subsection + } +} +\def\@full@subsection[#1]#2{% + \SubSection[#1]{#2}% + \ifSingleColumn\else\begin{multicols}{2}\fi +} + +% calm things down a bit if we're in a multiple-column version +\ifSingleColumn +\else + \def\@listI{\leftmargin\leftmargini + \parsep \z@ + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \itemsep \z@ \@plus .1\p@ + } + \let\@listi\@listI + \@listi + \def\@listii{\leftmargin\leftmarginii + \labelwidth\leftmarginii\advance\labelwidth-\labelsep + \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \itemsep \z@ \@plus .1\p@ + } + \def\@listiii{\leftmargin\leftmarginiii + \labelwidth\leftmarginiii\advance\labelwidth-\labelsep + \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ + \parsep \z@ + \partopsep \z@ + \itemsep \topsep + } + \def\@listiv{\leftmargin\leftmarginiv + \labelwidth\leftmarginiv\advance\labelwidth-\labelsep + } + \def\@listv{\leftmargin\leftmarginv + \labelwidth\leftmarginv\advance\labelwidth-\labelsep + } + \def\@listvi{\leftmargin\leftmarginvi + \labelwidth\leftmarginvi\advance\labelwidth-\labelsep + } +\fi +% +% array package stuff +\def\arraybackslash{\let\\=\@arraycr} +\newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} +% +% shaded rows (using facilities of colortbl) +% +\definecolor{pale}{gray}{.9} +\newcount\colrow +\gdef\RowColor{pale} +\def\SetRowColor{% + \rowcolor{\RowColor}% + \global\advance\colrow by1\relax + \ifodd\colrow + \gdef\RowColor{pale}% + \else + \gdef\RowColor{white}% + \fi +} +% redefine to hack up a reference even though we don't need it... +\renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout + {\string\bibcite{#1}{?}}\fi\ignorespaces} +% +% \unknownTeXlive is a dummy texlive entry for the biblio +\newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% + \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% +} +\newtoks\@all@unknown +\global\@all@unknown{} +\AtEndDocument{\@message@unknowns} +\def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% + \ifx\@tempa\@empty + \else + \def\@tempa{*** TeX live package location of }% + \expandafter\@output@unknowns\the\@all@unknown\@empty + \fi +} +\def\@output@unknowns#1{\edef\@tempb{#1}% + \ifx\@tempb\@empty + \typeout{ unknown}% + \else + \message{\@tempa#1,}% + \def\@tempa{}% + \expandafter\@output@unknowns + \fi +} + + +% Silence font warnings about no bold typewriter in LM. +\def\@font@warning#1{}% + +% Silence hyperref warnings about \kern. +\def\HyPsd@Warning#1{}% + +\endinput diff --git a/Master/texmf/doc/texlive/source/texlive-zh-cn/texlive-zh-cn.tex b/Master/texmf/doc/texlive/source/texlive-zh-cn/texlive-zh-cn.tex new file mode 100644 index 00000000000..c444dca64c2 --- /dev/null +++ b/Master/texmf/doc/texlive/source/texlive-zh-cn/texlive-zh-cn.tex @@ -0,0 +1,2576 @@ +% $Id$ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Translated by Jjgod Jiang <gzjjgod@gmail.com>, +% Jinsong Zhao <jinsong.zhao@gmail.com>, +% Yue Wang <yulewang@gmail.com> +% Helin Gai <helin.gai@gmail.com> +% Public domain. +% +\documentclass{article} +\let\tldocenglish=1 % for live4ht.cfg + +\usepackage{tex-live, indentfirst} + +\begin{document} + +\title{% + {\huge \textit{\TeX\ Live 指南}\\\smallskip}% + {\LARGE \textsf{\TL{} 2008}} +} + +\author{Karl Berry 编写 \\[3mm] + \url{http://tug.org/texlive/} + } + +\date{2008 年 7 月} + +\maketitle + +\begin{multicols}{2} +\tableofcontents +%\listoftables +\end{multicols} + +\section{简介} +\label{sec:intro} + +\subsection{\TeX\ Live 与 \TeX\ Collection} + +本文档描述 \TL{} 软件的主要功能和特性,\TL{} 是 \TeX{} 及其相关程序在 +\acro{GNU}/Linux 及其他类 Unix 系统、\MacOSX\ 和 Windows +系统下的一套发行版。 + +你可以直接下载 \TL{},也可以在 \TeX{} 用户组织给会员分发的 \TK{} +\DVD 中找到。第 \ref{sec:tl-coll-dists} 节中,简要地介绍了 +\DVD 的内容。这两套发行版都是用户组织共同协作完成的。 +这篇文档, 主要介绍 \TL{} 本身。 + +\TL{} 包括了 \TeX{}, \LaTeXe{}, \ConTeXt, \MF, \MP, \BibTeX{} +等许多可执行程序;种类繁多的宏包、字体和文档,并支持世界上许多 +不同的语言。 + +\TL{} 中的安装包定期根据 \acro{CTAN}:\url{http://www.ctan.org} +上的内容进行更新。 + +文档末尾的第 \ref{sec:history} 节 (第 \pageref{sec:history} 页) +介绍了这一版 \TL{} 的重要改变。 + +\subsection{操作系统支持} +\label{sec:os-support} + +\TL{} 为包括 \MacOSX 在内的多种基于 Unix 的操作系统提供了可执行 +文件。它还包含了源代码,可供在没有提供可执行文件的平台上编译安装。 + +至于 Windows,\TL{} 仅支持 Windows 2000 或后续版本。 +不再支持 Windows 9\textit{x}, ME 和 NT。 +因为这一改变,Windows 支持相对于 Unix 支持系统而言不再需要很多的 +特殊对待。我们没有包含 64 位的 Windows 可执行文件,不过 32 位的可 +执行文件也能 64 位的系统上正常运行。 + +除了 \TL{} 以外,Windows 和 \MacOSX 用户还有其它的选择,请参考第 +\ref{sec:tl-coll-dists} 节。 + +\subsection{\protect\TL{} 的基本安装} +\label{sec:basic} + +你可以使用 \DVD{} 方式或者网络方式来安装 \TL{}。 +通过网络的安装程序本身非常小,它可以从网上下载所有的你所要求的软 +件包。网络安装程序对仅使用 \TL{} 一小部分的用户来说非常适宜。 + +\DVD{} 安装程序可以把 \TL{} 安装到你的本地磁盘上,也可以直接从 +\DVD{} 上运行 \TL{} (其实如果你的系统支持挂载 DVD 镜像,你也可以 +从 \DVD 镜像上运行)。 + +\noindent 安装方法将在下面的章节介绍,这里提供一个快速入门: + +\begin{itemize*} + +\item 安装脚本的名称是 \filename{install-tl}。它可以在 \GUI{} 模式 +(Windows 下的默认模式) 和文本模式 (其它系统下默认模式) 下工作,你可 +以分别使用 \code{-gui} 或 \code{-no-gui} 命令行参数来强制以某一模式 +运行程序。 + +\item 安装完成后可以得到一个名为 \prog{tlmgr} 的程序:`\TL\ Manager'。 +和安装程序一样,它可以在 \GUI{} 模式或文本模式下运行。你不但可以用它 +来安装或卸载软件包,还可以用来完成各种配置工作。 + +\end{itemize*} + + +\subsection{获得帮助} +\label{sec:help} + +\TeX{} 社群是活跃而友好的,几乎所有认真的提问都能得到回答。尽管如此,这种由志愿者 +和业余读者组成的技术支持仍然显得不太正式,所以,在提问前最好做好功课。(如果你更喜欢 +有保障的商业性技术支持,可以放弃 \TL{},改为购买商业 \TeX{} 系统,在 +\url{http://tug.org/interest.html#vendors} 上有一份销售商的列表。) + +按照推荐使用的顺序,我们列出了这样一份资源列表: + +\begin{description} +\item [起步] 如果你刚刚接触 \TeX,\url{http://tug.org/begin.html} +这个网页提供了这个系统的简短介绍。 + +\item [\TeX{} \acro{FAQ}] 这套庞大的 \TeX{} \acro{FAQ} 对各种各样的 +问题——从最基础到最晦涩的——都给予了简明的回答,它在 \TL{} 的 +\OnCD{texmf-doc/doc/english/FAQ-en/html/index.html},也可以在 +\url{http://www.tex.ac.uk/faq} 网站上找到。有问题时请先看看这里能否找 +到解答。 + +\item [\TeX{} Catalogue] 如果你在寻找某个特定的宏包、字体、程序等等,\TeX{} +Catalogue 就是你首先该找的地方。这里是所有 \TeX{} 相关内容的一个巨大集合。参见 +\url{http://www.ctan.org/help/Catalogue/}。 + +\item [\TeX{} 网上资源] \url{http://tug.org/interest.html} 页面上有 +许多和 \TeX{} 相关的链接,包括讨论这个系统方方面面的许多书籍、手册和文章。 + +\item [支持信息的归档] 最重要的两个技术支持论坛是 Usenet 的新闻组 +\url{news:comp.text.tex} 和邮件列表 \email{texhax@tug.org}。它们的内容 +归档中有多年以来的提问和回答供你搜索。你可以分别从 +\url{http://groups.google.com/groups?group=comp.text.tex} 和 +\url{http://tug.org/mail-archives/texhax} 进行查询。当然,一般性的搜索 +方式,比如用 \url{http://google.com} 找找,总没有坏处。 + +\item [提问] 如果你还是找不到答案,就可以通过 Google 或者你的新闻组阅读器在 +\dirname{comp.text.tex} 上提问,或者发送邮件到 \email{texhax@tug.org}。 +不过,在提问之前\emph{请一定}先阅读 \acro{FAQ} 上的这一条: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}, +它能提高你获得回答的可能性。 + +\item [\TL{} 技术支持] 如果你需要报告 bug,或者提出对 \TL{} 的发行、安装或 +文档的建议和意见,可以使用 \email{tex-live@tug.org} 这个邮件列表。不过,如果问题 +是针对 \TL{} 中包含的某个特定程序,那最好还是写信给这个程序的维护者或邮件列表。 +用 \code{-{}-help} 参数来运行程序都一般能得到用来报告其 bug 的地址。 + +\end{description} + +另一方面,你也不妨帮助其他有问题的朋友,\dirname{comp.text.tex} 与 +\code{texhax} 都是对所有人开放的,请尽管参与进去,在你能力所及的范围内提供帮助。 + +% don't use \TL so the \uppercase in the headline works. Also so +% tex4ht ends up with the right TeX. Likewise the \protect's. +\section{\protect\TeX\protect\ Live 概览} +\label{sec:overview-tl} + +这个小节描述的是 \TL{} 的内容,以及包含 \TL{} 的 \TK{}。 + +\subsection{\TL, pro\TeX{}t, Mac\TeX\ 的大集合:\TK} +\label{sec:tl-coll-dists} + +\TK{} 的 \DVD{} 包含了以下内容: + +\begin{description} + +\item [\TL] 是一个完整的 \TeX{} 系统,它可以直接在光盘上运行,也可以安装在本 +地磁盘上。 + +\item [Mac\TeX] 在 \TL{} 的基础上增加了原生的 \MacOSX\ 的安装程序和一些其它的 +Mac 应用程序。它的主页在 \url{http://www.tug.org/mactex/}。 + +\item [pro\TeX{}t] 是 Windows 下的 \MIKTEX\ 发行版的一个增强版本。\ProTeXt\ 在 +\MIKTEX\ 基础上增加了一些工具,简化了安装。它完全独立于 \TL{},有其 +自己的安装步骤。\ProTeXt\ 的主页在 \url{http://tug.org/protext}。 + +\item [CTAN] 一份 \CTAN{} 仓库的快照。 + +\item[\texttt{texmf-extra}] 一个提供额外的配套软件包的目录。 + +\end{description} + +\CTAN{}, \pkgname{protext} 和 \dirname{texmf-extra} 并不一定遵循 \TL{} +的版权协议,因此在分发或修改时要格外地小心。 + +\subsection{\TL{} 的顶层目录} +\label{sec:tld} + +这里是 \TL{} 发行版顶层目录的一个简短的列表和描述。注意在 \pkgname{live} +\DVD\ 中,整个 \TL{} 目录结构都存放于 \dirname{texlive} 子目录中,而非 +光盘的顶层目录下。 + +\begin{ttdescription} +\item[bin] \TeX{} 系统程序,按平台组织。 +% +\item[readme.html] 网页,提供了多种语言的简介和有用的链接。 +% +\item[source] 所有程序的源代码,包括主要的 \Webc{} \TeX{} 和 \MF{} + 发行版。 +% +\item[support] 各类辅助性宏包与程序。这些内容\emph{不会}自动安装。 +包括配套的编辑器和 \TeX\ 的前端 (外壳) 程序。 +% +\item[texmf] 见下文的 \dirname{TEXMFMAIN}。 +% +\item[texmf-dist] 见下文的 \dirname{TEXMFDIST}。 +% +\item[texmf-doc] 这个目录树用于存放和具体程序、宏包关系不大的纯粹 +文档,按语言组织。 +% +\item[tlpkg] 用来维护安装程序所用到的脚本,程序和数据。还内置了 +Windows 下 Perl 和 Ghostscript 的专有版本,它们不能在 \TL 外使用。 +还有一个新的 Windows PostScript 阅读器 PSView。 +\end{ttdescription} + +上述目录之外,安装脚本和 (多种语言的) \filename{README} 文件也存放在发行版的顶层目录下。 + +\dirname{texmf-doc} 目录包含了那些不隶属于任何特定宏包或程序的文档。 +程序的文档 (手册,man page, Info 文件等) 在 \dirname{texmf/doc} +目录下,因为这些程序本身是属于 \dirname{texmf} 目录的。\TeX\ 宏包与格式文件 +的文档则放在 \dirname{texmf-dist/doc} 目录。但不管放在哪个地方,你都可以使用 +\cmdname{texdoc} 或 \cmdname{texdoctk} 程序来寻找这些文档。顶层目录下的 +\OnCD{doc.html} 文件中提供的完整的链接也会有所帮助。 + +\TL\ 本身的文档在 \dirname{texmf-doc} 目录下,有以下这些语言的版本: + +\begin{itemize*} +\item{简体中文:} \OnCD{texmf-doc/doc/chinese/texlive-zh-cn} +\item{捷克/斯洛伐克语:} \OnCD{texmf-doc/doc/czechslovak/texlive-cz} +\item{英语:} \OnCD{texmf-doc/doc/english/texlive-en} +\item{法语:} \OnCD{texmf-doc/doc/french/texlive-fr} +\item{德语:} \OnCD{texmf-doc/doc/german/texlive-de} +\item{波兰语:} \OnCD{texmf-doc/doc/polish/texlive-pl} +\item{俄语:} \OnCD{texmf-doc/doc/russian/texlive-ru} +\end{itemize*} + + +\subsection{预定义的 texmf 目录树概览} +\label{sec:texmftrees} + +本小节列出了系统中用于指定 texmf 目录的所有预定义变量及其用途, +还有一个 \TL{} 系统的默认布局。\texttt{texconfig conf} 命令可 +以列出这些变量的值,这样你可以很容易找到它们和你所安装到的目录 +名称的对应关系。 + +\begin{ttdescription} +\item [TEXMFMAIN] 存储系统核心部件的目录树,包括辅助脚本 (比如 +\verb+web2c/mktexdir+) 和其他支持文件和文档。 +这个目录不包含 \TeX\ 格式文件和宏包。 +\item [TEXMFDIST] 存储主要的宏包、字体等等,即一开始就在发行版中包括的而非自己 +后续添加的那些文件。 +\item [TEXMFLOCAL] 系统管理员用来安装供整个系统使用的额外的或更新过的宏包、字体的目录。 +\item [TEXMFHOME] 给用户存放它们自己独立安装的的宏包、字体等等。 +这个变量根据不同的用户选择不同的主目录。 +\item [TEXMFCONFIG] 给 \verb+texconfig+、\verb+updmap+、和 \verb+fmtutil+ +这些程序存储修改过的配置文件。默认在 \envname{TEXMFHOME} 目录树下。 +\item [TEXMFSYSCONFIG] 给 \verb+texconfig-sys+、\verb+updmap-sys+ 和 +\verb+fmtutil-sys+ 这些程序存储修改过的文件. +\item [TEXMFVAR] 这个目录是给 \verb+texconfig+、\verb+updmap+ 和 + \verb+fmtutil+ 存储 (缓存) 格式文件、生成 map 文件这类运行时数据的。默认在 + \envname{TEXMFHOME} 目录下。 +\item [TEXMFSYSVAR] 给 \verb+texconfig-sys+、\verb+updmap-sys+ 和 +\verb+fmtutil-sys+ 还有 \verb+tlmgr+ 这几个命令存储、缓存运行时使用的格式文件和 +生成的 map 文件。 +\end{ttdescription} + +\noindent +默认的目录结构: +\begin{description} + \item[全系统根目录] 可以包含多个 \TL{} 版本: + \begin{ttdescription} + \item[2007] 上一个版本。 + \begin{ttdescription} + \item [...] + \end{ttdescription} + \item[2008] 当前版本。 + \begin{ttdescription} + \item [bin] ~ + \begin{ttdescription} + \item [i386-linux] \GNU/Linux 二进制文件 + \item [...] + \item [universal-darwin] \MacOSX 二进制文件 + \item [win32] Windows 二进制文件 + \end{ttdescription} + \item [texmf] 这是 \envname{TEXMFMAIN}。 + \item [texmf-dist] \envname{TEXMFDIST} + \item [texmf-doc] \envname{TEXMFDOC} + \item [texmf-var] \envname{TEXMFSYSVAR} + \item [texmf-config] \envname{TEXMFSYSCONFIG} + \end{ttdescription} + \item [texmf-local] \envname{TEXMFLOCAL} 用来存放在不同版本间共享的数据。 + \end{ttdescription} + \item[用户主 (home) 目录] (\texttt{\$HOME} 或 + \texttt{\%USERPROFILE\%}) + \begin{ttdescription} + \item[.texlive2007] 给上个版本的,个人生成和配置的数据。 + \item[.texlive2008] 给这个版本的,个人生成和配置的数据。 + \begin{ttdescription} + \item [texmf-var] \envname{TEXMFVAR} + \item [texmf-config] \envname{TEXMFCONFIG} + \end{ttdescription} + \item[texmf] \envname{TEXMFHOME} 个人的宏包文件。 + \textit{等等。} + \end{ttdescription} +\end{description} + + +\subsection{\protect\TeX\ 的扩展版本} +\label{sec:tex-extensions} + +\TeX{} 的开发已经冻结了,仅仅修改除去发现的极其少量的错误。 +在现在以及可预见的未来,\TL\ 中仍然提供 \prog{tex} 这个程序。 +除此以外,\TL{} 包括了一些建立在 \TeX\ 基础上的的扩展程序。 +\TL{} 包括下列 \TeX\ 扩展版本: + +\begin{description} + +\item [\eTeX] 为 \TeX\ 增加了一套新的原语 (primitive)。 +\label{text:etex} (包括宏展开,字符扫描,mark 的分类,额外的调试功能,等等) +以及用于双向排版的 \TeXXeT{} 扩展模式。在默认模式下,\eTeX{} 是与原始的 \TeX\ +100\% 兼容的。参见 \OnCD{texmf-dist/doc/etex/base/etex_man.pdf}。 + +\item [pdf\TeX] 在 \eTeX\ 扩展的基础上构建,在 \dvi{} 输出之外增加对 +\acro{PDF} 输出的支持。 +这是针对 \prog{etex}, \prog{latex} 或 \prog{pdflatex} 这些格式使用的缺省程序。 +见 \url{http://www.pdftex.org}。它的手册在 \OnCD{texmf/doc/pdftex/manual}。展 +示其一些功能的例子可以在 \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex} +中找到。 + +\item [Lua\TeX] 是 pdf\TeX\ 指定的后继者,尽可能对 pdf\TeX\ 保持向前兼容。 +它同时也是 Aleph (见后) 的继任者。 +它内置的 Lua 语言解释器 (\url{http://www.lua.org}) 为许多 \TeX{} 的棘手问题 +提供了优雅的解决方案。 +当以 \filename{texlua} 命令执行时,它就像一个标准的 Lua 解释器一样工作, +所以,Lua\TeX\ 在 \TL\ 中也被作为 Lua 程序的解释器。 +见 \url{http://www.luatex.org} 和 \OnCD{texmf-dist/doc/luatex/luatexref-t.pdf}。 + +\item [Xe\TeX] 通过第三方库,增加对 Unicode 输入文本和 OpenType 字体的支持, +能够直接使用系统字体。参见 \url{http://scripts.sil.org/xetex}。 + +\item [\OMEGA\ (Omega)] 基于 Unicode (16 位字符集),因而同时支持处理世界上 +几乎所有的语言。它同时还支持所谓的 `\OMEGA{} Translation Processes' (\acro{OTP}), +用于对任意输入进行复杂的变换操作。参见 +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (文档的更新可能不是很及时)。 + +\item [Aleph] 将 \OMEGA\ 与 \eTeX\ 扩展合并到一起得到的。 +在 \OnCD{texmf-dist/doc/aleph/base} 可以找到一些简短的文档。 + +\end{description} + + +\subsection{\protect\TL\ 中其他值得一提的程序} + +这里是在 \TL{} 中其他的一些常用程序: + +\begin{cmddescription} + +\item [bibtex] 参考文献支持。 + +\item [makeindex] 索引支持。 + +\item [dvips] 将 \dvi{} 转换为 \PS{}。 + +\item [xdvi] X Window System 下的 \dvi{} 阅读器。 + +\item [dvilj] HP LaserJet 系列打印机的 \dvi{} 驱动。 + +\item [dv2dt, dt2dv] \dvi{} 和纯文本之间的相互转换。 + +\item [dviconcat, dviselect] 从 \dvi{} 文件中复制和粘贴页面。 + +\item [dvipdfmx] 将 \dvi{} 转换为 \acro{PDF},是 (前面提到过的) +pdf\TeX\ 的一套替换方案。参见 \pkgname{ps4pdf} 和 +\pkgname{pdftricks} 软件包以了解其他的方案。 + +\item [psselect, psnup, \ldots] \PS{} +实用程序。 + +\item [lacheck] \LaTeX{} 语法检查器。 + +\item [texexec, texmfstart] Con\TeX{}t 和 \acro{PDF} 处理工具。 + +\item [tex4ht] \TeX{} 到 \acro{HTML} (还有 \acro{XML} 等其他格式) +的转换器。 + +\end{cmddescription} + + +\subsection{\TL\ 中的字体} +\label{sec:tl-fonts} + +\TL{} 中包括了很多的高质量矢量字体,参见 \url{http://tug.org/fonts} 和 +\OnCD{texmf-doc/english/free-math-fonts-survey}。 + +\section{安装} +\label{sec:install} + +\subsection{启动安装程序} +\label{sec:inst-start} + +首先请找来一张 \TK{} 的 \DVD{},或者下载 \TL{} 的网络安装程序,然后 +找到这个安装脚本:Unix 下是 \filename{install-tl},Windows 下是 +\filename{install-tl.bat}。 + +\begin{description} +\item [网络安装程序:] 在 \CTAN 的 \dirname{systems/texlive/tlnet} +目录下可以下载,\url{http://mirror.ctan.org/systems/texlive/tlnet} 这个地址能 +自动将你导向一个附近的、保持更新的镜像。你可以下载同时支持 Unix 和 +Windows 的 \filename{install-tl.zip} 或者小得多但只支持 Unix 的 +\filename{install-unx.tar.gz}。解压后,\filename{install-tl} 和 +\filename{install-tl.bat} 就会出现在 \dirname{install-tl} 子目录中。 + +\item [\TeX{} Collection \DVD:] 打开 \dirname{texlive} 这个子目录。 +在 Windows 下安装程序应该在插入 \DVD 后就自动启动了。要获得 \DVD 的 +话可以加入一个 \TeX\ 用户组织 (推荐这么做,参见 +\url{http://tug.org/usergroups.html}) 或是单独购买 (通过 +\url{http://tug.org/store}),又或者是自己从 \ISO\ 镜像刻录 +(\url{http://tug.org/texlive/acquire.html})。 + +\end{description} + +下面的章节介绍得更为详细。 + +\subsubsection{Unix} + +\begin{figure}[tb] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + + Detected platform: Intel x86 with GNU/Linux + + <B> binary systems: 1 out of 16 + + <S> Installation scheme (scheme-full) + + Customizing installation scheme: + <C> standard collections + <L> language collections + 83 collections out of 84, disk space required: 1666 MB + + <D> directories: + TEXDIR (the main TeX directory): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + [X] install macro/font doc tree + [X] install macro/font source tree + [ ] create symlinks in standard directories + + <V> Install for running from DVD + +Other actions: + <I> start installation to HD + <H> help + <Q> quit + +Enter command: +\end{boxedverbatim} +\caption{文本模式主安装界面 (\GNU/Linux)}\label{fig:text-main} +\end{figure} + +\begin{figure}[tb] +\tlpng{install-w32-main}{\linewidth} +\caption{\GUI{} 模式主安装界面 (Windows)}\label{fig:gui-main} +\end{figure} + +\noindent +下面的 \texttt{>} 表示 shell 提示符;用户的输入则用 +\Ucom{\texttt{bold}} 体表示。 +在 Unix 兼容的系统的一个终端窗口下,最简单的方式是: +\begin{alltt} +> \Ucom{cd /path/to/installer} +> \Ucom{perl install-tl} +\end{alltt} +(或者你可以直接运行 \Ucom{perl /path/to/installer/install-tl},或者 +\Ucom{./install-tl},如果这个文件有可执行属性,我们不会把所有这些执 +行方法列出来。) + +要在 \GUI\ 模式下安装 (你需要 \dirname{Perl/TK} 模块),使用: +\begin{alltt} +> \Ucom{perl install-tl -gui} +\end{alltt} + +要列出所有这些选项: +\begin{alltt} +> \Ucom{perl install-tl -help} +\end{alltt} + +\textbf{关于 Unix 下权限的警告:} 在安装过程中,\TL{} 安装程序将会 +遵照你的 \code{umask} 行事。所以如果你需要让你的安装能给其他用户使 +用,就必须保证你设置的权限足够,比如 \code{umask 002}。更多关于 +\code{umask} 的信息请参见你自己系统的文档。 + +\subsubsection{Mac\,OS\,X} + +如第 \ref{sec:tl-coll-dists} 节提到的,我们给 \MacOSX 准备了一套独立的 +发行版,叫做 Mac\TeX\ (\url{http://tug.org/mactex})。我们推荐使用原生的 +Mac\TeX\ 安装程序,而不是 \TL\ 自带的那个,因为原生的这个能进行一些专门 +针对 Mac 的调整,尤其方便在多个 \MacOSX 下的 \TeX\ 发行版 (Mac\TeX, gw\TeX, +Fink, MacPorts, \ldots) 之间切换。 + +Mac\TeX\ 是严格依赖 \TL 构建的,所以主 \TeX\ 树也是完全一致的。不过它添 +加了一些用来存放 Mac 专有文档和程序的目录。 + +\subsubsection{Windows} + +如果你使用的是网络安装程序,又或者 \DVD 安装程序无法自动启动了,请 +双击 \filename{install-tl.bat}。 + +你也可以从命令行提示符下启动安装程序。下面 \texttt{>} 表示的就是提示符, +用户输入用 \Ucom{\texttt{bold}} 体表示。如果你正在安装程序目录下,只需要 +运行: +\begin{alltt} +> \Ucom{install-tl} +\end{alltt} + +或者你也可以通过绝对路径来运行,比如: +\begin{alltt} +> \Ucom{D:\bs{}texlive\bs{}install-tl} +\end{alltt} +这是对 \TK\ \DVD 而言的,假定 \dirname{D:} 是光驱。 + +要在文本模式下安装,使用: +\begin{alltt} +> \Ucom{install-tl -no-gui} +\end{alltt} + +要列出所有可用的选项: +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} + +\subsubsection{文本界面安装程序} + +图~\ref{fig:text-main} 展示了 Unix 下文本模式的主界面。 + +这是一个完全用命令行操作的安装程序,完全不支持光标移动。所以你无法 +在多选框或者输入框之间用 Tab 上下切换,只能在提示符下输入特定的字符 +(大小写敏感的) 然后按下 Enter,整个终端窗口就会把新的内容刷新出来。 + +文本安装程序之所以这么简陋是因为它要尽可能支持最多的平台,就算 +只有一个 Perl 的系统也能运行它 (对于 Windows 我们自带了一个 Perl +的裁剪版本)。 + +\subsubsection{图形界面安装程序} + +图~\ref{fig:gui-main} 展示了 Windows 下的的图形界面安装程序。图中 +选项的差别主要是因为这张图是从 Windows 下截取的,而上面的文本模式 +界面来自 \GNU/Linux。 + +\subsection{执行安装程序} +\label{sec:runinstall} + +安装程序应该不需要文档就足够明确。不过对这些选项和子菜单还需要点小说明。 + +\subsubsection{二进制系统菜单 (只对 Unix 适用)} +\label{sec:binary} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Available sets of binaries: +=============================================================================== + + a [ ] alpha-linux DEC Alpha with GNU/Linux + b [ ] amd64-freebsd x86_64 with FreeBSD + c [ ] hppa-hpux HP-UX + d [ ] i386-freebsd Intel x86 with FreeBSD + e [X] i386-linux Intel x86 with GNU/Linux + f [ ] i386-openbsd Intel x86 with OpenBSD + g [ ] i386-solaris Intel x86 with Sun Solaris + h [ ] mips-irix SGI IRIX + i [ ] powerpc-aix PowerPC with AIX + j [ ] powerpc-linux PowerPC with GNU/Linux + k [ ] sparc-linux Sparc with GNU/Linux + l [ ] sparc-solaris Sparc with Solaris + m [ ] universal-darwin universal binaries for MacOSX/Darwin + o [ ] win32 Windows + p [ ] x86_64-linux x86_64 with GNU/Linux +\end{boxedverbatim} +\caption{Binaries (二进制程序) 菜单}\label{fig:bin-text} +\end{figure} + +图~\ref{fig:bin-text} 展示了文本模式下的 binaries (二进制程序) +菜单。默认情况下只会安装你当前平台下的二进制程序。在这个菜单下, +你可以选择安装其他架构的二进制程序。这对你要将 \TeX\ 树共享在 +异构网络上的情况比较有用,又或者用于双启动的系统。 + +\subsubsection{选择要安装的组件} +\label{sec:components} + +\begin{figure}[tbh] +\begin{boxedverbatim} +Select a scheme: +=============================================================================== + + a [ ] TeX Live basic scheme + b [ ] TeX Live scheme for ConTeXt + c [X] TeX Live full scheme + d [ ] GUST TeX Live scheme + e [ ] GUTenberg TeX Live scheme + f [ ] TeX Live medium scheme + g [ ] TeX Live minimal scheme + h [ ] TeX Live for Omega users + i [ ] teTeX scheme + j [ ] XML typesetting scheme +\end{boxedverbatim} +\caption{Scheme (安装方案) 菜单}\label{fig:scheme-text} +\end{figure} + +图~\ref{fig:scheme-text} 展示了 \TL\ 的安装方案菜单;从这里你选择的是 +一套``安装方案'',也就是对软件包集合的一个统一划分。默认的 \optname{full} +方案会把所有可用的都装上,不过你也可以给小点的系统选择 \optname{basic} 方 +案,为测试选用 \optname{minimal} 方案,又或者是 \optname{medium} 或 +\optname{teTeX} 来选择介乎其间的方案。还有许多特殊或者专门针对特定国家 +的方案。 + +\begin{figure}[tbh] +\tlpng{stdcoll}{.7\linewidth} +\caption{Collections (集合) 菜单 (Linux)}\label{fig:collections-gui} +\end{figure} + +你可以使用 `standard collections' 与 `language collections' 菜单来详细 +选择安装方案。(图~\ref{fig:collections-gui} 显示了 \GUI 模式下修改的情 +况。) + +Collection (安装集合) 是比 scheme (方案) 要更细的一层 \Dash 实际上一个 +方案包含了多个集合,而一个集合又包含了一到多个软件包,然后每个软件包 +(\TL 中最小的组织单位) 则包含了实际的 \TeX\ 宏文件,字体文件,等等。 + +如果你觉得 collection 菜单对安装控制还不够细,可以在安装后使用 +\prog{tlmgr} 程序 (参见第~\ref{sec:tlmgr} 节),它能在软件包一层 +控制安装。 + +\subsubsection{目录} +\label{sec:directories} + +缺省的目录布局在第~\ref{sec:texmftrees} 节有过叙述,见第 +\pageref{sec:texmftrees} 页。默认的 \dirname{TEXDIR} 路径 +则是 Windows 下的 |%PROGRAMFILES%\texlive\2008| 和 Unix +下的 \dirname{/usr/local/texlive/2008}。 + +更改默认值的主要原因大概是你可能没有默认位置的写权限。虽然要安装 +\TL 不需要是管理员或者 root 用户,但你至少得对安装的目的目录有写 +权限。 + +一个合理的选择是你自己主目录下的一个子目录,尤其在只有你一个人 +使用的时候。使用 `|~|' 来表示主目录,比如 `|~/texlive/2008|'。 + +我们建议在目录名称中保留年份,这样可以让你保留多个不同版本的 +\TL{}。(你可能希望用一个类似 \dirname{/usr/local/texlive-cur} +这样的名字作为指向当前版本的符号链接,这样的目录名就和版本无 +关了,你只要在新版本出来直接更新符号链接即可。) + +在安装程序中修改 \dirname{TEXDIR} 之后还会同时修改 +\dirname{TEXMFLOCAL}, \dirname{TEXMFSYSVAR} 和 +\dirname{TEXMFSYSCONFIG}。 + +\dirname{TEXMFHOME} 是推荐用来存放个人宏文件和软件包的目录。 +其缺省值是 |~/texmf|。与 \dirname{TEXDIR} 不同,其中包含的 +|~| 会被不加转换地写进配置文件,因为它能在 \TeX 系统运行时 +自动被替换为每个用户自己的主目录。在 Unix 它会被展开为 +\dirname{$HOME},而 Windows 下展开为 \verb|%USERPROFILE%|。 + +\subsubsection{选项} +\label{sec:options} + +\begin{figure}[tbh] +\begin{boxedverbatim} +<P> use letter size instead of A4 by default: [ ] +<F> create all format files: [X] +<D> install font/macro doc tree: [X] +<S> install font/macro source tree: [X] +<L> create symlinks in standard directories: [ ] + binaries to: + manpages to: + info to: +\end{boxedverbatim} +\caption{Options 菜单 (Unix)}\label{fig:options-text} +\end{figure} + +图~\ref{fig:options-text} 显示了文本模式的选项菜单。其中有 +三个选项值得一提: + +\begin{description} +\item[use letter size instead of A4 by default:] 常见的缺省纸张大小选择。 +当然如果需要,每份文档都可以单独设定一个纸张大小。 + +\item[create all format files:] 虽然创建不必要的格式文件会浪费一 +点时间,也会多占一些磁盘空间,但 +我们还是建议现在保持这个选项的选定状态,因为如果这次不生成,下次 +用到的时候格式文件就会在用户个人的 \dirname{TEXMFVAR} 目录树内生 +成。这样每次二进制文件或者断字模式更新的时候,这些格式文件也得不 +到更新,所以可能会导致它们的不兼容。 + +\item[create symlinks in standard directories] (只对 Unix 有效): +这个选项可以省下设定环境变量的步骤。如果没有选择它,就必须把 +\TL{} 的对应目录添加到 \envname{PATH}, \envname{MANPATH} 和 +\envname{INFOPATH} 中。如果要创建符号链接,你需要对这些目标 +目录的写权限。我们不建议你用这个命令来覆盖现有的 \TeX\ 系统, +它主要是为了在用户已知的标准目录中创建符号链接设计的,这些 +目录并不包含任何 \TeX\ 文件。 +\end{description} + +如果所有的设置已经齐备,你就可以按下 `I' 来开始安装了。安装完成后, +你可以跳至第 \ref{sec:postinstall} 节来了解还需要做些什么工作。 + +\subsubsection{设置从 DVD{} 运行 (只对文本模式适用)} +\label{sec:fromdvd} + +按 `|V|' 来选择这个选项。它将主菜单改变为类似图~\ref{fig:main-fromdvd} +的界面。 +\begin{figure}[tbh] +\begin{boxedverbatim} +======================> TeX Live installation procedure <===================== + +=======> Note: Letters/digits in <angle brackets> indicate menu items <======= +=======> for commands or configurable options <======= + + <D> directories: + TEXDIRW (Writable root): + !! default location: /usr/local/texlive/2008 + !! 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/2008/texmf-var + TEXMFSYSCONFIG (directory for local config): + /usr/local/texlive/2008/texmf-config + TEXMFHOME (directory for user-specific files): + ~/texmf + + <O> options: + [ ] use letter size instead of A4 by default + [X] create all format files + + <V> set up for installing to hard disk + +Other actions: + <I> start installation for running from DVD + <H> help + <Q> quit +\end{boxedverbatim} +\caption{启用 \optname{from DVD} 集合后的主菜单}\label{fig:main-fromdvd} +\end{figure} + +注意变化之处:所有关于安装内容的选项都消失了,而目录这部分 +的设置现在是根据 \dirname{TEXDIRW} (或者一个可写的根目录) +来设置的。创建符号链接的选项也没有了。 + +这样安装程序仍然会创建一些目录和配置文件,但并不会把 \dirname{texmf}, +\dirname{texmf-dist} 或 \dirname{texmf-doc} 目录复制到本地硬盘上。 + +Unix 系统下的安装后配置步骤要稍微复杂一些,因为这样目录布局就和缺 +省情况有所区别了,参见第 \ref{sec:postinstall} 节。 + +因为时间限制,这个选项还来不及集成进入 \GUI{} 安装程序。不过它的确 +是同时支持 Unix 和 Windows 的。Windows 用户需要从命令行选项来启动 +这个安装程序,参见第 \ref{sec:cmdline} 节。 + +第 \ref{sec:portable-unix} 节描述了一套更具可移植性地运行 \TL{} +的方法,它不需要对系统配置做任何改动,但也做不了任何配置。 + +\subsection{命令行安装选项} +\label{sec:cmdline} + +输入 +\begin{alltt} +> \Ucom{install-tl -help} +\end{alltt} +可以列出所有的命令行参数。你既可以用 |-| 也可以用 |--| 来指定一个 +参数。这里有些比较有趣的: + +\begin{ttdescription} +\item[-gui] 尽可能用 \GUI{} 模式的安装程序。它需要安装了 + Perl/Tk 模块 (\url{http://tug.org/texlive/distro.html#perltk}); + 如果找不到 Perl/Tk,安装程序就会在文本模式下出现。 +\item[-no-gui] 强制使用文本模式安装程序,就算在 Windows 下也是如此。 +如果你需要 `from \DVD' 安装方式就需要用到这个选项,因为这个方式在 +\GUI{} 模式下没有提供。 +\item[-lang {\sl LL}] 指定安装程序界面的语言,使用两个字符的语言 +代码 \textsl{LL}。目前支持的语言有:英语 (\texttt{en}, 默认值), +德语 (\texttt{de}), 法语 (\texttt{fr}), 荷兰语 (\texttt{nl}), 波兰语 +(\texttt{pl}), 斯洛文尼亚语 (\texttt{sl}) 和越南语 (\texttt{vi})。 +安装程序会尝试自己判断出合适的语言,如果判断出的语言没有支持就会 +使用英语替代。 +\item[-profile {\sl profile}] 安装程序会在 \dirname{2008/tlpkg} +目录或者安装到的子目录 \dirname{tlpkg} 中创建一个叫 +\filename{texlive.profile} 的文件。这个选项可以让安装程序重用 +现成的这种文件。这里有个例子: + \begin{fverbatim} +# texlive.profile written on Wed Jul 9 16:13:44 2008 UTC +# It will NOT be updated and reflects only the +# installation profile at installation time. +selected_scheme scheme-basic +TEXDIR /usr/local/texlive/2008 +TEXDIRW /usr/local/texlive/2008 +... +TEXMFSYSVAR /usr/local/texlive/2008/texmf-var +collection-basic 1 +... +option_symlinks 0 + \end{fverbatim} +这样一来,通过这个选项你就可以在后来的系统里进行批量安装了,可以 +保证选项和第一次安装的完全一样。 +\item [-location {\sl url/path}] 为软件包指定一个非官方的来源,参见下文。 +\end{ttdescription} + +\subsubsection{\optname{location} 参数} +\label{sec:location} + +location 值可以是一个以 \texttt{ftp:}, \texttt{http:}, 或 +\texttt{file:/} 起始的 URL,或者一个本地路径。如果给定的地 +址在本地磁盘上 (或者是路径或者是 \texttt{file:/} 开头的 URL), +我们可以立即判断出安装的类型 (压缩的 CD 还是 live DVD):如果 +能找到一个叫 \dirname{archive} 子目录而且它下面都是 +\filename{.tar.lzma} 格式的压缩文件,那就会用它进行安装,就算 +没压缩的文件也存在。 + +如果给定了一个 \texttt{http:} 或 \texttt{ftp:} 地址,其末尾的 +`\texttt{/}' 字符和末尾的 `\texttt{/tlpkg}' 这段都会被忽略。 +比如你可以选择这样的一个 \CTAN 镜像: +\url{http://ctan.example.org/tex-archive/texlive/tlnet/2008}, +当然你应该把 |ctan.example.org/tex-archive| 替换为具体镜像的 +域名和特定的顶层 \CTAN 路径 (\url{http://ctan.org/mirrors}) +维护了一个 \CTAN 的镜像列表)。缺省值是使用 \url{http://mirror.ctan.org} +来自动判断的。不管是什么情况,选定的镜像都会被用来下载所有的 +内容。 + +\subsection{安装后的操作} +\label{sec:postinstall} + +安装后可能需要一些额外的操作。 + +\subsubsection{Windows} + +在 Windows 下安装程序会完成所有的操作。 + +\subsubsection{如果创建了符号链接} + +如果你选择了在标准路径下创建符号连接 (在第~\ref{sec:options} 节提到), +那就不需要设置环境变量了。 + +\subsubsection{Unix 下的环境变量} +\label{sec:env} + +你应该将自己使用的平台下二进制程序的目录加入搜索路径中。每个支 +持的平台都在 \dirname{TEXDIR/bin} 下有自己的子目录。参见图~\ref{fig:bin-text} +以了解所有的这些子目录和它们对应的平台。 + +如果希望 man 和 info 能够找到,你还可以把文档的 man 和 Info 目录加 +入其对应的搜索路径中。 + +对于 \prog{bash} 这样的 Bourne 兼容 shell 而言,以 Intel x86 下的 +GNU/Linux、默认的目录设置为例,需要修改的文件是 \filename{$HOME/.profile} +(或者其他由 \filename{.profile} 载入的文件),应该添加的内容应该类似 +这样: + +\begin{sverbatim} +PATH=/usr/local/texlive/2008/bin/i386-linux:$PATH; export PATH +MANPATH=/usr/local/texlive/2008/texmf/doc/man:$MANPATH; export MANPATH +INFOPATH=/usr/local/texlive/2008/texmf/doc/info:$INFOPATH; export INFOPATH +\end{sverbatim} + +对于 csh 或者 tcsh,需要修改的文件通常是 \filename{$HOME/.cshrc},而 +应该添加的内容类似: + +\begin{sverbatim} +setenv PATH /usr/local/texlive/2008/bin/i386-linux:$PATH +setenv MANPATH /usr/local/texlive/2008/texmf/doc/man:$MANPATH +setenv INFOPATH /usr/local/texlive/2008/texmf/doc/info:$INFOPATH +\end{sverbatim} + +当然,你可能已经在你的配置文件里写过了这样的路径设置,那就只需要 +把 \TL\ 的这些目录加进去就行了。 + +\subsubsection{环境变量的全局配置} +\label{sec:envglobal} + +如果你希望在整个系统范围内修改这些变量,或这样系统新增的用户自动 +继承这些变量,就得自寻方法了,因为不同的系统之间这方面的配置差异 +太大。 + +我们的建议是: 1)~你可能应该看看 \filename{/etc/manpath.config} +这个文件是否存在,如果有的话,添加下面这样的内容: + +\begin{sverbatim} +MANPATH_MAP /usr/local/texlive/2008/bin/i386-linux \ + /usr/local/texlive/2008/texmf/doc/man +\end{sverbatim} + +然后 2)~检查 \filename{/etc/environment} 是否定义了默认的搜索路径 +和其他的默认环境变量。 + +\subsubsection{如果从 DVD 运行} + +通常来说 \TL{} 程序都会寻找一个叫做 \filename{texmf.cnf} 的文件 +来获知所有的 \TeX 树位置。它会在一系列和其本身位置相关的地方寻 +找这个文件。不过如果直接在 \DVD 上运行,这套规则就不适用了:因为 +\DVD{} 是只读的,而某些路径只能在安装时确定下来并写入这个文件, +所以这个文件没法放在 \DVD{} 上,只能另置一处。所以可能会需要定义 +\envname{TEXMFCNF} 来告知 \TL{} 程序该从哪儿找到这个 \filename{texmf.cnf} +文件。当然,如前所述 \envname{} 环境变量还是要改的。 + +在安装结束时,安装程序会输出一段告诉你如何设置 \envname{TEXMFCNF} +的信息,如果你忽略了话,它应该是 \dirname{$TEXMFSYSVAR/web2c},默认 +情况下就是 \dirname{/usr/local/texlive/2008/texmf-var/web2c},你需要 +在 bash 下使用: +\begin{sverbatim} +TEXMFCNF=/usr/local/texlive/2008/texmf-var/web2c; export TEXMFCNF +\end{sverbatim} +或者 [t]csh 下使用: +\begin{sverbatim} +setenv TEXMFCNF /usr/local/texlive/2008/texmf-var/web2c +\end{sverbatim} + + +\subsubsection{\ConTeXt{} Mark IV} + +`老版'的 \ConTeXt{} 正常就应该能工作。新的 `Mark IV' \ConTeXt{} +则需要一些手动设置。参见 +\url{http://wiki.contextgarden.net/Running_Mark_IV}。 + +\subsubsection{集成本地与个人宏文件} +\label{sec:local-personal-macros} + +这在第~\ref{sec:texmftrees} 节已经顺带提到过了:\dirname{TEXMFLOCAL} +目录 (它的默认值是 \dirname{/usr/local/texlive/texmf-local} 或者 +\verb|C:\Program Files\texlive\texmf-local|) 这个目录就是为了存储 +面向整个系统的本地字体和宏文件的;而 \dirname{TEXMFHOME} 目录 (其 +默认值是 \dirname{$HOME/texmf} 或者 \verb|%USERPROFILE%\texmf|), +则是用来存储个人的字体和宏文件的。这些目录应该在各个 \TL{} +版本之间共享,每个版本都能看到其内容。因此不应该把 +\dirname{TEXMFLOCAL} 改得和主 \TL{} 目录差别太大,否则新的版本出来 +你又得再改。 + +对于这两个目录树而言,文件都应该放到合适的子目录中,参见 +\url{http://tug.org/tds} 或者 \filename{texmf/web2c/texmf.cnf} +文件。比如一个 \LaTeX{} 文档类或者宏包应该放在 +\dirname{TEXMFLOCAL/tex/latex} 或者 \dirname{TEXMFHOME/tex/latex} +目录下,要不然就是它们的一个子目录下。 + +\dirname{TEXMFLOCAL} 目录需要一个保持更新的文件名数据库,否则新增 +的文件就无法找到。你可以使用 \cmdname{mktexlsr} 命令或者 +\prog{tlmgr} \GUI\ 模式下,configuration 选项卡中的 +`Reinit file database' 按钮来刷新它。 + +\subsubsection{集成第三方字体} + +不幸的是,这是一个非常复杂而混乱的主题。除非你对 \TeX{} 安装非常 +熟悉,否则请不要涉足这个领域。别忘了事先看看我们附带的字体,参见 +第 \ref{sec:tl-fonts} 节。 + +\XeTeX 是一套可行的替代方案 (参见第 \ref{sec:tex-extensions} 节), +它能让你使用操作系统的字体而不必将它安装到 \TeX 中。 + +\subsection{测试安装是否成功} +\label{sec:test-install} + +在完成你所需要的 \TL{} 安装之后,自然你会希望试试看它是否正常工作,好让你在以后能够 +创建优美的文档和字体。 + +这个小节给出了一些测试系统是否正常工作的基本步骤。我们这里使用的是 Unix 命令,在 +\MacOSX{} 和 Windows 下你更可能是使用图形界面运行这些测试的,不过其原理并无不同。 + +\begin{enumerate} + +\item 首先确认你可以执行 \cmdname{tex} 程序: +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.1415926 (Web2C 7.5.7) +kpathsea version 3.5.7 +... +\end{alltt} +如果返回的结果是 `command not found' 而非版本和版权信息,或者显示了 +旧版本的信息,很有可能是因为你没有把正确的 \dirname{bin} 子目录添加 +到 \envname{PATH} 中。参见第 \pageref{sec:env} 页关于设置环境变量 +的说明。 + +\item 处理一个基本的 \LaTeX{} 文件: +\begin{alltt} +> \Ucom{latex sample2e.tex} +This is pdfeTeXk, Version 3.141592... +... +Output written on sample2e.dvi (3 pages, 7484 bytes). +Transcript written on sample2e.log. +\end{alltt} +如果无法找到 \filename{sample2e.tex} 或其他什么文件,很可能是因为旧的环境变量 +或配置文件影响了判断。我们建议你重置所有 \TeX 相关的环境变量然后重试。(你可以 +让 \TeX{} 报告具体搜索的路径,以便仔细分析出错的原因。参见第 \pageref{sec:debugging} +页的``调试操作''一节以了解更多信息。) + +\item 即时预览结果: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Windows 下类似的命令叫 \cmdname{dviout}。) 你应该可以看到在新窗口中出现了一篇 +介绍 \LaTeX{} 基础的有趣文档。(如果你刚接触 \TeX\ 系统,还是值得一读的。) \cmdname{xdvi} +需要运行在 X 窗口系统下才能工作,如果没有运行窗口环境或 \envname{DISPLAY} 环境变量设置 +错误,都会得到 \samp{Can't open display} 这句错误信息。 + +\item 创建用于打印或显示的 \PS{} 文件: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item 创建 \acro{PDF} 文件而非 \dvi{},这里采用直接处理 \filename{.tex} +文件输出 \acro{PDF} 的方式: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item 预览 \acro{PDF} 文件: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{或:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +不幸的是 \cmdname{gv} 和 \cmdname{xpdf} 现在都不包含在 \TL{} 中,你 +必须单独安装它们。请分别参阅 \url{http://www.gnu.org/software/gv} 和 +\url{http://www.foolabs.com/xpdf}。(还有许多其他的 \acro{PDF} 查看器。) + +\item 除 \filename{sample2e.tex} 外可能会对你有用的标准测试文件: + +\begin{ttdescription} +\item [small2e.tex] 比 \filename{sample2e} 更为简单的文档,供你在遇到问题 +时尝试减少输入的内容。 +\item [testpage.tex] 测试你的打印机是否带有预设的偏移量。 +\item [nfssfont.tex] 打印一份字体表格 (proofsheet) 以供测试。 +\item [testfont.tex] 用 plain \TeX{} 打印字体表格。 +\item [story.tex] 最经典的 (plain) \TeX{} 测试文件。在执行 +\samp{tex story.tex} 之后,你还要在 \code{*} 提示符下键入 \samp{\bs bye}。 +\end{ttdescription} +你可以用与我们处理 \filename{sample2e.tex} 文件时相同的方式来处理这些文件。 + +\end{enumerate} + +如果你还是个 \TeX{} 新手,或者在编辑 \TeX{} 或 \LaTeX{} 文档时需要帮助, +请访问 \url{http://tug.org/begin.html} 寻找引导性的资源。 + + +\section{网络安装} +\label{sec:netinstall} + +\TL{} 的设计可以使它在不同的用户间共享,甚至可以在网络上不同的系统间共 +享。在标准的目录结构下,不需要配置固定的绝对路径:\TL{} 程序所需要的文 +件都能通过都在这些程序自身的相对路径找到。你可以在 +\filename{$TEXMFMAIN/web2c/texmf.cnf} 配置文件中看到实际的处理, +它包含了类似下面的内容: +\begin{verbatim} +TEXMFMAIN = $SELFAUTOPARENT/texmf +... +TEXMFLOCAL = $SELFAUTOPARENT/../texmf-local +\end{verbatim} +这就意味着,其它的系统或用户只需要把 \TL{} 的可执行文件的位置添加到其 +系统的搜索路径中即可。 + +同理,你也可以先把 \TL{} 安装在本地,然后再把整个安装目录转移到网络上。 + +当然,Windows 用户会有不同的期望。\dirname{texmf-doc/source/texlive/texlive-common/w32client} +目录包含了一个样例脚本 \filename{install-w32client},它可以为局域网上的 +\TL{} 安装产生配置文件和菜单快捷方式。它可以通过在相同目录的 +\filename{install-w32client.bat} 调用。 + +你可以在第~\ref{sec:kpathsea}~节中了解更多有关 \TL{} 配置和 +路径搜索的内容。 + +\section{在 DVD 或 USB 上最具可移植性地运行 \protect\TL{}} +\label{sec:portable-unix} + +在第 \ref{sec:fromdvd} 节中介绍的``从 \DVD{} 运行''选项可以使发行版在 +你的系统上很好地运行,但是如果你在别人的机器上用非管理员帐号工作, +那你就可能希望使用对系统本身的影响最小的运行方式。 + +在 \TL{} \DVD 的根目录,或者 \TK{} \DVD 的 \dirname{texlive} 子目录中, +有一个为 Unix 系统提供的脚本 \filename{tl-portable} 和一个为 Windows +系统提供的批处理文件 \filename{tl-portable.bat}。它们能开启一个设置好 +环境变量的终端或命令提示符,在其中就能直接运行 \DVD 上的 \TL{}。 + +头一次执行时它会花点时间在 \dirname{~/.tlportable2008} 目录下生成一些 +文件,此后就可以在很短的时间内启动了。 + +而此时系统的其它程序并不知道 \TL{} 的存在,如果你需要让你的文本编辑器 +使用这个 \TL,可以再打开一个这样的 \filename{tl-portable} 会话来使用 +该编辑器。 + +你还能通过 \filename{tl-portable} 在 \acro{USB} 驱动器上运行 \TL。 +在这种情况下,请 (至少) 把所有的顶层目录下的所有文件和 \dirname{bin}, +\dirname{texmf}, \dirname{texmf-dist} 和 \dirname{tlpkg} 下的所有内容 +复制到 USB 驱动器上。这会花一定的时间。如果你把它复制到一个 \acro{FAT}32 +格式的 \acro{USB} 驱动上,请保证复制操作是跟踪 (dereference) 所有的 +符号链接到实际数据文件的 (\code{cp -L})。运行时都会查找并使用驱动器上 +的 \dirname{texmf-local} 目录。 + +然后你就可以在驱动器的根目录下像上面那样运行 \filename{tl-portable} +了。此时脚本能判断出这个驱动是可写的,并把产生的文件写到这里。 +为了方便起见 (比如你想把它提供给别人),你也可以把驱动器上的最终内容 +刻录回到 \DVD{} 上。 + +\section{\cmdname{tlmgr}: 管理你的安装} +\label{sec:tlmgr} + + +\begin{figure}[tb] +\tlpng{tlmgr-gui}{\linewidth} +\caption{图形界面模式运行的 \prog{tlmgr} 程序。 +安装包/集合/方案仅在按下 `Load' 按钮后显示。}\label{fig:tlmgr-gui} +\end{figure} + +\begin{figure}[tb] +\tlpng{tlmgr-config}{\linewidth} +\caption{图形界面模式的 \texttt{tlmgr}: Configuration 选项卡}\label{fig:tlmgr-config} +\end{figure} + +安装程序会装上一个叫 \prog{tlmgr} 的程序,它可以用来管理安装后的 +系统。像 \prog{updmap}, \prog{fmtutil} 和 \prog{texconfig} 这些程序 +仍然包含在发行版中,而且在将来也不会剔除,但是 \prog{tlmgr} 是一个 +优选的界面。它的功能包括: + +\begin{itemize*} +\item 列出方案 (scheme),集合和安装包; +\item 安装、升级、备份、恢复、卸载软件包,并且能自动计算依赖关系; +\item 查找软件包; +\item 列出和添加可执行文件的架构; +\item 改变安装选项,比如纸张大小和源文件位置 (参见第~\ref{sec:location}~节)。 +\end{itemize*} +\textit{警告:} \prog{tlmgr} 并不为在 \DVD 中运行设计,也从未做过相 +关的测试。 + +\subsection{图形界面模式的 \cmdname{tlmgr}} +\prog{tlmgr} 可以用以下命令以图形模式启动: +\begin{alltt} +> \Ucom{tlmgr -gui} +\end{alltt} +Windows 下可以通过开始菜单:\texttt{开始},\texttt{程序}, +\texttt{TeX Live 2008},\texttt{TeX Live Manager}。 +在假定安装包源是有效且可及的情况下,在点击 `Load' 以后,它会列出 +所有可获取的或已安装 (前面用 `(i)' 表示) 的软件包。 + +图~\ref{fig:tlmgr-config} 展示了配置选项卡。 + +\subsection{\cmdname{tlmgr} 命令行使用示例} + +下面的例子会从一个非默认的地址安装一些包,其中包括一个新的`引擎'。 + +\begin{alltt} +> \Ucom{tlmgr -location http://172.16.18.1/tldev install collection-xetex xkeyval} +\end{alltt} +它会产生下面的输出: +\begin{fverbatim} +install: collection-xetex +install: arabxetex +install: euenc +install: bidi +install: fontspec +install: fontwrap +install: ifxetex +install: philokalia +install: polyglossia +install: xecyr +install: xecyr.i386-linux +install: xepersian +install: xetex +install: xetexconfig +install: xetex.i386-linux +running post install action for xetex +install: xetex-def +install: xetex-pstricks +install: xetexfontinfo +install: xltxtra +install: xunicode +install: xkeyval +running mktexlsr +mktexlsr: Updating /usr/local/texlive/2008/texmf/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-config/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-dist/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-doc/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/../texmf-local/ls-R... +mktexlsr: Updating /usr/local/texlive/2008/texmf-var/ls-R... +mktexlsr: Done. +regenerating fmtutil.cnf +running fmtutil-sys --missing +... +Transcript written on xelatex.log. +fmtutil: /usr/local/texlive/2008/texmf-var/web2c/xetex/xelatex.fmt installed. +\end{fverbatim} +如你所见,\prog{tlmgr} 会安装所有依赖的包,也会处理所有包括刷新文件名 +数据库和重新生成格式文件在内的所有必要的安装后工作。(在这里,我们生成 +了新的 \XeTeX\ 格式文件)。 + +下面这个例子安装了一个新的语言支持,也会触发格式文件的重新生成。 +\begin{alltt} +> \Ucom{tlmgr install collection-langdutch} +\end{alltt} +如果想得到安装包的说明: +\begin{alltt} +> \Ucom{tlmgr show collection-wintools} +\end{alltt} +会产生 +\begin{fverbatim} +Package: collection-wintools +Category: Collection +ShortDesc: Windows support programs +LongDesc: Utilities for Windows, since they are not readily available there: + gzip, chktex, jpeg2ps, unzip, wget, xpdf. +Installed: Yes +\end{fverbatim} +把你的整个安装更新到最新版本: +\begin{alltt} +> \Ucom{tlmgr update -all} +\end{alltt} +如果你觉得这样太冒险了,可以先尝试 +\begin{alltt} +> \Ucom{tlmgr update -all -dry-run} +\end{alltt} +或 +\begin{alltt} +> \Ucom{tlmgr update -list} +\end{alltt} +程序的完整文档: +\begin{alltt} +> \Ucom{tlmgr -help} +\end{alltt} + +\section{有关 Windows 平台的说明} +\label{sec:windows} + +\TL{} 拥有可运行于 Windows 和 Unix 平台的单一安装程序。当然,只有在放弃对 +较老版本 Windows 的支持的情况下,这才成为可能。因此,现在 \TL{} 只能安装 +于 Windows 2000 或更新的版本。 + + +\subsection{针对 Windows 的特征} +\label{sec:winfeatures} + +在 Windows 下,安装程序额外地做了以下一些事情: +\begin{description} +\item[菜单与快捷方式。] 在开始菜单上加入了新的`\TL{}'程序菜单,主要是一些 +\GUI{} 程序 (如 \prog{tlmgr}、\prog{texdoctk}、PS\_View PostScript 预览程 +序) 和一些文档的菜单。PS\_View 还有一个桌面快捷方式,可以作为拖放 PostScript +文件的目标。 +\item[自动设置环境变量。] 不再需要手动的配置步骤。 +\item[反安装程序。] 安装程序为 \TL{} 创建了`添加/删除程序'条目。这与 +\prog{tlmgr} 的删除按钮相对应。 +\end{description} + +\subsection{附加的软件} + +\begin{figure}[tb] +\tlpng{psview}{.6\linewidth} +\caption{PS\_View:可以获得很高的放大倍数!}\label{fig:psview} +\end{figure} + +为了使安装更加完整,\TL{} 需要支持那些 Windows 机器上不常见的软件包。 +\TL{} 提供了以下缺失的部分: +\begin{description} +\item[Perl 和 Ghostscript。] 由于 Perl 和 Ghostscript 的重要性,\TL{} +提供了这些程序的`隐藏'拷贝。需要这些软件支持的 \TL{} 程序知道它们的位置, +但它们不会通过环境变量和注册表设置来暴露所在的位置。它们不是完整的发行 +版本,也不会与任何 Perl 或 Ghostscript 系统安装程序冲突。 +\item[命令行工具。] 与常见的 \TL{} 二进制文件一起,安装了一些常见的 +Unix 命令行工具的 Windows 移植版本。它们包括 \cmdname{gzip}、 +\cmdname{chktex}、\cmdname{jpeg2ps}、\cmdname{unzip}、\cmdname{wget} +和来自于 \cmdname{xpdf} 套装中的一些命令行工具。(虽然 \cmdname{xpdf} +浏览器本身没有 Windows 版本,但 Sumatra \acro{PDF} 浏览器是基于它的: +\url{http://blog.kowalczyk.info/software/sumatrapdf}。) +\item[\texttt{fc-cache}。] 有助于 \XeTeX{} 更有效率地处理字体。 +\item[PS\_View。] 同时安装的还有 PS\_View,一个具有自由许可证的全新的 +PostScript 浏览器;见图~\ref{fig:psview}。 +\end{description} +\begin{description} + \item[\texttt{support} 目录。] 在 \ref{sec:tld} 节提到过它。这个目录包括各种在 + \TeX{} 使用过程中非常有用的软件,主要是一些 \TeX{} 文件编辑器和 \TeX{} + 前端。这具目录中的软件不受安装程序影响。同时,这个目录中还包括 \dvi{} + 预览器 \cmdname{dviout};参见下一节的介绍。 +\end{description} + +\subsection{Dviout 预览器} + +不幸的是,\TL{} 发行版没有为 Windows 预装 \dvi{} 预览器。不过,你可以从 +\path{support/dviout/} 目录安装 Toshio Oshima 提供的 +\prog{dviout}。这个目录下包括了一份简短的 \filename{README},描述了如何为 +\TL{} 安装和配置 \prog{dviout}。请在安装前仔细阅读。 + +当你第一次使用 \cmdname{dviout} 预览文件时,因为没有安装屏幕显示字体,它 +将生成字体。一段时间后,你所使用的大部分字体都将生成,随后,你将很少再看 +到生成字体的窗口。你可以从 (非常棒的) 在线帮助中获得更加详细的信息。 + +\subsection{可下载的附加软件的链接} + +你可能考虑安装的其它工具的下载链接: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/},辅助的包可以从 \acro{CPAN} +下载,\url{http://www.cpan.org/} +\item[ImageMagick] \url{http://www.imagemagick.com},用于图像处理及转换 +\item[NetPBM] \url{http://netpbm.sourceforge.net/},同样用于图像 + +\item[面向 \TeX 的编辑器] 有很大选择余地,通常是一个用户偏好的问题。下 +面是一些精选的编辑器,当然,没有依特定顺序排列: + \begin{itemize*} + \item \cmdname{GNU Emacs} 有 Windows 下可用的原生版本,参见 \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}。 + \item 带 Auc\TeX{} 支持的 \cmdname{Emacs} 的 Windows 版本可在 \TL{} 下的 \path{support} 目录下找到;它的主页是 \url{http://www.gnu.org/software/auctex}。 + \item \cmdname{WinShell} 可以在 \TL{} 的 \path{support} 目录下找到。它的主页在 \url{http://www.winshell.de}。 + \item \cmdname{WinEdt} 是一个共享软件,可以从 \url{http://www.winedt.com} 获得。 + \item \cmdname{Vim} 是自由软件,可以从 \url{http://www.vim.org} 获得。 + \item TeXnicCenter 是自由软件,可以从 \url{http://www.toolscenter.org} 和 pro\TeX{}t 发行版中获得。 + \item \cmdname{LEd} 可以从 \url{http://www.ctan.org/support/LEd} 获得。 + \item \cmdname{SciTE} 可以从 \url{http://www.scintilla.org/SciTE.html} 获得。 + \end{itemize*} +\end{description} + + +\subsection{User Profile 目录相当于主目录} +\label{sec:winhome} + +Windows 下对应于 Unix 下的主目录的是 \verb|%USERPROFILE%|。在 Windows XP +和 Windows 2000 下,它通常位于 \verb|C:\Documents and Settings\<username>|; +在 Windows Vista 下是 \verb|C:\Users\<username>|。通常情况下,在 +\filename{texmf.cnf} 文件和 \KPS{} 中,\verb|~| 在 Windows 和 Unix 下均可以 +进行合适的展开。 + + +\subsection{Windows 注册表} +\label{sec:registry} + +Windows 将几乎所有的配置数据存放在注册表中。注册表是包含几个主支的一系 +列分层组织的分支。对于安装的程序而言,最重要的主支是 \path{HKEY_CURRENT_USER} +和 \path{HKEY_LOCAL_MACHINE},通常简写为 \path{HKCU} 和 \path{HKLM}。注册表的 +\path{HKCU} 部分位于用户的主目录 (参见 \ref{sec:winhome} 节)。\path{HKLM} +通常位于 Windows 目录的子目录中。 + +在某些情况下,系统信息可以从环境变量获得,但对于其它信息,如快捷方式的位置, +则需要访问注册表。设置永久环境变量也需要访问注册表。 + + +\subsection{Windows 权限} +\label{sec:winpermissions} + +在较新的 Windows 版本中,普通用户与管理员是有区别的。只有管理员能自由访问 +整个操作系统。尽管如此,在实际中,作为受限用户与普通用户,你最能好能够描 +述所处的用户类别:作为一个管理员是惯例,而不是特例。无论如何,我们努力使得 +\TL{} 的安装不需要管理员权限。 + +如果用户是管理员身份,安装程序将会为所有用户建立快捷方式,并且修改 +系统环境变量。否则,安装程序只为当前用户创建快捷方式,并改变用户环境变量。 +作为管理员,如果倾向于使用用户级设置,可以使用 \prog{install-tl} 的 +\optname{non-admin} 选项。 + +无论管理员状态如何,\TL{} 预设的默认根目录总是位于 \verb|%PROGRAMFILES%| +下。对于当前用户安装程序总是要测试,根目录是否可写。 + +如果用户不是管理员,并且 \TeX{} 已经存在搜索路径中,则可能会出现问题。因为有效路径是由系统路径后接用户路径组成,新安装的 \TL{} 可能永远不会优先运行。在这种情况下,一个变通的方案是,安装程序为命令提示符创建快捷方式。在这个快捷方式中,新安装的 \TL{} 的可执行目录被预设于本地的搜索路径中。当从这个快捷方式启动命令行任务时,便可以使用新的 \TL{}。 + + +\section{Web2C 用户指南} + +\Webc{} 是一整套 \TeX{} 相关程序的集合:\TeX{} 本身、\MF{}、\MP{}、\BibTeX{}, +等等。它是 \TL{} 的核心。\Webc{} 的主页及最新的手册等都在 +\url{http://tug.org/web2c}。 + +我们简单的介绍一下它的历史:最早它是由 Tomas Rokicki 在 1987 年实现的,他开发了第一套 +将 \TeX{} 系统的代码转换为 C 语言代码的系统,基于的是 Unix 下 change files +的原理,change files 的 +工作是 Howard Trickey 和 Pavel Curtis 完成的。Tim Morgan 后来成为了这套系统的维护 +者,在这期间,软件的名称改为了 Web-to-C\@。在许多其他贡献者的帮助下,1990 年 Karl Berry +接手了这个工作,到 1997 年,他把这项工作交给了 Olaf Weber。Olaf Weber 在 2006 年又 +把这项工作交还给了 Karl。 + +\Webc{} 系统可以在 Unix、32 位 Windows 系统、\MacOSX{} 和其他的一些操作系统下运行。 +它使用的是 Knuth 用 \web{} 文学编程语言编写的 \TeX{} 和其他基本程序的原始代码,将其转换为 C +源码。用这种方法处理的核心的 \TeX{} 程序包括: + +\begin{cmddescription} +\item[bibtex] 维护参考文献。 +\item[dmp] 从 \cmdname{troff} 格式转换为 MPX (\MP{} 图片)。 +\item[dvicopy] 展开 \dvi{} 中的虚拟字体 (virtual font) 引用。 +\item[dvitomp] 将 \dvi{} 转换为 MPX (MetaPost 图片)。 +\item[dvitype] 将 \dvi{} 转换为可读文本。 +\item[gftodvi] 生成 Generic 格式字体的 proofsheet。 +\item[gftopk] 将 Generic 格式字体转换为 packed 格式字体。 +\item[gftype] 将 Generic 格式字体转换为可读文本。 +\item[makempx] 排版 \MP{} label。 +\item[mf] 创建字体。 +\item[mft] 以漂亮的方式排版输出 \MF{} 的代码。 +\item[mpost] 创建技术性插图。 +\item[mpto] 展开 \MP{} 的 label。 +\item[newer] 比较文件的修改时间。 +\item[patgen] 创建断字规则文件。 +\item[pktogf] 将 Packed 格式字体转换为 generic 格式字体。 +\item[pktype] 将 PK 格式转换为可读的文本。 +\item[pltotf] 将纯文本的 property list 转换为 TFM 格式。 +\item[pooltype] 显示 \web{} 的 pool 文件。 +\item[tangle] 将 \web{} 转换为 Pascal 代码。 +\item[tex] 排版。 +\item[tftopl] 将 TFM 格式转换为纯文本的 property list 格式。 +\item[vftovp] 将虚拟字体格式转换为 virtual property list 格式。 +\item[vptovf] 将 virtual property list 格式转换为虚拟字体格式。 +\item[weave] 将 \web{} 转换为 \TeX。 +\end{cmddescription} + +\noindent 这些程序的详细功能和调用语法都在其各自软件包的文档中有说明,在 \Webc{} 的文 +档中也有相关介绍。不过,有些规则对所有这些程序都是通用的,了解这些规则有助于你更好的使用 +\Webc{}。 + +所有的程序都接受这些 \GNU 标准的选项: +\begin{ttdescription} +\item[-{}-help] 显示基本使用说明。 +\item[-{}-verbose] 显示详细的执行过程。 +\item[-{}-version] 显示版本信息,然后退出。 +\end{ttdescription} + +所有的 \Webc{} 程序均使用 \KPS{} (\url{http://tug.org/kpathsea}) 路径搜索库来查找文件, +这套库结合环境变量和配置文件的 +使用来优化大量 \TeX{} 文件的搜索。\Webc{} 可以在多于一套的目录树下执行查找,这可以方 +便维护类似 \TeX{} 标准发行版和本地版本的扩展这样两套目录树。为了优化搜索的速度,每个目 +录树的顶层目录下都有一个 \file{ls-R} 文件,这个文件里包含了所有此目录下文件的名称和对 +应的相对路径。 + +\subsection{Kpathsea 路径搜索} +\label{sec:kpathsea} + +我们首先介绍一下 \KPS{} 库的的通用路径搜索方式。 + +我们将目录名称称作\emph{路径元素},而把用冒号或者分号分隔的路径元素列表称 +作\emph{搜索路径}。搜索路径可能是许多种来源的组合,比如在 \samp{.:/dir} 路径下 +搜索 \samp{my-file} 这个文件,\KPS{} 将逐个尝试路径中的每个元素:首先是 +\file{./my-file},然后是 \file{/dir/my-file},并返回找到的第一个结果 (或者 +也可以返回所有的结果)。 + +为了符合所有操作系统下的习惯,\KPS{} 在非 Unix 系统下使用的路径分隔符可能不是冒号 +(\samp{:}) 和斜杠 (\samp{/})。 + +在检查一个具体的路径元素 \var{p} 时,\KPS{} 首先检查是否有符合 \var{p} 的文件名 +数据库 (见第 \pageref{sec:filename-database} 页的``文件名数据库'') 存在,也就是说, +是否有数据库正好对应着 \var{p} 的一个前缀。如果存在,就在数据库中寻找符合的路径后缀。 + +要是没有这种数据库存在、又或者所有的数据库都不能和指定的路径前缀匹配上、再或者找到的数 +据库里没有进一步的匹配,就要搜索文件系统了 (前提是我们没在路径前加上 \samp{!!} ,又 +或者搜索时就指定了这是一次``必定存在 (must exist)''型的搜索方式)。此时 \KPS{} 将 +根据路径元素构建一个需要检查的目录列表,逐个尝试这些目录,试图找到指定的文件。 + +搜索 \samp{.vf} 文件和 \TeX{} 用 \cs{openin} 命令读入的文件时,会指定``文件必 +定存在 (must exist)''这个选项。而有些文件 (比如 \file{cmr10.vf}) 可能不存在, +花费时间在磁盘上对它进行搜索是不值得的。因此,如果你安装了新的 \samp{.vf} 文件后没有 +更新 \file{ls-R},那这个文件将永远找不到。搜索时会优先在数据库寻找,然后再去搜索磁盘。 +一旦找到了就立即停止搜索,返回结果。 + +尽管最简单也最常见的路径元素是目录名称,\KPS{} 搜索的路径里还是可以使用其他额外功能的: +多层默认值,环境变量名称、配置文件值、用户主目录,以及递归式子目录查找。所以我们把 \KPS{} +将搜索路径变换为一个或多个基本目录名的过程称为\emph{展开}路径元素的过程。展开的方式 +按执行的顺序在后续小节里有叙述。 + +注意,如果搜索的文件给出了绝对路径或者明确的相对路径,即以 \samp{/} 或 \samp{./} 或 +\samp{../} 起始,\KPS{} 将只检查该文件是否存在。 + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{一份示例性的配置文件的例子} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{路径的来源} +\label{sec:path-sources} + +搜索路径可能来自许多地方,\KPS{} 是按照下面的顺序查找的: + +\begin{enumerate} +\item + 用户设置的环境变量,例如 \envname{TEXINPUTS}\@。以 . 连接某个程序名称的环境变量 +有更高的优先级,比如若正在运行的程序是 \samp{latex},那 \envname{TEXINPUTS.latex} +将比 \envname{TEXINPUTS} 优先级更高。 +\item + 专门针对某个程序的配置文件,比如 \cmdname{dvips} 的 \file{config.ps} 里出现 +\samp{S /a:/b} 这样一行。 +\item \KPS{} 配置文件 \file{texmf.cnf},包含类似 + \samp{TEXINPUTS=/c:/d} 这样的一行 (参见下面的解释)。 +\item 编译时的缺省值。 +\end{enumerate} +\noindent 你可以通过调试选项看到所有的这些值 (参见第 \pageref{sec:debugging} 页的 +``调试操作'')。 + +\subsubsection{配置文件} + +\begingroup\tolerance=3500 +\KPS{} 读入\emph{运行时配置文件} \file{texmf.cnf} 来获得搜索路径和其他定义。 +而这个 \file{texmf.cnf} 存放的路径则是在 \envname{TEXMFCNF} 变量里定义的, +默认是在 \file{texmf/web2c} 目录下。搜索路径里\emph{所有的} \file{texmf.cnf} +文件都会被读入,而先读入的优先级更高。所以,如果搜索路径是 \verb|.:$TEXMF|,那么 +文件 \file{./texmf.cnf} 里面的值要比 \verb|$TEXMF/texmf.cnf| 里边的优先。 +\endgroup + +\begin{itemize} +\item + 以 \code{\%} 表示单行注释。 +\item + 忽略空行。 +\item + 行末的 \bs{} 作为连接符,即把下一行直接接上。但保留下一行行首的空白。 +\item + 所有剩余的行格式如下: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + \samp{=} 号和空白都是可选的。 +\item + \ttvar{variable} (变量) 允许包含任何字符,除空白、\samp{=}、\samp{.} + 之外。不过只用 \samp{A-Za-z\_} 是最保险的。 +\item + 如果 \samp{.\var{progname}} (程序名) 存在,则该定义只对正在运行的名叫 + \texttt{\var{progname}} 或 \texttt{\var{progname}.exe} + 的程序起作用。这可以让给不同种类的 \TeX{} 程序设置不同的搜索路径。 +\item \var{value} (值) 允许任何 \code{\%} 与 \samp{@} 之外的字符出现。 + 不支持在等号右侧使用 \code{\$\var{var}.\var{prog}} 这样的写法。 + 如果在 Unix 下,\var{value} 中的 \samp{;}\ 字符会被转换为 + \samp{:}。如果你希望让 Unix, \acro{MS-DOS} 和 Windows 里都用同一个 + \file{texmf.cnf},这会很有用。 +\item + 在读入所有定义后再开始展开,所以你可以引用后边才定义的变量。 +\end{itemize} +展示上面所有内容的一段配置文件 +\ifSingleColumn +如下: + +\verbatiminput{examples/ex5.tex} +\else +见图~\ref{fig:config-sample}. +\fi + +\subsubsection{路径展开} +\label{sec:path-expansion} + +和 Unix shell 类似,\KPS{} 能够识别搜索路径中的特殊字符。比如一个复杂的路径 +\verb+~$USER/{foo,bar}//baz+,将展开为这样的子目录:在 \texttt{\$USER} +的主目录下的 \file{foo} 或 \file{bar} 目录中,且包含 \file{baz} +文件或目录。这种展开将在下面解释。 +%$ +\subsubsection{默认展开} +\label{sec:default-expansion} + +\tolerance=2500 +如果最高优先级 (参见第 \pageref{sec:path-sources} 页的``路径来源'') +的搜索路径中包含一个\emph{额外的冒号} (即前置、后置或连续的冒号),\KPS{} 将在 +此处插入次高优先级的搜索路径。如果插入的那个路径里也有额外的冒号,同样的步骤将发生 +在更次以及优先级的路径上。假设环境变量设置为 + +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} + +而 \file{texmf.cnf} 里的 \code{TEXINPUTS} 值为 + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} + +则用于搜索的最终值为: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +因为没必要插入多个相同的值,所以 \KPS{} 只会修改一个额外的 \samp{:},其他的不变。 +它首先检查前置的 \samp{:},然后是末尾的 \samp{:},最后是连续的 \samp{:}。 + +\subsubsection{大括号展开} + +大括号展开是一项有用的特性,其作用是把 \verb+v{a,b}w+ 这样的转换为 +\verb+vaw:vbw+,允许嵌套使用。通过把 \code{\$TEXMF} 赋值为一个括号列表, +可以构造出多套 \TeX{} 层级结构。例如在 \file{texmf.cnf} 里有下面的定义 +(这只是个近似的例子,实际情况定义的目录树还要更多): +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +这样一来,当你设置 +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +的时候,检查完当前目录后,依次检查的路径是 +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +和 \code{\$TEXMFMAIN/tex} (后两个只在 \file{ls-R} 数据库中搜索)。这样维护 +两套并行的 \TeX{} 结构就很方便的,一套是``固定 (frozen)''的 (比如放在 \CD\ 上) +而另一套是在新版本出现时就更新的。因为所有的定义里都用到了 \code{\$TEXMF}, +所以你可以确信时常更新的那个版本肯定是先被找到的。 + +\subsubsection{子目录展开} +\label{sec:subdirectory-expansion} + +在路径元素里的目录名称 \var{d} 后面接连使用两个或更多连续的斜杠,表示 \var{d} 的 +所有子目录:首先是直接处于 \var{d} 下的那些,然后是这些子目录的子目录,依此类推。 +每层的目录出现的顺序是\emph{不一定}的。 + +如果你在 \samp{//} 后面还指定了文件名,匹配的将只是那些包含了指定文件的路径。 +比如 \samp{/a//b} 将展开为路径 \file{/a/1/b}, \file{/a/2/b}, +\file{/a/1/1/b} 等等,但不会展开为 \file{/a/b/c} 或 \file{/a/1}。 + +可以在单个路径元素里使用多个 \samp{//},但出现在路径开头的 \samp{//} +将被忽略。 + +\subsubsection{特殊字符与其意义:简要说明} + +下面的列表总结了 \KPS{} 配置文件中出现的特殊字符: + +% need a wider space for the item labels here. +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +\begin{ttdescription} +\item[\CODE{:}] 路径分隔符,在路径的前边或者末尾时表示默认的展开方式。\par +\item[\CODE{;}] 非 Unix 系统下的路径分隔符 (和 \code{:} 功能一样)。 +\item[\CODE{\$}] 变量展开。 +\item[\CODE{\string~}] 表示用户的个人主目录。 +\item[\CODE{\char`\{...\char`\}}] Brace expansion. +\item[\CODE{//}] 子目录展开 (可以出现在除路径开头外的任意位置)。 +\item[\CODE{\%}] 注释的起始。 +\item[\CODE{\bs}] 连接下一行的字符 (以支持跨行的设置项)。 +\item[\CODE{!!}] \emph{只}在数据库中搜索文件,\emph{不}搜寻磁盘。 +\end{ttdescription} + + +\subsection{文件名数据库} +\label{sec:filename-database} + +\KPS{} 使用了一些方法来减少搜索时的磁盘访问次数。尽管如此,如果安装的文件足够多,在各 +个可能的目录下搜索某个文件仍然可能花上很长时间 (尤其是在必须遍历数百个字体目录的时候)。 +因此,\KPS{} 使用一个专门构建的纯文本``数据库''文件,这个文件叫做 \file{ls-R},它将 +文件和目录进行映射,避免对磁盘的大量搜索。 + +第二个数据库 \file{aliases} 允许你给 \file{ls-R} 中的文件指定其他的名字。有助于 +帮助源文件符合 \acro{DOS} 8.3 命名规范。 + +\subsubsection{文件名数据库} +\label{sec:ls-R} + +前边已经解释过,主文件名数据库的名称必须是 \file{ls-R}。你可以在每个需要搜索的 +\TeX{} 目录树 (缺省是 \code{\$TEXMF}) 下放置一个这样的文件。\KPS{} 在 +\code{TEXMFDBS} 指定的路径中寻找这些 \file{ls-R} 文件。 + +推荐使用发行版中包含的 \code{mktexlsr} 脚本来创建和维护 \samp{ls-R} 文件。各类 +\samp{mktex} 脚本也可能会间接调用这个脚本。实际上,这个脚本只是执行下面的命令: + +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} + +意味着你的系统的 \code{ls} 命令的输出格式必须正确 (\GNU \code{ls} 是没 +问题的)。要保证数据库及时更新,最简单的方法是定期通过 \code{cron} 来重建。 + +如果文件在数据库中找不到,缺省情况下 \KPS{} 会在磁盘上搜索。如果某个特定的路径元素 +是以 \samp{!!} 起始的,就\emph{只会}在针对这一元素的数据库中查找而不搜索磁盘。 + + +\subsubsection{kpsewhich: 独立的路径搜索} +\label{sec:invoking-kpsewhich} + +\texttt{kpsewhich} 程序将路径搜索从其他专用程序中独立出来,它可以作为类似 \code{find} +一样的程序,专门在 \TeX{} 层级结构中定位文件 (这在发行版中的 \samp{mktex}\dots\ +脚本中使用得非常多)。 + +\begin{alltt} +> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +\ttvar{option} 处的选项可以用 \samp{-} 也可以用 \samp{-{}-} 来起始,并接受 +任何不造成疑义的缩写。 + +\KPS{} 将第一个非选项的参数作为文件名来查找,并返回找到的第一个文件。它不提供 +寻找所有相同名称文件的功能 (你可以使用 Unix 的 \samp{find} 程序来达到这个功能)。 + +下面介绍了一些比较常见的选项。 + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{} + 将解析度设置为 \ttvar{num},这个选项只影响 \samp{gf} 文件和 \samp{pk} + 文件的查找。为了与 \cmdname{dvips} 兼容,提供 \samp{-D} + 这个同义的参数,默认值是 600。 + +\item[\texttt{-{}-format=\var{name}}]\mbox{}\\ + 将查找的文件格式设置为 \ttvar{name}。默认情况下是通过文件名来猜测格式的。对于扩展名 +有二义性的格式,比如 \MP{} 支持文件和 \cmdname{dvips} 配置文件,必须以 \KPS{} 已知 +的名称指定格式,比如 \texttt{tex} 或 \texttt{enc files}。运行 + \texttt{kpsewhich -{}-help} 会显示格式的列表。 + +\item[\texttt{-{}-mode=\var{string}}]\mbox{}\\ + 设置模式为 \ttvar{string},只影响 \samp{gf} 和 \samp{pk} + 文件的查找。默认情况匹配所有的模式。 +\item[\texttt{-{}-must-exist}]\mbox{}\\ + 尽一切可能找到文件,包括直接在磁盘上搜寻。默认情况下为了效率考虑,只检查 + \file{ls-R} 数据库里的内容。 +\item[\texttt{-{}-path=\var{string}}]\mbox{}\\ + 不通过文件名来猜测路径,沿 \ttvar{string} 指出的路径搜索 + (也使用冒号分隔)。支持 \samp{//} 和所有常见的展开方式。\samp{-{}-path} 选项 + 和 \samp{-{}-format} 选项是互斥的。 +\item[\texttt{-{}-progname=\var{name}}]\mbox{}\\ + 将执行查找的程序名称设为 \texttt{\var{name}}。 + 这会通过 \texttt{.\var{progname}} 特性影响搜索路径。 + 缺省值是 \cmdname{kpsewhich}。 +\item[\texttt{-{}-show-path=\var{name}}]\mbox{}\\ + 显示用于查找 \texttt{\var{name}} 类型文件的路径。和 \samp{-{}-format} + 选项一样,可以使用扩展名 (\code{.pk}, \code{.vf}, 等等) 也可以使用全名。 +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + 将调试选项 (等级) 设置为 \texttt{\var{num}}。 +\end{ttdescription} + + +\subsubsection{使用举例} +\label{sec:examples-of-use} + +现在我们看看实际使用 \KPS{} 的例子。这里是一个简单的搜索: + +\begin{alltt} +> \Ucom{kpsewhich article.cls} + /usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +我们寻找的是 \file{article.cls} 文件。因为 \samp{.cls} 后缀已经说明了文件的类型,所以 +我们不需要特别指明查找的是 \optname{tex} 类型的文件 (也就是要在 (\TeX{} 源文件目录下查找)。 +我们在 \samp{texmf-dist} 的 \file{tex/latex/base} 子目录下找到了这个文件。与之类似, +下列所有文件都顺利找到,因为其扩展名没有二义。 +\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} + +另外,最后一个是 \textsl{TUGBoat} 文章的 \BibTeX{} 参考文献数据库。 + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} + +\file{.pk} 类型的字体位图文件是给 \cmdname{dvips} 或者 \cmdname{xdvi} +这种显示程序提供的。因为 \TL{} 里没有预生成的 Computer Modern \samp{.pk} +字体,所以没有找到任何内容\Dash \TL{} 默认使用 Type~1 版本的。 + +\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} + +而这个字体 (Washington 大学的一套注音字母表) 就需要生成 \samp{.pk} 文件了。我们默认的 +\MF{} 模式是 \texttt{ljfour},基础解析度是 600\dpi{} (dots per inch),所以会得到这样一个文件。 +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} + +一旦指明我们需要寻找的只是 300\dpi{} 的文件时 (\texttt{-dpi=300}),就会发现系统里 +没有符合要求的文件。这样 \cmdname{dvips} 或 \cmdname{xdvi} 会使用 \cmdname{mktexpk} +脚本去创建所需的 \texttt{.pk} 文件。 + +下面我们将注意力转向 \cmdname{dvips} 的头文件和配置文件。首先看看最常用的一个,\file{tex.pro} +prologue 文件,然后检查通用配置文件 \file{config.ps} 和 \PS{} 字体映射文件 +\file{psfonts.map}\Dash 从 2004 年开始,映射文件和编码文件都在 \dirname{texmf} +目录树下有其自己的搜索路径了。因为 \samp{.ps} 后缀可能会有二义,我们必须指明意思是 +\optname{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/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} + /usr/local/texmf/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +这样我们可以更仔细地分析一下 \acro{URW} Times 的 \PS{} 支持文件。依照标准的字体 +命名方案,这些文件的前缀是 \samp{utm}。首先查询的是配置文件,其中包含的是 map +文件的名称: + +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} + +这个文件的内容是 + +\begin{alltt} + p +utm.map +\end{alltt} + +即指向 \file{utm.map} 文件,也就是我们下一步要找的。 + +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} + +这个 map 文件定义了 URW 集合中的 Type~1 \PS{} 字体文件名。内容差不多是下边这样 +(我们只列出了其中一部分): + +\begin{alltt} +utmb8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmbi8r NimbusRomNo9L-MediItal... <utmbi8a.pfb +utmr8r NimbusRomNo9L-Regu ... <utmr8a.pfb +utmri8r NimbusRomNo9L-ReguItal... <utmri8a.pfb +utmbo8r NimbusRomNo9L-Medi ... <utmb8a.pfb +utmro8r NimbusRomNo9L-Regu ... <utmr8a.pfb +\end{alltt} + +比如我们可以以一个 Times Roman 字体 \file{utmr8a.pfb} 为例,在 \file{texmf} +目录下的 Type~1 字体文件中寻找它的位置: + +\begin{alltt} +> \Ucom{kpsewhich utmr8a.pfb} +\ifSingleColumn /usr/local/texmf-dist/fonts/type1/urw/times/utmr8a.pfb +\else /usr/local/texmf-dist/fonts/type1/ +... urw/utm/utmr8a.pfb +\fi\end{alltt} + +现在你可以发现,追寻某个文件的下落是如此方便。尤其是在你怀疑找到的文件错了的时候,这些 +功能非常重要,因为 \cmdname{kpsewhich} 只能告诉你找到的第一个文件。 + +\subsubsection{调试操作} +\label{sec:debugging} + +有时你可能会需要分析程序是如何解析文件引用的。\KPS{} 提供了多层调试输出来实现这个功能: + +\begin{ttdescription} +\item[\texttt{\ 1}] \texttt{stat} 调用 (磁盘上的查询)。在 \file{ls-R} + 数据库及时更新的情况下几乎不会有什么输出。 +\item[\texttt{\ 2}] 对散列表的引用 (例如 \file{ls-R} 数据库,映射文件,配置文件)。 +\item[\texttt{\ 4}] 文件的打开与关闭操作。 +\item[\texttt{\ 8}] \KPS{} 搜索的文件类型的通用路径信息。有助于寻找针对某一文件的 +特定路径。 +\item[\texttt{16}] 每个路径元素的目录列表 (只在本地磁盘上搜索时有用)。 +\item[\texttt{32}] 文件搜索。 +\item[\texttt{64}] 变量的值。 +\end{ttdescription} +等级 \texttt{-1} 将启用上述所有选项,实际上这是最方便的设置方法了。 + +类似地,在 \cmdname{dvips} 程序中设置上述调试选项的组合,你就可以出 \cmdname{dvips} +是从哪里找到它所需的文件的。另一方面,如果找不到某个文件,调试输出也会显示程序从哪些目录进行 +了查找,你也可以据此判断出问题出在哪里。 + +一般而言,因为所有的程序都在其内部调用 \KPS{} 库,你可以设置 \envname{KPATHSEA\_DEBUG} +环境变量来选择调试参数,将这个变量设置为上述参数的组合 (加法) 以获得对应的功能。 + +(Windows 用户请注意:因为在 Windows 下不容易把所有信息都重定向到固定的文件中,为了方便诊断, +你可以临时设置 \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log})。 + +让我们以一个简单的 \LaTeX{} 源文件 \file{hello-world.tex} 为例,其内容如下: +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +这个小文件只使用了 \file{cmr10} 字体,我们可以看看 \cmdname{dvips} 是如何生成 \PS{} +文件的 (我们希望使用 Type~1 版本的 Computer Modern 字体,所以使用了 \texttt{-Pcms} +参数)。 +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +此时我们将 \cmdname{dvips} 的调试等级 4 (表示字体路径) 和 \KPS\ 的路径元素展开组合到 +一起 (参见 \cmdname{dvips} 参考手册,\OnCD{texmf/doc/html/dvips/dvips_toc.html})。 +(稍作整理的) 输出见图~\ref{fig:dvipsdbga}。 +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{寻找配置文件}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{寻找 prolog 文件}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{寻找字体文件}\label{fig:dvipsdbgc} +\end{figure*} + +\cmdname{dvips} 启动后就开始搜寻其需要使用的文件。首先找到的是 \file{texmf.cnf}, +它给出了用于进一步查询其他文件的路径,然后找到的是 \file{ls-R} 文件名数据库 (用于 +优化文件搜索速度) 和 \file{aliases} 文件 (用于创建同一文件的多个别名,比如为较自然 +的长文件名创建 \acro{DOS} 8.3 风格的短别名)。然后 \cmdname{dvips} 去寻找它的通用 +配置文件 \file{config.ps},接下来查找个人定制文件 \file{.dvipsrc} (不过上述例子中并 +未找到,显示 \emph{not found})。最后 \cmdname{dvips} 找到了 Computer Modern +\PS{} 字体的配置文件 \file{config.cms} (因为执行 \cmdname{dvips} 时使用了 +\texttt{-Pcms} 选项)。这个文件里包含了字体的 \TeX{} 名称, \PS{} 名称和文件名的对 +应关系。 + +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/cms/config.cms} + p +ams.map + p +cms.map + p +cmbkm.map + p +amsbkm.map +\end{alltt} +于是 \cmdname{dvips} 接下来寻找这些文件,再加上固定载入的,通用映射文件 +\file{psfonts.map} (这个文件里包含常用 \PS{} 字体的映射,参见第 +\ref{sec:examples-of-use} 节的最后一部分,讨论了 \PS{} 映射文件的处理)。 + +这时候 \cmdname{dvips} 向用户表示它的存在: +\begin{alltt} +This is dvips(k) 5.92b Copyright 2002 Radical Eye Software (www.radicaleye.com) +\end{alltt} +\ifSingleColumn +然后开始寻找 prolog 文件 \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 +然后开始寻找 prolog 文件 \file{texc.pro} (见图~\ref{fig:dvipsdbgb})。 +\fi + +找到所需文件后,\cmdname{dvips} 输出日期和时间,并告知我们它将生成 +\file{hello-world.ps} 文件,需要用到 \file{cmr10} 字体文件, +这个字体属于``常驻 (resident) 的'',也就是不需要载入位图文件的字体: +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +寻找并找到了 \file{cmr10.tfm} 文件。然后再次引用了一些 prolog 文件 (此处略去), +最终找到了 \file{cmr10.pfb} 这个 Type~1 字体,并将它包含在输出文件中 (见最后 +一行)。 +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{运行时选项} + +\Webc{} 另一项有用的特性是可以通过 \KPS{} 读入的运行时文件 \file{texmf.cnf} +来控制一系列的内存参数 (具体而言是数组的大小)。内存的设置可以在这个文件的第三部分找到。 +比较重要的几个设置是: + +\begin{ttdescription} +\item[\texttt{main\_memory}] + 总的可用内存数,以 word 为单位,\TeX{}, \MF{} 和 \MP\ 受此限制。 + 每修改一次都必须重新生成一个新的格式文件。比如你可以生成一个``巨型''版本的 + \TeX{},将其存为 \texttt{hugetex.fmt}。 +\item[\texttt{extra\_mem\_bot}] + 为``大型'' \TeX{} 数据结构预留的额外空间:boxes, glue, breakpoint 等。如果你使用 + \PiCTeX{} 时特别有用。 +\item[\texttt{font\_mem\_size}] + \TeX{} 用于存储字体数据的 word 数。大致等于载入的所有 \acro{TFM} 文件的总和。 +\item[\texttt{hash\_extra}] + 为存储控制序列而设置的散列表的额外空间。一般散列表足够存储将近 10,000 + 个控制序列。如果你排版的是一本有大量交叉引用的书籍,这个值可能不够用。默认的 + \texttt{hash\_extra} 是 \texttt{50000}。 +\end{ttdescription} + +\noindent 当然,这项功能并非真正的动态内存和数组分配的替代,但考虑到动态分配在现在的 \TeX{} +太难实现,才通过这些选项提供了一些灵活性。 + +\begin{comment} +\section{在 Unix 平台下编译} + +If you have a platform for which executables are not included, you will +need to compile \TeX{} and friends. This is not as hard as it +sounds. What you need is all in the directory \texttt{source} in the +distribution. + +\subsection{需求} + +You will need at least 100 megabytes of disk space to compile all of +\TeX{} and its support programs. You'll also need an \acro{ANSI} C +compiler, a \cmdname{make} utility, a lexical scanner, and a parser +generator. We recommend the \GNU version of these programs +(\cmdname{gcc}, \GNU \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). You may be able to work with other C compilers and +\cmdname{make} programs, but you will need a good understanding of +building Unix programs to sort out problems. + +Also, the command \texttt{uname} must return a sensible value. + + +\subsection{配置} + +To begin, perform a normal installation of \TL{} to your disk (see +section~\ref{sec:install-disk} on +\p.\pageref{sec:install-disk}). You may wish to skip installing +all of the prebuilt binaries. + +Then, unpack the source from the compressed \texttt{tar} file in the +directory \dirname{source} to your disk and change directory to where +you placed it. + +Next, run \cmdname{configure} with a command line like this: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +The \optname{-prefix} directory is the one where you installed the +support tree; the directory layout will be as follows (where \$TEXDIR +stands for the directory you chose): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & main tree with fonts,\\ + & \qquad macros, etc\\ + \dirname{$TEXDIR/man} & Unix manual pages\\ + \dirname{$TEXDIR/info} & \GNU style Info manuals\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaries\\ +\end{tabular} +%$ + +If you want to leave out the \dirname{$PLATFORM} directory level, +i.e., put the binaries directly into \dirname{$TEXDIR/bin}, specify +the \verb|--disable-multiplatform| option to \cmdname{configure}. + +Have a look at the output of \verb|./configure --help| for more +options you can use. For example, you can skip building of \OMEGA{} and +\eTeX{}. + + +\subsection{运行 \cmdname{make}} + +Make sure the shell variable or option \texttt{noclobber} is not set. +Then, run the main \cmdname{make} like this: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +and relax\ldots + +Alternatively, you want to log all the output, as in: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} + +Before you believe that everything went ok, please check the log file +for errors: \GNU \cmdname{make} always uses the string \samp{***} +whenever a command fails. Also, check if all the programs were built: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +The result should be over 200 (you can check the exact number with the +\dirname{bin} directory contents in the distribution). + +If you need special privileges for \texttt{make install}, you can +separate the \samp{make world} into two different runs, like this: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +After you've installed your new binaries, you should follow the normal +post-installation procedures, given in section~\ref{sec:postinstall} +(\p.\pageref{sec:postinstall}). + +Also, if you'd like to make your binaries available to others, please +contact us. We'll be happy to put them on the \TL\ web pages. +\end{comment} + +\section{致谢} + +\TL{} 是在几乎所有 \TeX{} 用户组织的协力下完成的。这个版本由 Karl Berry +监制。下面列出了过去和现在主要的贡献者: + +\begin{itemize*} + +\item 英国、德国、荷兰和波兰的 \TeX{} 用户组织 +(分别为 \acro{TUG}, \acro{DANTE} e.V., \acro{NTG}, 和 \acro{GUST}),他们为所在 +地区的 \TeX{} 社群提供了必备的技术和管理基础设施。请加入本地的 \TeX 用户组织! +(参见 \url{http://tug.org/usergroups.html}。) + +\item \acro{CTAN} 团队,特别值得一提的是 Robin Fairbairns, Jim Hef{}feron, +和 Rainer Sch\"opf。他们负责分发 \TL{} 光盘镜像,为软件包更新提供支撑,\TL{} +正是基于这些软件包构建的。 + +\item Peter Breitenlohner 和 \eTeX\ 团队,他们创造了未来 \TeX\ 的稳定基础。 +同时特别感谢 Peter,他为整个 \TL 中 GNU autotools 的使用提供了主要的帮助。 + +\item Thomas Esser,如果没有他优秀的 \teTeX{} 套件,\TL{} 根本不可能存在。 + +\item Michel Goossens,他一起编写了原始的文档。 + +\item Eitan Gurari,他不知疲倦地改进着的 \TeX4ht 程序用于创建这份文档的 \HTML{} +版本。 + +\item \Thanh, Martin Schr\"oder,和 pdf\TeX\ 团队,他们持续不断地改进 \TeX\ +的功能。 + +\item Hans Hagen,他对 \ConTeXt\ 格式 (\url{http://pragma-ade.com}) 做了 +许多测试和修改,使之能够包含在 \TL{} 的框架下。 + +\item Hartmut Henkel,他对 pdf\TeX\, Lua\TeX 等程序的开发起到了重要的贡献。 + +\item Taco Hoekwater,他对 \MP{} 和 (Lua)\TeX\ (\url{http://luatex.org}) +的开发使之焕发新的活力。他还参与了将 \ConTeXt\ 融入 \TL 的工作。 + +\item Pawe{\l} Jackowski,他创建了 Windows 下的安装程序 \cmdname{tlpm}, +和 Tomasz {\L}uczak,因为他的 \cmdname{tlpmgui} 被用在了以前的版本。 + +\item Akira Kakuto,以他的 \acro{W32TEX} 发行版 +(\url{http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/}) 为基础提供了 +Windows 下的二进制文件,以及许多其他的贡献。 + +\item Jonathan Kew 和 \acro{SIL},因为 Xe\TeX{} 是如此新颖而重大 +的改进。他还花了大量时间和精力来将其集成到 \TL{} 中。以及 Mac\TeX 安装程序 +的早期版本。 + +\item Dick Koch 他维护了 Mac\TeX\ (\url{http://tug.org/mactex}) 这个和 +\TL{} 联系非常紧密的发行版本。 + +\item Reinhard Kotucha,他对 \TL{} 2008 的基础架构和安装程序起到了重要贡献, +以及 Windows 下的研究性工作,\texttt{getnonfreefonts} 脚本,等等。 + +\item Siep Kroonenberg,也因为他对 \TL{} 2008 基础架构和安装程序的重要贡献, +尤其是在 Windows 上。他还花了大量的时间更新手册,介绍了这些新的特性。 + +\item Petr Ol\v{s}ak,他非常认真地协调和检查所有的捷克语和斯洛伐克语资料。 + +\item Toshio Oshima,他提供了 Windows 下的 \cmdname{dviout} 预览工具。 + +\item Manuel P\'egouri\'e-Gonnard,他对宏包更新、文档改进以及 +\cmdname{tldoc} 开发上的努力。 + +\item Fabrice Popineau,他创建了 \TL{} 最早的 Windows 支持。 + +\item Norbert Preining,他是 \TL{} 2008 基础架构和安装程序的总设计师,还 +负责协调了 Debian 版本的 \TL{} 工作 (和 Frank K\"uster 一起),并提供了许 +多建议。 + +\item Sebastian Rahtz,他是 \TL{} 的创始者,并维护了它许多年。 + +\item Vladimir Volovich,他很大地帮助解决了许多移植和维护的问题,尤其是令我们能够 +将 \cmdname{xindy} 包含进来。 + +\item Staszek Wawrykiewicz,\TL{} 主要的测试人员,同时还是许多重要波兰语支持的协调 +人员:字体、Windows 安装,和其他许多工作。 + +\item Olaf Weber,他对 \Webc{} 耐心的维护。 + +\item Gerben Wierda,他创建和维护 \MacOSX\ 支持,并参与了大量集成和测试工作。 + +\item Graham Williams,他整理了软件包的依赖情况的 \TeX\ Catalogue。 + +\end{itemize*} + +二进制版本的编译者: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Tim Arnold (\pkgname{hppa-hpux}), +Randy Au (\pkgname{amd64-freebsd}), +Edd Barrett (\pkgname{i386-openbsd}), +Karl Berry (\pkgname{i386-linux}), +Akira Kakuto (\pkgname{win32}), +Dick Koch (\pkgname{universal-darwin}), +Manfred Lotz (\pkgname{i386-freebsd}), +Norbert Preining (\pkgname{alpha-linux}), +Arthur Reutenauer (\pkgname{sparc-linux}), +Thomas Schmitz (\pkgname{powerpc-linux}), +Apostolos Syropoulos (\pkgname{i386-solaris}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-solaris}), +Olaf Weber (\pkgname{mips-irix})。 +关于 \TL{} 编译进程的信息,请查阅 \url{http://tug.org/texlive/build.html}。 + +文档和翻译的更新: +Karl Berry (英语), +Daniel Flipo (法语), +Klaus H\"oppner (德语), +Petr Sojka \& Jan Busa (捷克\slash 斯洛伐克语), +Boris Veytsman (俄语), +Staszek Wawrykiewicz (波兰语)。\TL{} 文档的主页是 +\url{http://tug.org/texlive/doc.html}。 + +当然,最重要的感谢应该致予 Donald Knuth,感谢他发明了 \TeX,也感谢他将 +\TeX\ 赠与全世界。 + +\section{发行历史} +\label{sec:history} + +\subsection{过去} + +1993 年末荷兰 \TeX{} 用户组开始为 \acro{MS-DOS} 用户开发 4All\TeX{} \CD{} 时, +我们就开始了相关的讨论,并希望在此时为所有的操作系统提供一个单一的、合理的 \CD{}。当时 +那是一个过于宏伟的目标,但的确滋生了非常成功的 4All\TeX{} \CD{},同时 \acro{TUG} +技术委员会工作组也开始设计 \emph{\TeX{} 目录结构} (\url{http://tug.org/tds}), +以指明如何创建一套一致而可控的集合,囊括所有 \TeX{} 相关的文件。\TDS{} 的完整草案在 1995 +年 12 月的 \textsl{TUGboat} 上出版,并初步确定期望的产品将是在 \CD{} 上出现的范例 +结构。你现在使用的这个发行版正是工作组审议的直接结果。4All\TeX{} \CD{} 的成功也说明 +如果有一个类似这样的易于使用的系统,对 Unix 用户肯定很有帮助,这是 \TL{} 最主要的出发点。 + +我们在 1995 年秋天开始尝试构建一个新的 \CD{} (基于 \TDS{}),并很快发现 Thomas Esser +的 \teTeX{} 已经是比较理想的配置,并因为在它构建时就已经考虑了跨文件系统的兼容性问题, +也已具有多平台支持。Thomas 同意帮助我们,并在 1996 年初开始了正式的工作。第一版是在 +1996 年五月发行的。到 1997 年初,Karl Berry 完成了 \Webc{} 的一个重大的更新版本, +将几乎所有 Thomas Esser 加入 \teTeX{} 的特性囊括在内,这样我们决定在 \teTeX{} 的 +\texttt{texconfig} 脚本的辅助下,基于标准的 \Webc{} 来制作第二版的 \CD{}。 +第 3 版的 \CD{} 基于 Olaf Weber 完成的 \Webc{} 的一个重大修正版本,7.2。与此同时, +\teTeX{} 的一个新版本出现了,\TL{} 也包含了其中绝大多数特性。第 4 版依照上面的模式进 +行,使用了新版本的 \teTeX{} 和新版本的 \Webc{} (7.3)。系统此时也包括了完整的 Windows +下的配置。 + +在第 5 版 (2000 年 3 月) 中检查并修正了 \CD{} 的许多部分,更新了数百个软件包。软件 +包的详细说明现在存放在 XML 文件中。不过 \TeX\ Live 5 的首要变化还是移除了所有的非自由软 +件。\TL{} 的所有部分现在都在向 Debian Free Software Guidelines 兼容的方向改进, +我们尽最大努力检查了所有软件包的授权协议,欢迎为我们指出错误。 + +第 6 版 (2001 年 7 月) 更新了许多内容。最重大的一项是新的安装形式,用户可以更精确 +地选择所需的软件集合。与语言相关的集合也重新组织过了,这样一来,选定某个语言集合时会自 +动安装宏包、字体等文件,并自动设置好 \texttt{language.dat}。 + +2002 年出现的第 7 版里显著的更新是添加了 \MacOSX{} 的支持,还有大量各类宏包和程序 +的更新。这个版本的一个重要的目标是将源代码重新与 \teTeX{} 集成,因为在第 5 和第 6 +版中它们偏离得太远了。 + +\subsubsection{2003} + +2003 年,在更新和增添持续不断到来的情况下,我们发现 \TL{} 已经过于庞大,无法在一张 +\CD\ 中容纳,于是将其切分为三套不同的发行版 (参见第~\ref{sec:tl-coll-dists} +节,\p.\pageref{sec:tl-coll-dists})。此外: + +\begin{itemize*} +\item 在 \LaTeX{} 团队的要求下,我们将 \cmdname{latex} 和 \cmdname{pdflatex} + 命令改为使用 \eTeX{} 引擎 (参见 \p.\pageref{text:etex})。 +\item 包含了新的 Latin Modern 字体 (并推荐使用)。 +\item 因为不再有人拥有 (或主动提供) 用于编译新的二进制程序的硬件,去除了 + Alpha \acro{OSF} 的支持 (先前已经去除了 \acro{HPUX} 的支持)。 +\item Windows 下的安装有很大改变,首次提供了基于 XEmacs 的集成环境。 +\item Windows 下重要的辅助性程序 (Perl, Ghost\-script, Image\-Magick, Ispell) + 现在放在 \TL{} 的安装目录。 +\item \cmdname{dvips}, \cmdname{dvipdfm} 和 \cmdname{pdftex} + 使用的字体映射文件现在通过 \cmdname{updmap} 这套新程序生成,并安装到 + \dirname{texmf/fonts/map} 目录下。 +\item \TeX{}, \MF{}, 和 \MP{} 现在缺省直接输出大多数的输入字符 (位置 32 及其以上) + (比如通过 \verb|\write|),包括输出到文件、日志和终端上。也就是说,\emph{不再}使用 + \verb|^^| 标记来转换。在 \TL{}~7 中是否转换根据系统区域 (locale) + 设置而定,而这一版里 locale 设置不再影响 \TeX{} 程序的行为,所以如果你需要 + \verb|^^| 形式的输出,请将 \verb|texmf/web2c/cp8bit.tcx| + 文件改名。(后续版本将提供更简洁的方式来控制。) +\item 对文档作了大量更新。 +\item 最后,因为版本号增长得实在太快,现在简单地使用年份来标识版本:\TL{} 2003。 +\end{itemize*} + + +\subsubsection{2004} + +2004 年有许多改变: + +\begin{itemize} + +\item 如果你在本地安装的字体时涉及了 \filename{.map} 或 \filename{.enc} +(附带这种文件的可能性很小) 辅助文件,可能需要转移这些文件的位置。 + +现在根据 \envname{TEXFONTMAPS} 变量中的路径设置,只在 (所有 \filename{texmf} +目录树下的) \dirname{fonts/map} 子目录下搜索 \filename{.map} +文件。与之类似,\filename{.enc} 文件现在只在 \dirname{fonts/enc} +目录下搜索,根据 \envname{ENCFONTS} 变量中的路径设置。如果遇到有问题的文 +件,\cmdname{updmap} 会提出警告。 + +关于这种搜索方式的其他信息,请参见 \url{http://tug.org/texlive/mapenc.html}。 + +\item 因为有人可能更愿意使用 \MIKTEX\ 而非 \Webc{} 系统,\TK\ +现在包含了一套基于 \MIKTEX\ 的可安装 \CD,参见第~\ref{sec:overview-tl} 节 +(\p.\pageref{sec:overview-tl})。 + +\item 在原来旧版本 \TL\ 中单一的 \dirname{texmf} 目录树被分拆为三 +个:\dirname{texmf}, \dirname{texmf-dist}, 和 \dirname{texmf-doc}。参见 +第~\ref{sec:tld} 节 (\p.\pageref{sec:tld}) 及各目录下的 \filename{README} +文件。 + +\item 所有 \TeX\ 输入文件现在统一收集到了 \dirname{texmf*} 下的 +\dirname{tex} 子目录中,不再分散在各个 \dirname{tex}, \dirname{etex}, +\dirname{pdftex}, \dirname{pdfetex} 目录。见~ +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Extensions}}。 + +\item 辅助性脚本 (并非直接提供给用户调用的) 现在放在 \dirname{texmf*} 目录树下 +新的 \dirname{scripts} 子目录中,并可以通过 \verb|kpsewhich -format=texmfscripts| +来搜索。如果你的程序调用了这些脚本,必须修改路径。参见 +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}。 + +\item 几乎所有格式,都用 \filename{cp227.tcx} 这个转换文件将大多数的可见 (printable) +字符保留下来,而不再使用 \verb|^^| 标识来转换这些字符。具体而言,在位置 32--256 的 +字符,加上 tab, vertical tab, 和 form feed 字符都作为可见字符而不再转换。例外情况是 +plain \TeX\ (只将位置 32--126 的字符视为可见), \ConTeXt\ (0--255 都视为可见) 和与 +\OMEGA\ 相关的格式。缺省的情况几乎与 \TL\,2003 完全一致,但通过更简洁的方式实现,并允许 +更多定制。参见 \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}。 +(另外,如果遇到 Unicode 输入,\TeX\ 可能会在显示错误上下文时输出半个字符,因为它是基于 +字节流来处理输入的。) + +\item \textsf{pdfetex} 现在是除 (plain) \textsf{tex} 外所有格式的默认引擎 (当然 +以 \textsf{latex} 这种方式运行时它还是生成 \acro{DVI})。这样一来,至少 \textsf{pdftex} +的微调排版 (microtypographic) 技术可以在 \LaTeX, \ConTeXt 等格式中使用,另外 \eTeX\ +的特性也包含在其中 (\OnCD{texmf-dist/doc/etex/base/})。 + +这还说明\emph{比以前任何时候都更有必要}使用 (对 plain 和 \LaTeX\ 都适用的) +\pkgname{ifpdf} 宏包或其类似代码,因为只检查 \cs{pdfoutput} 或其他原语是否已经定义 +不再是判断是否处于 \acro{PDF} 输出状态的可靠方法。我们在这一年尽可能地保持向下兼容,但以后 +即使在输出 \acro{DVI} 时 \cs{pdfoutput} 也可能已经定义。 + +\item pdf\TeX\ (\url{http://pdftex.org}) 新增了许多特性: + + \begin{itemize*} + + \item 可以使用 \cs{pdfmapfile} 和 \cs{pdfmapline} 来在单独文档内指定字体映射文件。 + + \item 可以更方便地使用排版微调 (Microtypographic) 和字体延展 (font expansion) + 技术了。\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item 原来使用专有格式的配置文件 \filename{pdftex.cfg} 里的选项现在都必须改用 + \TeX{} 原语来设置,通常放在 \filename{pdftexconfig.tex} 里面,不再支持 + \filename{pdftex.cfg} 的配置方式。每次修改 \filename{pdftexconfig.tex} + 之后都必须重新生成 \filename{.fmt} 文件。 + + \item 参见 pdf\TeX\ 手册以了解更多信息:\OnCD{texmf/doc/pdftex/manual}。 + + \end{itemize*} + +\item \cmdname{tex} (以及 \cmdname{mf} 和 \cmdname{mpost}) 中的 \cs{input} +原语现在支持通过双引号来引用包含空格和特殊字符的文件。一个典型的例子如下: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +参阅 \Webc{} 文档以了解更多信息:\OnCD{texmf/doc/web2c}。 + +\item enc\TeX\ 的支持现在已被包含在 \Webc{} 中,因而所有 \TeX\ 程序都可以通过 +\optname{-enc} 参数启用这一支持 \Dash \emph{前提是构建好了格式文件}。enc\TeX\ +提供了对输入输出通用的重新编码功能,实现对 Unicode (以 \acro{UTF}-8 编码的形式) +的完整支持。参见 \OnCD{texmf-dist/doc/generic/enctex/} 和 +\url{http://www.olsak.net/enctex.html}。 + +\item 提供了 Aleph 这套新的 \TeX{} 引擎,它将 \eTeX\ 和 \OMEGA\ 合并到了一起。 +关于 Aleph 的部分信息可以在 \OnCD{texmf-dist/doc/aleph/base} +和 \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph} 找到。Aleph +的 \LaTeX 格式文件称做 \textsf{lamed}。 + +\item 最新发布的 \LaTeX\ 包含了是新版的 \acro{LPPL} 授权协议\Dash 这一协议已被 +Debian 首肯。\LaTeX\ 其他的更新请见 \OnCD{texmf-dist/doc/latex/base} 下的 +\filename{ltnews} 文件。 + +\item 包含了一个叫做 \cmdname{dvipng} 的新程序,用于将 \acro{DVI} 转换为 +\acro{PNG} 图像文件。参见 \OnCD{texmf/doc/man/man1/dvipng.1}。 + +\item 我们在作者 (Claudio Beccari) 的同意下,将 \pkgname{cbgreek} 包含的 +字体数量减少到中等。去除了不可见、轮廓和透明版本的字体,这些字体几乎很少用到。而我们 +的光盘镜像需要空间。完整版本当然还是在 \acro{CTAN} 提供 +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb})。 + +\item 去掉了 \cmdname{oxdvi},改为只使用 \cmdname{xdvi}。 + +\item 不再为 \cmdname{tex}, \cmdname{mf}, 和 \cmdname{mpost} 程序创建 +\cmdname{ini} 和 \cmdname{vir} 开头的命令链接,比如 +\cmdname{initex}。\cmdname{ini} 的功能早在几年前就通过 \optname{-ini} +命令行参数提供了。 + +\item 去掉了 \textsf{i386-openbsd} 平台的支持。因为在 \acro{BSD} Ports +系统中已经包含了 \pkgname{tetex} 软件包,而 \acro{GNU/}Linux 和 +Free\acro{BSD} 下的二进制版本都已存在,所以志愿者的时间可以花在其他的地方了。 + +\item 至少在 \textsf{sparc-solaris} 平台下,你必须设置好 +\envname{LD\_LIBRARY\_PATH} 环境变量才能执行 \pkgname{t1utils} 包含的程序。 +因为这些程序是使用 C++ 编写的,其运行时库没有固定的位置。(这一情况并非在 2004 版 +中首次出现,但现在才写入文档) 与之类似,\textsf{mips-irix} 平台下需要用到 +\acro{MIPS}pro 7.4 运行时库。 + +\end{itemize} + +\subsubsection{2005} + +2005 年一如往常,宏包和程序都有大量的更新。底层结构和 2004 年相比保持了稳定, +不过仍然存在一些变化。 + +\begin{itemize} + +\item 引入了新的 \cmdname{texconfig-sys}, \cmdname{updmap-sys}, 和 + \cmdname{fmtutil-sys} 安装脚本,用于修改系统目录树下的配置。而原有的 + \cmdname{texconfig}, \cmdname{updmap}, 和 \cmdname{fmtutil} + 则用于修改针对单个用户的文件 (放在 \dirname{$HOME/.texlive2005} + 目录下的)。 + +\item 增加了对应的 \envname{TEXMFCONFIG} 和 \envname{TEXMFSYSCONFIG} + 变量,分别用于设置针对用户和系统的,专门存放配置文件的目录树。所以你需要将个人使用的 + \filename{fmtutil.cnf} 和 \filename{updmap.cfg} + 放到合适位置。不过还有一种方法是在 \filename{texmf.cnf} 里边重新定义 + \envname{TEXMFCONFIG} 或 \envname{TEXMFSYSCONFIG} + 变量。无论如何,这两个值对应的实际目录都必须正确存在。参见第 + \pageref{sec:texmftrees} 页的第 \ref{sec:texmftrees} 节。 + +\item 虽然我们在上一年就已经使用了 \cmdname{pdfetex} 作为输出程序,但在它输出 \dvi\ + 格式时会禁用 \verb|\pdfoutput| 等原语 + (primitive)。这一年,我们按照预期计划取消了这一兼容性限制。所以,如果你的文档里使用了 + \verb|\ifx\pdfoutput\undefined| 这样的语句来判断是否正在 PDF + 输出模式下,现在就必须修改了。你可以使用 \pkgname{ifpdf.sty} 宏包 (对 plain \TeX\ + 和 \LaTeX{} 都适用) 来判断,或者仿照这个文件里的判断原理自己写一个。 + +\item 上一年,我们将格式文件的输出改成了和这些文件本身一样的 8 + 位字符。在你需要的情况下,可以使用新的 TCX 文件 \filename{empty.tcx} 来获得原有的 + \verb|^^| 表示方式。例如: + +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item 新增了用于转换 DVI 为 PDF 的 \cmdname{dvipdfmx} 程序,这是 + \cmdname{dvipdfm} 的一个比较活跃更新的版本 (我们仍然提供 + \cmdname{dvipdfm},但不建议你继续使用)。 + +\item 新增了叫 \cmdname{pdfopen} 和 \cmdname{pdfclose} 的两个程序,用于控制 + Adobe Acrobat\slash Reader 在不重启程序的情况下重新载入 pdf 文件。(其他的 + pdf 阅读器,如 \cmdname{xpdf}, \cmdname{gv}, 和 + \cmdname{gsview},都不会遇到这个问题。) + +\item 为了保持一致性,将 \envname{HOMETEXMF} 和 \envname{VARTEXMF} + 环境变量分别更名为 \envname{TEXMFHOME} 和 + \envname{TEXMFSYSVAR}。还有一个针对单独用户的 \envname{TEXMFVAR} + 环境变量可用。参见上面的第一点。 + +\end{itemize} + + +\subsubsection{2006--2007} + +2006--2007 年,\TL{} 的一个重大变化是增加了 \XeTeX{},以 \texttt{xetex} 和 +\texttt{xelatex} 程序的形式提供。请参见 \url{http://scripts.sil.org/xetex}。 + +\MP{} 也有可观的更新,并计划在未来实现更多的改进 +(\url{http://tug.org/metapost/articles}),pdf\TeX{} 同样如此 +(\url{http://tug.org/applications/pdftex})。 + +\TeX\ \filename{.fmt} (缓存格式) 文件和用于 MetaPost 和 \MF\ 的类似文件 +现在存储在 \dirname{texmf/web2c} 的子目录中而不直接放在 \dirname{texmf/web2c} +目录下 (不过考虑到现有的 \filename{.fmt} 文件,直接放置在这个目录下的文件仍然 +能被搜索到)。子目录的名称是根据当前使用的``引擎''决定的,比如 \filename{tex} +或 \filename{pdftex} 或 \filename{xetex}。这个变化不会对日常使用带来任何 +影响。 + +(plain) \texttt{tex} 程序不再通过读取 \texttt{\%\&} 开头的第一行来决定 +执行何种格式,而遵循纯粹的 Knuth 风格 \TeX\ 的传统。(\LaTeX\ 和其他所有的程序 +仍然读取 \texttt{\%\&} 开头的行。) + +当然,和往常一样,这一年里你能看到成百上千的宏包与程序得到更新。也和往常一样, +进一步的更新请使用 \acro{CTAN} (\url{http://www.ctan.org})。 + +从内部角度上看,源代码树现在改为使用 Subversion 管理,并在我们的主页上提供了 +到 Web 界面的链接,用于浏览代码树。我们希望它能成为未来几年中稳定的开发 +平台。 + +末了,2006 年五月 Thomas Esser 宣布他将停止 te\TeX{} +(\url{http://tug.org/tetex}) 的更新。这样一来,大家对 \TL{} 的兴趣大增,尤其是在 +\GNU/Linux 发行版中。(\TL{} 提供了一套新的 \texttt{tetex} 安装方案, +几乎和原有的 te\TeX{} 毫无二致。) 我们希望这些变化将最终转换为对整个 \TeX\ +环境的改进,从而每个人都会受益。 + +\medskip \noindent +对过去历史的最终一点提示: 所有版本的 \TL{},包括 \CD\ 标签这些附属材料,都在 +\url{ftp://tug.org/historic/systems/texlive} 提供。 + + +\subsection{现状} +\label{sec:tlcurrent} + +在 2008 年,整个 \TL{} 的基础架构都重新设计过并重新实现了。安装的完整 +信息被存放在 \filename{tlpkg/texlive.tlpdb} 这个纯文本文件中。 + +除了许多其他的功能外,我们终于可以通过 Internet 在安装后更新 \TL{} +了,这是 MiK\TeX\ 早已提供了许多年的特性。我们希望能定期更新 \CTAN 上 +新发布的软件包。 + +包含了一个重要的新引擎 Lua\TeX\ (\url{http://luatex.org}),除了 +在排版上灵活性更上一层楼以外,它还提供了一个优秀的脚本语言供 \TeX\ +文档内外使用。 + +对 Windows 和基于 Unix 系统的支持现在要一致得多了。尤其是大部分 Perl 和 +Lua 脚本都能在 Windows 下使用,通过 \TL 内部包含的 Perl。 + +新的 \cmdname{tlmgr} 脚本 (第 \ref{sec:tlmgr} 节) 是在初始安装后管理 +\TL{} 的通用界面。它处理了软件包更新和后续的格式文件、map 文件和语言文件 +的重新生成,并可选地包含了本地添加的内容。 + +随着 \cmdname{tlmgr} 到来,禁用了 \cmdname{texconfig} 中编辑格式和 +断字配置文件的功能。 + +今年还提供了大多数平台的 \cmdname{xindy} 索引生成程序 +(\url{http://xindy.sourceforge.net})。 + +\cmdname{kpsewhich} 现在可以报告给定文件的所有匹配 (\optname{--all} +参数) 并限制列出特定目录下的匹配 (\optname{--subdir} 参数)。 + +\cmdname{dvipdfmx} 程序现在支持用 \cmdname{extractbb} 命令来解析 +bounding box 信息,这是 \cmdname{dvipdfm} 包含但未曾出现在 +\cmdname{dvipdfmx} 中的最后一个功能。 + +去除了 \filename{Times-Roman}, \filename{Helvetica} 等字体别名。不同的 +宏包对它们的理解不同 (尤其是编码的处理不一样),所以没有什么好的办法能解 +决。 + +去除了 \pkgname{platex} 格式文件,以避免与日文 \pkgname{platex} 的命名 +冲突,\pkgname{polski} 宏包现在被用作主要的波兰语支持。 + +从内部而言 \web\ 字符串 pool 文件被编译进了二进制文件中,这样可以方便 +升级。 + +最终 Donald Knuth 在他的 `\TeX\ tuneup of 2008' 中的更新也被包含在这次 +发布中。参见 \url{http://tug.org/TUGboat/Articles/tb29-2/tb92knut.pdf}。 + +\subsection{未来} + +\emph{\TL{} 并不完美!} (也永远不会达到完美。) 我们希望继续发行新的版本,也希望 +提供更多的帮助文档、更多的实用程序、更多的安装程序,当然还有更多更新的宏包与字体。这个 +工作是由压力巨大的志愿者在其空闲时间完成的,也有很多不够完善的地方。请参见 +\url{http://tug.org/texlive/contribute.html}。 + +请把更正、建议或者提供帮助的意愿发送到: +\begin{quote} +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + +\medskip +\noindent \textsl{祝你使用 \TeX\ 愉快!} + +\section{翻译说明} + +这里对简体中文版本《\TL{} 指南》,即本文档中遵循的翻译惯例作一简要说明: + +\begin{itemize} + +\item package, 视上下文,有时翻译为软件包,有时翻译为宏包。 +\item format file, 即 \TeX{} 程序一般都会预载入的 \texttt{.fmt} +文件。本文档中翻译为格式文件。 +\item scheme, 本文档中译为 (安装) 方案。 +\item collection, 本文档中译为 (软件) 集合。 +\item 本文档中有时对原文没有采用逐字逐句的对比翻译,而是总括其意思,转换为 +更易为中文 \TeX{} 用户习惯的表达方式。 +\item architecture/platform, 是意思比较相近的词,基本上是只某种 CPU +和对应这个 CPU 的操作系统。比如 i386-linux。本文里翻译为架构、平台、体系 +结构等等。 +\item binary, 二进制文件,其实就是说可执行程序文件和库文件了。 + +\end{itemize} + +2007 年的简体中文版本由 Jiang Jiang, Jinsong Zhao, Yue Wang, +Helin Gai 翻译。其中 Jinsong Zhao 负责 Windows 部分的翻译,Yue Wang +和 Helin Gai 进行了校对,Jiang Jiang 则负责其余的翻译和统稿。 + +2008 年的简体中文版本由 Jiang Jiang, Yue Wang 和 Jinsong Zhao 翻译。 + +\end{document} |