diff options
author | Karl Berry <karl@freefriends.org> | 2005-12-29 00:12:56 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2005-12-29 00:12:56 +0000 |
commit | f968602334f05855ab341527e14d618d8178614b (patch) | |
tree | 7b7c2e03ce7dc402ac43ff13e6fc5c81cb84b171 /Master/texmf-doc/source | |
parent | 63f6de2319e769e12b29379025de08e3395edb31 (diff) |
trunk/Master
git-svn-id: svn://tug.org/texlive/trunk@11 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-doc/source')
83 files changed, 61010 insertions, 0 deletions
diff --git a/Master/texmf-doc/source/czechslovak/texlive-cz/Makefile b/Master/texmf-doc/source/czechslovak/texlive-cz/Makefile new file mode 100644 index 00000000000..b86298fa30d --- /dev/null +++ b/Master/texmf-doc/source/czechslovak/texlive-cz/Makefile @@ -0,0 +1 @@ +include ../../english/texlive-en/Makefile diff --git a/Master/texmf-doc/source/czechslovak/texlive-cz/cs-tex-live.sty b/Master/texmf-doc/source/czechslovak/texlive-cz/cs-tex-live.sty new file mode 100644 index 00000000000..aba9dd6b514 --- /dev/null +++ b/Master/texmf-doc/source/czechslovak/texlive-cz/cs-tex-live.sty @@ -0,0 +1,447 @@ +\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 +} +% +% 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\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*{\HTML}{\acro{HTML}\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/source/czechslovak/texlive-cz/csquote.sty b/Master/texmf-doc/source/czechslovak/texlive-cz/csquote.sty new file mode 100644 index 00000000000..3644143647b --- /dev/null +++ b/Master/texmf-doc/source/czechslovak/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/source/czechslovak/texlive-cz/live.tex b/Master/texmf-doc/source/czechslovak/texlive-cz/live.tex new file mode 100644 index 00000000000..080ac3ec59d --- /dev/null +++ b/Master/texmf-doc/source/czechslovak/texlive-cz/live.tex @@ -0,0 +1,3523 @@ +% +% czechslovak/live.tex - TeXlive documentation -- Czech/Slovak translation +% +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% +% 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, 2004, 2005 Petr Sojka +% Copyright (c) 2004, 2005 Jan Busa +% Copyright (c) 2003 Petra SojkovА +% Copyright (c) 2001 Janka ChlebМkovА +% 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.28} +\newcommand\cstldate{1.\ listopadu 2005} +\ifforbulletin + \providecommand\Status{3} % version for CSTUG bulletin Zpravodaj + \else + \providecommand\Status{2} +\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} + +\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{\TK{} 2005}}\\[3mm] + PЬМruХka \protect\TeXLive{}, CS verze \cstlversion} +\date{\cstldate} + +\author{Sebastian Rahtz \& Karl Berry, editoЬi \\[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 ChlebМkovА & \email{chlebikj (at) dcs.fmph.uniba.sk} \\ +%B% & JАn Bu╧a & \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 + + PЬeklad 2003 Petra Sojkov\'a, 2003, 2004, 2005 Petr Sojka, + 2001 Janka Chleb\'\i kov\'a, + a 2004, 2005 J\'an Bu\v{s}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} + +Tento dokument popisuje zАkladnМ vlastnosti distribuce \TeXLive{} 2005, +co╬ je instalace \TeX{}u a pЬАtel pro \acro{GNU}/Linux a dal╧М +unixovИ systИmy, \MacOSX{} a (32-bitovИ) systИmy Windows. +Instalace \emph{nenМ} urХena pro star╧М Mac a \acro{MS-DOS} +systИmy. + +\TL{} obsahuje \file{.exe} soubory pro \TeX{}, \LaTeXe{}, \ConTeXt, +\MF, \MP, \BibTeX{} a mnoho dal╧Мch programЫ vХetnЛ obsАhlИho +seznamu maker, fontЫ a dokumentace spolu s~podporou +sazby v~mnoha rЫznЩch svЛtovЩch jazycМch. +Je ХАstМ mnohem vЛt╧М \TKCS{} +(krАtce popsanИ dАle v~oddМle~\ref{sec:struct-tl}, +\p.\pageref{sec:struct-tl}), spolu jsou vЩsledkem spoleХnИho ЗsilМ +skupin u╬ivatelЫ \TeX u. + +AktuАlnМ verze pou╬itИho software je v~archМvu +\acro{CTAN} na \url{http://www.ctan.org}. + +Pro krАtkЩ seznam hlavnМch zmЛn v~tИto verzi \TL{} +nahlИdnЛte na konec tohoto dokumentu, do oddМlu~\ref{sec:history} na stranЛ~\pageref{sec:history}. + +\subsection{ZАklady pou╬itМ \protect\TL{}} +\label{sec:basic} + +\TL{} lze pou╬Мt tЬemi zАkladnМmi zpЫsoby: + +\begin{enumerate} + +\item MЫ╬ete spustit \TL{} pЬМmo z~\pkgname{live} \DVD +%B% distribuХnМho mИdia (s~vЩjimkou distribuce \pkgname{inst}; + (viz~\ref{sec:multiple-dist} na stranЛ~\pageref{sec:multiple-dist}). + Pro toto u╬itМ nepotЬebujete tИmЛЬ ╬АdnЩ + diskovЩ prostor. DАvА vАm to okam╬itЩ + pЬМstup ke v╧emu na \TL{}. VЩkon bude samozЬejmЛ + hor╧М ne╬ pЬi spou╧tЛnМ z~pevnИho disku, ale + mЫ╬e se vАm to nЛkdy dobЬe hodit. + +\item MЫ╬ete instalovat ХАsti \TL{} na lokАlnМ + disk z~\DVD\ nebo z~\pkgname{inst} \acro{CD}. To je nejХastЛj╧М + vyu╬itМ \TeXLive. Budete + potЬebovat (pЬibli╬nЛ) 100═megabytЫ pro nejmen╧М systИm, i + a o nЛco vМc ne╬ 1.3~gigabytЫ pro plnЩ systИm. + +\item MЫ╬ete integrovat pЬМslu╧nЩ balМk nebo kolekci + do svИho souХasnИho systИmu, nebo + dЬМve instalovanИho systИmu \TL{}, nebo jinИho systИmu. +\end{enumerate} + +\noindent Ka╬dА z~tЛchto mo╬nostМ je popsАna detailnЛ +v~nАsledujМcМch sekcМch ХlenЛnЩch dle \acro{OS}, zde jen souhrn: + +\begin{itemize*} +\item ZАkladnМ instalaХnМ dАvka pro Unix a \MacOSX{} je +\texttt{install-tl.sh}; +\item DАvka pro instalaci samostatnИho balМku je \texttt{install-pkg.sh}. +\item \texttt{tlpmgui.exe} je instalaХnМ program +pro Windows. MЫ╬e bЩt pou╬it takИ ke pЬidАnМ nebo odstranЛnМ balМХkЫ. +Pro dal╧М informace viz dАle oddМl~\ref{sec:win-install} +na stranЛ~\pageref{sec:win-install}. +\end{itemize*} + + +\subsection{NАpovЛda} +\label{sec:help} + +\TeX{}ovskА komunita je aktivnМ a vstЬМcnА a tИmЛЬ v╧echny +serioznМ otАzky jsou obvykle zodpovЛzeny. Podpora je +neformАlnМ, je provАdЛna pЬМle╬itostnЩmi ХtenАЬi a dobrovolnМky, +a proto je dЫle╬itИ, abyste svou domАcМ Зlohu udЛlali pЬedtМm, +ne╬ vznesete dotaz. (Pokud tou╬Мte po garantovanИ komerХnМ podpoЬe, mЫ╬ete +na \TL{} zapomenout a zakoupit komerХnМ distribuci; viz +\url{http://tug.org/interest.html#vendors} pro seznam prodejcЫ.) + +NМ╬e je uveden seznam informaХnМch zdrojЫ, pЬibli╬nЛ v~poЬadМ, ve kterИm +ho doporuХujeme k~pou╬itМ: + +\begin{description} +\item [prvnМ kroky] Pokud jste \TeX ovskЩ novАХek, na strАnce +\url{http://tug.org/begin.html} najdete krАtkЩ Зvod do systИmu. +\item [\TeX{} \acro{FAQ}] \TeX{} \acro{FAQ} je obrovskА studnice + znalostМ na v╧echny druhy otАzek, od tЛch + zАkladnМch a╬ po ty nejobskurnЛj╧М. + Dokument najdete na \TL{} v~adresАЬi \OnCD{texmf-doc/doc/english/FAQ-en} + nebo na Internetu na \url{http://www.tex.ac.uk/faq}. ProsМme, zaХnЛte + svИ hledАnМ odpovЛdi zde. + +\item [\TeX{} Catalogue] Pokud hledАte konkrИtnМ balМk, + font, program ap., \TeX{} Catalogue je mМsto, kde zaХМt. + Je to obsАhlА sbМrka \TeX{}ovЩch polo╬ek. Viz + \OnCD{texmf-doc/doc/english/catalogue} nebo + \url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [\TeX{}ov\'e odkazy na Webu] Na \url{http://tug.org/interest.html} + najdete mnoho relevantnМch odkazЫ na rЫznИ pЬМruХky, + knihy, manuАly a ХlАnky o v╧ech aspektech systИmu \TeX{}. + +\item [archМvy diskusnМch skupin] + \sloppypar DvЛ zАkladnМ fСra pro hledАnМ Ьe╧enМ problИmЫ jsou + newsovА skupina \ctt{} a emailovА diskusnМ + skupina \email{texhax@tug.org}. V~archМvech tЛchto zdrojЫ + najdete tisМce pЬedchozМch dotazЫ a odpovЛdМ ХekajМcМch na va╧e + hledАnМ. NahlИdnЛte 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 obecnИho + vyhledАvacМho stroje jako \url{http://google.com} takИ nic nepokazМte + a pro specifika Хe╧tiny a sloven╧tiny najdete dal╧М zdroje + odkazovanИ na \url{http://www.cstug.cz}. + +\item [kladenМ dotazЫ] Pokud nemЫ╬ete najМt odpovЛО na svou otАzku, + mЫ╬ete ji polo╬it na \ctt{} pЬes Google nebo va╧eho + newsovИho klienta nebo emailem na \email{texhax@tug.org}. + Ale dЬМve, ne╬ tak uХinМte, \emph{prosМm,} pЬeХtЛte si toto doporuХenМ, jak + klАst otАzku tak, ╬e pravdЛpodobnЛ i dostanete odpovЛО: + \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. + +\item [podpora \TL{}] Pokud chcete poslat + chybovИ hlА╧enМ, pЬipomМnku nebo poznАmku k~distribuci + \TL{}, jejМ instalaci nebo dokumentaci, + diskusnМ skupina k~tomu urХenА je \email{tex-live@tug.org}. + Pokud v╧ak je va╧e otАzka specifickА pro program na + \TL{} umМstЛnЩ, pi╧te radЛji pЬМmo autorovi nebo do diskusnМ + skupiny urХenИ pro tento program. +\end{description} + +\noindent +Druhou stranou mince je odpovМdАnМ dotazЫ tЛch, kdo kladou otАzky. +\ctt{} i list \code{texhax} jsou otevЬeny pro kohokoliv. +PЬihlaste se, naslouchejte a zaХnЛte odpovМdat tam, +kde mЫ╬ete. VМtejte ve svЛtЛ \TeX{}u! + +% 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{Struktura \protect\TeX\protect\ Live} +\label{sec:struct-tl} + +Tento oddМl popisuje strukturu a obsah \TL{} a +\TKCS{}, kterИ je ХАstМ. + +%DvЛ hlavnМ instalaХnМ dАvky pro Unix a \MacOSX{} jsou +%\texttt{install-tl.sh} a \texttt{install-pkg.sh}. Jsou +%popsАny v~oddМle~\ref{sec:unix-install} na +%stranЛ~\pageref{sec:unix-install}. +%V~dal╧Мm oddМle popМ╧eme strukturu a obsah \TL{}. + +\subsection{NЛkolik distribucМ: \protect\pkgname{live}, + \protect\pkgname{inst}, %\protect\pkgname{demo} + \protect\pkgname{protext}} +\label{sec:multiple-dist} + +PoХМnaje rokem 2003 nАs +prostorovА omezenМ formАtu \acro{CD-ROM} donutila +rozdЛlit \TL{} na vМce distribucМ: + +\begin{description} + +\item [live] зplnЩ systИm na~\acro{DVD-ROM} (pro +\acro{CD-ROM} je pЬМli╧ obsАhlЩ). +MЫ╬e bЩt spou╧tenЩ pЬМmo nebo nainstalovАn na disk. +\DVD{} takИ obsahuje kopii archМvu +\CTAN{}, distribuci \pkgname{protext} pro Windows a Mac\TeX\ distribuci \MacOSX, kterИ jsou na \TL{} zcela nezАvislИ, +a takИ sadu dal╧Мch balМkЫ v~adresАЬi \texttt{texmf-extra}. + +\CTAN{}, \pkgname{protext}, Mac\TeX{} a \texttt{texmf-extra} se ЬМdМ odli╧nЩmi podmМnkami +kopМrovАnМ ne╬ \TL{}, proto pЬi redistribuci nebo modifikaci +buОte pozorni. + +\item [inst(alovatelnЩ)] зplnЩ systИm na \CD. Abychom na nЛj +v╧echno smЛstnali, museli jsme zkomprimovat, co jen ╧lo. +Proto nejde \TeX\ spou╧tЛt pЬМmo z~\CD, ale musМ se instalovat +na disk (odtud jmИno distribuce). +Postup instalace naleznete v~dal╧Мch oddМlech. + +\item [protext] Roz╧МЬenМ systИmu \MIKTEX\ pro Windows. +\ProTeXt\ pЬidАvА k~\MIKTEX u novИ doplРkovИ nАstroje +a zjednodu╧uje instalaci. Je plnЛ nezАvislЩ na \TL{} +a mА svИ vlastnМ pЬМkazy. MЫ╬e bЩt spou╧tЛnЩ ╬ivЛ, anebo +instalovАn na disku. +DomovskА strАnka \ProTeXt\ je \url{http://tug.org/protext}. + +\ProTeXt\ je poskytovАn v~koЬenovИm adresАЬi \pkgname{live} \DVD\ +nebo na svИm vlastnМm \CD\ (pro ty, kteЬМ nemohou pou╬Мt \DVD). + +%\item [demo] systИm spustitelnЩ pЬМmo z~\CD. Aby to bylo mo╬nИ, +%byli jsme nuceni vypustit velkИ kolekce pro sazbu +%ХМn╧tiny, japon╧tiny a korej╧tiny \acro{CJK}, +%podporu sazby not, nЛkterА mИnЛ Хasto pou╬МvanА pМsma. +%Distribuce funguje jen pod Linuxem, \MacOSX{} a systИmy Windows. + +\end{description} + +\noindent Jakou pou╬МvАte distribuci, zjistМte +nАhledem souboru \texttt{00\var{type}.TL} na za\v{c}\'atku +adresАЬe \TL{}. Tento soubor obsahuje takИ informaci o~datu vydАnМ \TL{}. + +PЬirozenЛ, ka╬dА skupina u╬ivatelЫ se rozhodne, co distribuovat, podle +vlastnМch potЬeb. (\acro{TUG} i \acro{CSTUG} zasМlА v╧echny tЬi +zmМnЛnИ disky v╧em svЩm ХlenЫm.) + +\subsection{Popis koЬenovЩch adresАЬЫ} +\label{sec:tld} + +V~koЬenovИm adresАЬi distribuce \TL{} najdete nАsledujМcМ +podadresАЬe. Na \pkgname{live} \DVD, je celА \TL{} hierarchie v~podaresАЬi +\dirname{texlive2005} a ne v~koЬenovИm adresАЬi disku. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\noindent +\begin{tabularx}{\textwidth}{>{\ttfamily}lX} +bin & BinАrky, s~podadresАЬi dle platforem.\\ +source & ZdrojovИ kСdy v╧ech programЫ, vХetnЛ distribuce + \Webc{} \TeX{}u a \MF{}u. Jsou v~\cmdname{bzip2}-zkom\-pri\-mo\-va\-nЩch + archМvech tar. \\ +support & PomocnИ balМky a programy. Automaticky %ImplicitnЛ + \emph{nejsou} instalovАny: + % \cmdname{GhostScript}, \cmdname{netpbm} a dal╧М + nЛkterИ editory a \TeX{}ovА vЩvojovА prostЬedМ. \\ +texmf & %B% InstalovanИ balМky, fonty, konfiguraХnМ soubory, apod. \\ +Strom programЫ spoleХnЛ s jejich podp\r{u}rnЩmi soubory a +dokumentacМ. Nezahrnuje formАty \TeX u a balМky. + (\texttt{TEXMFMAIN} v~nАsledujМcМm oddМle.) \\ +texmf-dist & HlavnМ strom formАtЫ a balМkЫ. + (\texttt{TEXMFDIST} v~nАsledujМcМm oddМle.) \\ +texmf-doc & Strom samostatnИ ХistИ dokumentace, uspoЬАdАn podle jazykЫ. \\ +texmf-var & Strom pro soubory automaticky generovanИ a ulo╬enИ. +(\texttt{TEXMFSYSVAR} v~nАsledujМcМm oddМle.) \\ +xemtex & Strom pro pomocnИ programy pou╬МvanИ jenom pod + Windows. Tyto programy jsou + obvykle na unixovЩch systИmech nainstalovАny nebo jsou + alespoР snadno zkompilovatelnИ. +\end{tabularx} +\endgroup + +\smallskip + +V~koЬenovИm adresАЬi distribuce jsou navМc instalaХnМ dАvky a soubory +\filename{README} (v~rЫznЩch jazycМch). + +AdresАЬ \dirname{texmf-doc} obsahuje pouze dokumentaci, +ale ne Зplnou. Dokumentace programЫ (manuАly, +man-strАnky, info-soubory) jsou v~\dirname{texmf/doc}, +proto╬e programy jsou v~adresАЬi \dirname{texmf}. +PodobnЛ, dokumentace \TeX ovЩch balМkЫ a formАtЫ je +v~\dirname{texmf-dist/doc}. +K~vyhledАnМ ve╧kerИ dokumentace na libovolnИm mМstЛ mЫ╬ete +pou╬Мt programy \cmdname{texdoc} nebo \cmdname{texdoctk}. +Souhrnn\'e odkazy v~koЬenovИm souboru \OnCD{doc.html} mohou +bЩt takИ u╬iteХnИ. + +\subsection{PЬehled pЬeddefinovanЩch stromЫ texmf} +\label{sec:texmftrees} + +Tento oddМl uvАdМ seznam v╧ech pЬeddefinovanЩch promЛnnЩch +urХujМcМch stromy texmf, pou╬МvanЩch systИmem a jejich zamЩ╧lenЩ ЗХel. +Povel \texttt{texconfig +conf} vАm ukА╬e hodnoty tЛchto promЛnnЩch, tedy mЫ╬ete jednodu╧e zjistit +jak tyto odpovМdajМ nАzvЫm adresАЬЫ ve va╧М instalaci. + +\begin{ttdescription} +\item [TEXMFMAIN] Strom obsahujМcМ ╬ivotnЛ dЫle╬itИ ХАsti systИmu, jako skripty +pomocnМka (napЬ. \verb+web2c/mktexdir+), pool-soubory a jinИ podpornИ +soubory. +\item [TEXMFDIST] Strom obsahujМcМ hlavnМ sadu balМkЫ maker, + fonty, atd., z~pЫvodnМ distribuce. +\item [TEXMFLOCAL] Strom, kterЩ mЫ╬ou pou╬Мt administrАtoЬi na instalaci +doplРkovЩch nebo obnovenЩch maker, fontЫ, atd., pro celЩ systИm. +\item [TEXMFHOME] Strom, kterЩ mЫ╬ou pou╬Мt u╬ivatelИ na svoje osobnМ instalace +doplРkovЩch nebo obnovenЩch maker, fontЫ, atd. + Roz╧МЬenМ tИto promЛnnИ zАvisМ implicitnЛ na promЛnnИ \verb+$HOME+, % $ + kterА dynamicky nastavМ zvlА╧tnМ adresАЬ pro ka╬dИho u╬ivatele. +\item [TEXMFCONFIG] Strom pou╬МvАn nАstroji te\TeX u + \verb+texconfig+, \verb+updmap+ a \verb+fmtutil+ na ulo╬enМ + modifikovanЩch konfiguraХnМch ЗdajЫ. ImplicitnЛ pod \verb+$HOME+. %$ +\item [TEXMFSYSCONFIG] Strom pou╬МvАn nАstroji te\TeX u + \verb+texconfig-sys+, \verb+updmap-sys+ a \verb+fmtutil-sys+ na ulo╬enМ + modifikovanЩch konfiguraХnМch ЗdajЫ. +\item [TEXMFVAR] Strom pou╬МvАn programy \verb+texconfig+, \verb+updmap+ a + \verb+fmtutil+ na (cache) ulo╬enМ runtime + ЗdajЫ jako jsou soubory formАtЫ a generovanИ map-soubory. + ImplicitnЛ pod \verb+$HOME+. %$ +\item [TEXMFSYSVAR] Strom pou╬МvАn programy \verb+texconfig-sys+, + \verb+updmap-sys+ a \verb+fmtutil-sys+ na (cache) ulo╬enМ runtime + ЗdajЫ jako jsou soubory formАtЫ a generovanИ map-soubory. +\end{ttdescription} + +Dal╧М rozhovor o~pЬМkazu \texttt{texconfig} a pЬМbuznЩch pomЫckАch, viz +oddМl~\ref{sec:texconfig}, na stranЛ~\pageref{sec:texconfig}. + + + +\subsection{Roz╧МЬenМ \protect\TeX{}u} +\label{sec:tex-extensions} + +\TL{} obsahuje nЛkolik roz╧МЬenЩch verzМ \TeX{}u: + +\begin{description} + +\item [\eTeX] pЬidАvА malou, ale mocnou mno╬inu novЩch +pЬМkazЫ (nazЩvanЩch \TeX{}ovИ primitivy). +\label{text:etex} +NovИ pЬМkazy se napЬМklad tЩkajМ makroexpanze, naХМtАnМ znakЫ, +tЬМd znaХek (marks), a roz╧МЬenЩch ladicМch mo╬nostМ, +a roz╧МЬenМ \TeXXeT{} pro obousmЛrnou sazbu. ImplicitnЛ +je \eTeX{} 100\% kompatibilnМ se standardnМm \TeX{}em. +Viz~\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. +%B% \eTeX{} je nynМ sАzecМm programem pro \LaTeX{} i pdf\LaTeX{}. + +\item [pdf\TeX] je schopen kromЛ \dvi{} zapisovat vЩsledek +i ve formАtu PDF firmy Adobe. \LaTeX{}ovЩ balМk +\pkgname{hyperref} mА volbu \singleuv{\optname{pdftex}}, +kterА aktivuje funkcionalitu programu. Viz +nАvod v adresАЬi \OnCD{texmf/doc/pdftex/manual/} a +\OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item [pdfe\TeX] kombinuje roz╧МЬenМ pdf\TeX\ a \eTeX. +Je to implicitnМ program pro v╧echny formАty kromЛ +plain \TeX u. Dokumentaci viz vЩ╧e. + +\item [\OMEGA\ (Omega)] je zalo╬ena na Unicode. +Umo╬Рuje sАzet v~tИmЛЬ v╧ech +svЛtovЩch jazycМch zАroveР. Dociluje toho tzv. +pЬekladovЩmi procesy (\OMEGA{} Translation Processes, +\acro{OTP}) pro realizaci slo╬itЩch transformacМ +na jakИmkoliv vstupu. Viz +\OnCD{texmf/doc-dist/omega/base/doc-1.8.tex} +(dokumentace v╧ak nenМ zcela aktuАlnМ). + +\item [Aleph] kombinuje roz╧МЬenМ \OMEGA\ a \eTeX. +Pro minimАlnМ dokumentaci viz \OnCD{texmf-dist/doc/aleph/base}. + +\end{description} + + +\subsection{Dal╧М za zmМnku stojМcМ programy na \protect\TeXLive} + +Na \TL{} najdete nЛkolik Хasto pou╬МvanЩch programЫ: + +\begin{cmddescription} + +\item [bibtex] podpora prАce se seznamem literatury. + +\item [makeindex] vytvАЬenМ rejstЬМku, pro Хe╧tinu a sloven╧tinu +ve verzi \texttt{csindex}. + +\item [dvips] pro konverzi \dvi{} do \PS{}. + +\item [xdvi] prohlМ╬eХ \dvi{} pro systИm X~Window. + +\item [dvilj] \dvi{} ovladaХ tiskАren HP Laser\-Jet. + +\item [dv2dt, dt2dv] pro konverzi \dvi{} do/z~ascii textu. + +\item [dviconcat, dviselect] pro kopii a vklАdАnМ strАnek +do/z \dvi{} souborЫ. + +\item [dvipdfmx] konvertor \dvi{} do \acro{PDF}, alternativnМ +pЬМstup vedle pdf\TeX{}u zmМnЛnИho vЩ╧e. Srovnej balМky +\pkgname{ps4pdf} a \pkgname{pdftricks} pro dal╧М +alternativy. + +\item [psselect, psnup, \ldots] programy pro prАci s~\PS{}em. + +\item [lacheck] pro kontrolu syntaxe \LaTeX{}u. + +\item [texexec] wrapper pro Con\TeX{}t a prАci s~\acro{PDF}. + +\item [tex4ht] konvertor \TeX{}u do \acro{HTML}. + +\end{cmddescription} + + +\section{Instalace na Unixu} +\label{sec:unix-install} + +Jak ji╬ bylo zmМnЛno v~oddМle~\ref{sec:basic} na stranЛ~\pageref{sec:basic}, +\TL{} mА tЬi zАkladnМ u╬itМ: + +\begin{enumerate} +\item pou╬itМ pЬМmo z~mИdia, +\item instalace na disk nebo +\item integrace konkrИtnМho balМku Хi kolekce do va╧М existujМcМ +\TeX{}ovИ instalace. +\end{enumerate} + +\noindent V~nАsledujМcМch sekcМch popМ╧eme +pro Unix specifickИ postupy pro ka╬dИ vЩ╧e zmМnЛnИ u╬itМ. + +\ifSingleColumn \begin{figure}[htb]\leavevmode\noindent \fi +\begin{warningbox} +\noindent\textbf{VarovАnМ:} Kolekce na \CD{} i \DVD{} jsou ve formАtu +ISO 9660 (High Sierra), \emph{vХetnЛ}~roz╧МЬenМ +Rock Ridge (a Joliet pro Windows). Proto vА╧ +unixovЩ systИm musМ bЩt schopen vyu╬Мvat roz╧МЬenМ +Rock Ridge. OvЛЬte tedy v~dokumentaci pЬМkazu \cmdname{mount}, +jak toho docМlit. Pokud mАte na svИ lokАlnМ sМti +nЛkolik rЫznЩch strojЫ, namontujte mИdia na takovИm stroji, +kterЩ Rock Ridge podporuje, a pou╬ijte je na ostatnМch. + +ModernМ systИmy +%Linux, Free\acro{BSD}, Sun, a \acro{SGI} +%B% systИmy Alpha +by mЛly pou╬Мvat disky bez problИmЫ. V~pЬМpadЛ problИmЫ nАm dejte vЛdЛt. +V~dal╧Мm pЬedpoklАdАme, ╬e jste schopni namontovat +Rock Ridge kompatibilnМ \CD{}. +\end{warningbox} + +\ifSingleColumn\end{figure}\fi + +\subsection{Spou╧tЛnМ \protect\TL{} pЬМmo z~mИdia (Unix)} + +\def\runlive{% text repeated in windows section +\TeX{}ovЩ systИm mЫ╬ete spou╧tЛt pЬМmo +%B% z~\pkgname{demo} \CD{} nebo +z~\pkgname{live} \DVD{}, bez instalace distribuce +na disk. (Odtud nАzev \singleuv{\TeXLive}.) \TeX{} \emph{nejde} +spou╧tЛt pЬМmo z~jinЩch %B% \pkgname{inst} +\CD{} (viz +oddМl~\ref{sec:multiple-dist} na stranЛ~\pageref{sec:multiple-dist}). +} + +%B% Na demo \CD{} najdete binАrky pouze pro Linux, \MacOSX{} a Windows. +%B% Pro spou╧tЛnМ na dal╧Мch unixovЩch systИmech budete potЬebovat \DVD. + +\def\startinst{% repeated in other subsections +Na zaХАtku musМte namontovat \CD{} resp. \DVD{} a povolit +roz╧МЬenМ Rock Ridge. KonkrИtnМ pЬМkaz se \emph{li╧М} systИm od systИmu. +NМ╬e uvedenИ funguje pod Linuxem (nАzev zaЬМzenМ +\filename{/dev/cdrom} se mЫ╬e li╧it, stejnЛ tak nАzev +souborovИho systИmu: Solaris napЬМklad pro ISO 9660 pou╬МvА nАzev +\texttt{hsfs}\Dash souborovЩ systИm High Sierra). V╧echny pЬМklady pou╬МvajМ +\texttt{>} jako prompt shellu, vstup u╬ivatele je \Ucom{\texttt{podtr╬enЩ}}.) +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent ZmЛРte aktuАlnМ adresАЬ do prАvЛ namontovanИho adresАЬe: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent Pod \MacOSX{} je adresАЬ typicky pod +\dirname{/Volumes} a zaЬМzenМ bude namontovАno automaticky. +} + +\def\installtlsh{ +Spus╩te instalaХnМ dАvku \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +\noindent Po nЛkolika uvМtacМch zprАvАch a zobrazenМ zАkladnМho menu vАs +systИm ╬АdА o zadАnМ volby. To uХinМte stiskem vybranИho znaku +a zmАХknutМm klАvesy Enter (bez lomenИ zАvorky). NezАle╬М, zda pou╬МvАte malА Хi velkА pМsmena; +v~ukАzkАch jsou pou╬ita malА. +} + +\runlive +\startinst +\installtlsh + + +Pro spou╧tЛnМ z~mИdia bude prvnМm pЬМkazem \Ucom{d} a nАslednЛ +pЬМkaz \Ucom{1} pro nastavenМ adresАЬЫ. I~v~tomto pЬМpadЛ musМme +nastavit adresАЬ na lokАlnМm disku, kam bude \TeX{} zapisovat soubory, +kterИ generuje, jako fonty, formАtovИ soubory, a takИ upravenИ +konfiguraХnМ soubory. V~tomto pЬМkladЛ pou╬ijeme +\dirname{/opt/texlive2005}. +Je vhodnИ pЬidat k~nАzvu takИ rok, proto╬e tyto generovanИ soubory nejsou kompatibilnМ pro rЫznИ verze. +(Pokud jste spokojeni s~implicitnМ +hodnotou \dirname{/usr/local/texlive/2005} mЫ╬ete pokraХovat dal╧Мm krokem.) +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive/2005 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/TeX]: \Ucom{/opt/texlive2005} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent ZpАtky v~hlavnМm menu, na╧Мm dal╧Мm a poslednМm pЬМkazem bude +\Ucom{r} pro nastavenМ bЛhu z~mИdia bez instalace na disk: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live! +> +\end{alltt} + +\noindent Jak vidМte, jsme zpЛt v~hlavnМm menu. + +Dal╧Мm krokem je nastavenМ dvou promЛnnЩch prostЬedМ: +\envname{PATH} pro adresАЬ programЫ zАvislЩch na architektuЬe OS +(abychom mohli spou╧tЛt programy) a \envname{TEXMFSYSVAR} na hodnoty +specifikovanИ vЩ╧e. V~tabulce~\ref{tab:archlist} vidМte seznam jmen +architektur pro rЫznИ systИmy. +%B% a takИ, zda jsou k~dispozici +%B% na \pkgname{demo} \CD. Na distribucМch \pkgname{inst} a \pkgname{live} +%B% je k~dispozici v╧e. KromЛ nАzvЫ obsahujМcМch verzi jsou +%B% k~dispozici i nАzvy bez verzМ: napЬМklad +%B% \dirname{sparc-solaris} je odkaz na adresАЬ \dirname{sparc-solaris2.7}. +%B% GenerickА jmИna mohou pomoci pЬi upgradech v~budoucnu. + +\def\textruntexconfig{% +Jakmile byla dokonХena zАkladnМ instalace a byly nastaveny promЛnnИ +prostЬedМ, poslednМm krokem je spu╧tЛnМ programu +\cmdname{texconfig} nebo \cmdname{texconfig-sys} pro pЬizpЫsobenМ instalace specifickЩm potЬebАm. +To je popsАno v~oddМle~\ref{sec:texconfig} na stranЛ~\pageref{sec:texconfig}. +} +\textruntexconfig + +\begin{table*}[ht] +\caption[PodporovanИ systИmovИ architektury.]{PodporovanИ +systИmovИ architektury.} + +\label{tab:archlist} +\centering +\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} +Syntax pro nastavenМ promЛnnЩch prostЬedМ a nastavenМ inicializaХnМho +souboru, kterЩ je obsahuje, zАvisМ na pou╬МvanИm shellu. Pokud pou╬МvАte +Bourne-kompatibilnМ shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, +apod.), dejte si do svИho souboru \filename{$HOME/.profile}: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2005/texmf-var; export TEXMFVAR +\end{alltt} + +\noindent Pro C shell-kompatibilnМ shelly (\cmdname{csh}, +\cmdname{tcsh}) si dejte do +\filename{$HOME/.cshrc} toto: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2005/texmf-var +\end{alltt} + +%B% \def\donewithinst{ +\noindent +Pak se odhlaste, pЬihlaste s~novЩm nastavenМm a otestujte svou instalaci +(viz oddМl~\ref{sec:test-install} na stranЛ~\pageref{sec:test-install}). +%B% }\donewithinst + +%B% \def\ifindoubt{% +\def\textifindoubt{% +Pokud narazМte na problИmy, pokuste se je Ьe╧it se svЩm mМstnМm +systИmovЩm administrАtorem: jak namontovat mИdia \TL{}, +jakИ adresАЬe pou╬Мvat. TakИ detaily zmЛn osobnМch +konfiguraХnМch souborЫ se mohou systИm od systИmu li╧it.} +\textifindoubt +%B% \ifindoubt + +% +\subsection{Instalace \protect\TeX\protect\ Live na disk} +\label{sec:unix-install-disk} + +Dnes je mo╬nА, ba i typickА, instalace distribuce \TL{} +na disk. To je mo╬nИ provИst z~distribucМ \pkgname{live} nebo +\pkgname{inst}. +%B% ProvИst ji lze buО z~\pkgname{live} +%B% \DVD, nebo z~\pkgname{inst} \CD. TakИ lze pou╬Мt +%B% \pkgname{demo} \CD, pokud nepotЬebujete na \CD{} vynechanИ balМky a +%B% systИmy. +Popis rozdМlЫ rЫznЩch distribucМ +najdete v~oddМle~\ref{sec:multiple-dist} na stranЛ~\pageref{sec:multiple-dist}. + +%% CS specific extension paragraph +V pЬМpadЛ, ╬e ji╬ mАte na disku star╧М instalaci \TL{}, +zaarchivujte si ji. Novou instalaci nelze instalovat pЬes starou. +Pokud jste si ale dЫslednЛ svoje roz╧МЬenМ +instalovali do podstromЫ v~\path|$TEXMFLOCAL|, +po provedenМ novИ instalace si v~nМ tyto podstromy +rozbalte a docМlМte tМm vysokИ mМry zpЛtnЛ kompatibility +instalacМ \TeXLive. + +\startinst +\installtlsh + +Tabulka~\ref{tab:main-menu-options} krАtce uvАdМ volby hlavnМho menu. PoЬadМ, v~kterИm vybМrАte volby jen lehce ovlivРuje vЩsledek, jenom volba \Ucom{i} musМ bЩt poslednМ. Je rozumnИ prochАzet je v~poЬadМ uvedenИm zde. + + +%B% Spus╩te instalaХnМ dАvku \filename{install-tl.sh}: +%B% \begin{alltt} +%B% > \Ucom{sh install-tl.sh} +%B% Welcome to TeX Live... +%B% \end{alltt} + +%B% \firstinstcommand + +%B% ObjevМ se ЗvodnМ seznam mo╬nostМ hlavnМho menu. +%B% PoЬadМ, ve kterИm zvolМte jednotlivИ mo╬nosti, nehraje roli, +%B% jen volba \Ucom{i} musМ bЩt poslednМ. Je smysluplnИ projМt mo╬nosti ve +%B% zde prezentovanИm poЬadМ. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Volby hlavnМho menu pro instalaci} +\label{tab:main-menu-options} +\begin{tabularx}{\textwidth}{@{}>{\ttfamily}lX@{}} +p & %B% OperaХnМ systИm +Platforma, kterou pou╬МvАme.\\ +b & InstalovanИ architektury.\\ +s & ZАkladnМ instalaХnМ schИma, kterИ bude pou╬itИ (minimal, recommended, + full, apod.).\\ +c & PrioritnМ volba jednotlivЩch kolekcМ (nezАvislА na schИmatu).\\ +l & PrioritnМ volba jazykovЩch kolekcМ.\\ +d & AdresАЬe, do nich╬ se bude instalovat.\\ +o & Dal╧М volby.\\ +i & VlastnМ instalace. +\end{tabularx} +\end{table} + +Zde je detailnМ popis jednotlivЩch voleb. + +\textbf{\optname{p} -- Pou╬МvanА platforma.} Jeliko╬ instalaХnМ skript +automaticky hАdА, na jakИ platformЛ bЛ╬М, tato volba se vЛt╧inou nemusМ +pЬenastavovat a je potЬeba pouze tehdy, kdy╬ chcete potlaХit +automatickou detekci. + +\textbf{\optname{b} -- InstalovanИ architektury.} ImplicitnЛ se +instalujМ binАrky pouze pro prАvЛ pou╬Мvanou platformu. Je zde ale +mo╬nost si vybrat i dal╧М podporovanИ platformy (anebo +zru╧it vЩbЛr prАvЛ pou╬МvanИ platformy). +To mЫ╬e bЩt vhodnИ pЬi sdМlenМ \TeX{}ovИho stromu v~heterogennМ sМti. +PЬehled podporovanЩch architektur je v~tabulce~\ref{tab:archlist} +na stranЛ~\pageref{tab:archlist}. + +\textbf{\optname{s} -- ZАkladnМ instalaХnМ schИma.} +Z~tohoto menu mЫ╬ete vybrat nЛkterou z~pЬedpЬipravenЩch +mno╬in sbМrek balМkЫ (instalaХnМch schИmat). +ImplicitnМ je \optname{full} schИma pro instalaci v╧ech balМkЫ dostupnЩch na mИdiu, +ale mЫ╬ete zvolit takИ \optname{basic} schИma pro minimАlnМ systИm anebo \optname{medium} +schИma pro nЛco uprostЬed. +Najdete zde takИ schИmata pro u╬ivatele Ome\-gy a \acro{XML}. +%B% SchИma \pkgname{Live} je pou╬МvАno pro vytvАЬenМ dal╧Мch +%B% \TL{} distribucМ a obvykle nenМ vhodnИ pro vЩbЛr na +%B% bЛ╬nou instalaci. + +\textbf{\optname{c} -- PrioritnМ volba jednotlivЩch kolekcМ.} +Z~tohoto menu vyberete jednotlivИ instalaХnМ kolekce, +kterИ jsou vЩjimkami ze zvolenИho instalaХnМho schИmatu. +%B% Ka╬dА kolekce\Dash makra \TeX u, fonty \MF{} atd. +%B% \Dash sestАvА z~nЛkolika balМХkЫ. +Kolekce jsou o ЗroveР nМ╬ ne╬ schИmata \Dash kolekce tvoЬМ +jeden nebo vМce balМkЫ, balМХky (nejni╬╧М ЗroveР +seskupovАnМ v~\TeXLive) obsahujМ aktuАlnМ soubory +maker \TeX u, rodiny fontЫ atd. V~tomto menu hraje pЬi vЩbЛru +roli volba malЩch a velkЩch pМsmen. + +\textbf{\optname{l} -- PrioritnМ volba jazykovЩch kolekcМ.} +to override the collection set in the chosen +scheme. +Toto menu mА stejnИ urХenМ jako +\Ucom{c}, a to urХit vЩjimky vybranИho instalaХnМho schИmatu, +pЬiХem╬ kolekce jsou utЬМdЛny dle podpory sazby rЫznЩch jazykЫ. +MalА a velkА pМsmena jsou opЛt pЬi volbАch odli╧ovАna. +Seznam jazykovЩch kolekcМ na \TeXLive: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +%\ifnum\Status=3 +\iftrue\begingroup \small \fi +\begin{tabbing} +\hspace{.25\linewidth} \= +\hspace{.23\linewidth} \= +\hspace{.18\linewidth} \= +\hspace{.32\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} + +\iftrue +%\ifnum\Status=3 +\endgroup \fi + +\noindent JazykovИ kolekce typicky obsahujМ fonty, makra, vzory +dЛlenМ a dal╧М pomocnИ soubory. +(NapЬМklad \pkgname{frenchle.sty} je instalovАn pokud zvolМte +volbu \optname{French}.) NavМc instalacМ jazykovИ kolekce +bude zmЛnЛn obsah konfiguraХnМho souboru \filename{language.dat}, +kterЩ urХuje, jakИ vzory dЛlenМ budou vlo╬eny do formАtЫ. + +\textbf{\optname{d} -- InstalaХnМ adresАЬe.} Tyto adresАЬe mohou bЩt +zmЛnЛny takto: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] KoЬenovЩ adresАЬ, do kterИho bude v╧e +instalovАno. ImplicitnМ hodnota je \dirname{/usr/local/texlive/2005}, a +je obvykle mЛnЛna. DoporuХujeme do nАzvu pЬidat rok, co vАm umo╬nМ +mМt nЛkolik rЫznЩch +verzМ \TL{} vedle sebe. + +(Pak si mЫ╬ete udЛlat symbolickЩ +odkaz kupЬМkladu na nАzev \dirname{/usr/local/texlive} nezАvislЩ na verzi, kterЩ mЫ╬e bЩt aktualizovАn po otestovАnМ +novИ verze.) + +Pod \MacOSX{} obvykle \TeX{}ovИ nadstavby hledajМ +\TeX{} v~\dirname{/usr/local/teTeX}, co╬ je proto na tomto OS +doporuХenЩ adresАЬ pro instalaci. + +\item [TEXMFLOCAL] Do tohoto adresАЬe bude systИm \TeX{} +%B% instalaХnМ dАvky instalovat + (ne jako ХАst pЫvodnМ instalace, ale spМ╧e jako doplnЛk) uklАdat + soubory nezАvislИ na verzi distribuce, napЬМklad fonty. + ImplicitnМ hodnota je \dirname{/usr/local/texlive/texmf-local}, + nezАvislА na aktuАlnМ verzi \TL{}, proto╬e to je takИ doporuХenИ + umМstЛnМ na uklАdanМ v╧ech lokАlnМch balМkЫ a konfiguraХnМch souborЫ. + +\item [TEXMFSYSVAR] Do tohoto podstromu budou instalovАny a uklАdАny + soubory, kterИ \emph{jsou} specifickИ pro danou verzi distribuce, + napЬМklad formАtovИ soubory, konfiguraХnМ soubory modifikovanИ +konfiguraХnМm programem \cmdname{texconfig-sys}. ImplicitnМ +hodnota je \dirname{TEXDIR/texmf-var} a obvykle nenМ dЫvod ji mЛnit. +\cmdname{texconfig} hledА modifikovanИ konfiguraХnМ Зdaje takИ v~adresАЬi promЛnnИ + \envname{TEXMFSYSCONFIG}. Pro dal╧М informace viz +oddМl~\ref{sec:texconfig}, strana~\pageref{sec:texconfig}. + +\end{ttdescription} + +\textbf{\optname{o} -- Dal╧М volby.} +Zde mЫ╬ete zvolit nАsledujМcМ obecnИ volby: +%B% ze tЬМ mo╬nostМ ovliv\v{n}ujМcМch instalaci: + +\begin{ttdescription} +\item [a] Volba alternativnМho adresАЬe pro generovanИ fonty. + StandardnЛ je pou╬it podstrom \envname{TEXMFVAR}, zmМnЛnЩ vЩ╧e. + NastavenМ je u╬iteХnИ, pokud plАnujete montovat hlavnМ strom pouze + pro ХtenМ, a proto jinЩ adresАЬ (napЬМklad specifickЩ pro danЩ + stroj) potЬebujete pro dynamicky generovanИ fonty. + +\item [l] Volba vytvАЬenМ symbolickЩch odkazЫ pro binАrky, + manovИ strАnky a\slash nebo + soubory \acro{GNU} Info v~dal╧Мch adresАЬМch. NapЬМklad mЫ╬ete chtМt + mМt manovИ strАnky v~\dirname{/usr/local/man} a + Info soubory v~\dirname{/usr/local/info}. (SamozЬejmЛ musМte mМt + oprАvnЛnМ zАpisu do tЛchto adresАЬЫ.) + +NeradМme pЬepsat vА╧ systИm \TeX\ s~touto volbou. +Je zamЩ╧lena v prvnМ ЬadЛ na vytvoЬenМ odkazЫ v~standardnМch adresАЬМch, +kterИ znajМ u╬ivatelИ, napЬМklad \dirname{/usr/local/bin}, +kterИ ji╬ neobsahujМ ╬АdnИ \TeX ovskИ soubory. + +\item [d] Volba pro vynechАnМ instalace stromu dokumentace + fontЫ a maker. To je u╬iteХnИ, pokud jste dokumentaci ji╬ instalovali + nebo chcete u╧etЬit mМsto. + +\item [s] Volba pro vynechАnМ instalace hlavnМho podstromu s~makry a + fonty. To je u╬iteХnИ, pokud instalujete na rЫznЩch architekturАch se + sdМlenЩm hlavnМm stromem pЬes \acro{NFS}. %B% nebo \cmdname{automount}. + +\end{ttdescription} + +\textbf{i -- VlastnМ instalace.} Pokud jste si ovЛЬili v╧echna nastavenМ +a mo╬nosti konfigurace, zvolte \Ucom{i}, ХМm╬ se spustМ instalace do +vybranЩch adresАЬЫ. + +Po ukonХenМ instalace je dal╧Мm +krokem umМstЛnМ (na architektuЬe zАvislИho) podadresАЬe +adresАЬe \dirname{TEXDIR/bin} do promЛnnИ prostЬedМ +\envname{PATH}, aby se novЛ instalovanИ programy na╧ly. +%% veta pridana PS +To nemusМ bЩt nezbytnИ v~pЬМpadЛ vytvoЬenМ symbolickЩch odkazЫ. +Seznam nАzvЫ architektur najdete v~tabulce~\ref{tab:archlist} na +stranЛ~\pageref{tab:archlist} nebo si vypi╧te obsah adresАЬe +\dirname{TEXDIR/bin}. + +PЬesnА syntax pro provedenМ vЩ╧e popsanИ zmЛny a pou╬itА +startovacМ dАvka u╬ivatele zАle╬М na shellu, kterЩ pou╬МvАte. +Pokud je to Bourne-kompatibilnМ shell (\cmdname{sh}, +\cmdname{bash}, \cmdname{ksh}, apod.), pЬidejte si do svИho +souboru \filename{$HOME/.profile} toto: + +\begin{alltt} +PATH=/usr/local/texlive/2005/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent Pro C shell-kompatibilnМ shelly (\cmdname{csh}, +\cmdname{tcsh}) si dejte do svИho \filename{$HOME/.cshrc} tohle: +\begin{alltt} +setenv PATH /usr/local/texlive/2005/bin/\var{archname}:$PATH +\end{alltt} + +%B% \runtexconfig +\textruntexconfig + +NМ╬e uvАdМme minimАlnМ okomentovanЩ pЬМklad, kterЩ pЬijМmА implicitnМ adresАЬe a instaluje binАrky +pouze pro aktuАlnМ OS. TudМ╬ pro instalaci je potЬebnЩ jedinЩ pЬМkaz \Ucom{i}. Znak \texttt{>} je +pobМdka operaХnМho systИmu jako obvykle. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # proveО instalaci +> \Ucom{texconfig} ... # viz oddМl \ref{sec:texconfig} +# nastavenМ promЛnnИ PATH, napЬМklad pro Linux: +> \Ucom{PATH=/usr/local/texlive/2005/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +%B% \ifindoubt +\textifindoubt + + +% +\subsection{Instalace jednotlivЩch balМkЫ na disk} + +%B% Pokud chcete +MЫ╬ete pЬidat jednotlivИ balМky Хi kolekce z~novИ distribuce +do existujМcМ pЬedchozМ instalace \TL{} nebo i jinИ +instalace \TeX{}u, majМcМ jinou adresАЬovou strukturu. +%B% , mЫ╬ete tak uХinit z~\pkgname{demo} \CD{} +%B% nebo z~\pkgname{live} \DVD{}, ale \emph{ne} z~\pkgname{inst} +%B% \CD. (Viz oddМl~\ref{sec:multiple-dist} na +%B% stranЛ~\pageref{sec:multiple-dist}.) + +\startinst + +Spus╩te instalaХnМ dАvku \filename{install-pkg.sh} (ne +\filename{install-tl.sh}, kterА je urХena pouze pro Зplnou instalaci): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +PrvnМ sada voleb urХuje, co se naХte: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] JednotlivЩ balМk k~instalaci. + +\item [-{}-collection=\var{colname}] Kolekce k~instalaci. + +\item [-{}-nodoc] Neinstalovat dokumentaci. + +\item [-{}-nosrc] Neinstalovat zdrojovИ soubory. + +\item [-{}-cddir=\var{dir}] ZdrojovЩ adresАЬ pro ХtenМ; implicitnЛ je + to aktuАlnМ adresАЬ. Pokud jste postupovali podle vЩ╧e uvedenЩch + instrukcМ, bude to distribuХnМ adresАЬ a nenМ potЬeba ho mЛnit. + +\item [-{}-listdir=\var{dir}] TakzvanЩ \singleuv{lists} adresАЬ pod +\var{cddir}, odkud se Хtou informace o~balМcМch. +%B% ImplicitnМ hodnota je +%B% \texttt{\emph{cddir}/texmf/tpm/lists}. +JedinЩ dЫvod mЛnit implicitnМ hodnotu je +v~pЬМpadЛ provАdЛnМ zmЛn pЬМmo do \TL{}. +\end{ttdescription} + +Co se provede, je urХeno nАsledujМcМmi pЬepМnaХi. +Pokud nenМ ╬АdnЩ specifikovАn, implicitnМ akcМ je instalace vybranЩch +souborЫ. HlavnМ vЩstupnМ adresАЬ je urХen expanzМ promЛnnИ +\envname{\$TEXMFMAIN} pomocМ programu \cmdname{kpsewhich}. MЫ╬ete to +zmЛnit nastavenМm promЛnnЩch prostЬedМ \envname{TEXMFMAIN} nebo +\envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] Pouze vypМ╧e soubory, kterИ by se instalovaly, +ale nic neinstaluje. + +\item [-{}-archive=\var{tarfile}] MМsto instalace souborЫ do +\TeX{}ovИho systИmu vytvАЬМ \cmdname{tar} archМv. + +\end{ttdescription} + +Dal╧М volby: + +\begin{ttdescription} + +\item [-{}-config] Po instalaci spus╩ \code{texconfig init}. + +\item [-{}-nohash] Po instalaci nespou╧tЛj \cmdname{mktexlsr} pro + aktualizaci databАze souborЫ. + +\item [-{}-verbose] DetailnМ vЩpisy pЬi bЛhu dАvek. + +\end{ttdescription} + +Zde je pАr pЬМkladЫ: + +\begin{enumerate} + +\item ProhlИdnutМ souborЫ v~balМku \pkgname{fancyhdr} bez jeho instalace: + +\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 Instalace \LaTeX{}ovskИho balМku \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Instalace \LaTeX{}ovskИho balМku \pkgname{alg} bez zdrojovЩch souborЫ + a dokumentace: +\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 Instalace v╧ech balМkЫ z~kolekce dodateХnЩch maker pro +plain \TeX{}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item ZapsАnМ v╧ech souborЫ balМku \pkgname{pstricks} do souboru +\cmdname{tar} v~\path|/tmp|: +\ifnum\Status=3 \begingroup\small \fi +\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} +\ifnum\Status=3 \endgroup \fi + +\end{enumerate} + +%B% \ifindoubt +\textifindoubt + + +% +\section{Po instalaci} +\label{sec:postinstall} + +Jakmile je hlavnМ instalace hotova, pro ka╬dЩ OS je tЬeba dokonfigurovat +systИm pro svИ potЬeby a provИst zАkladnМ testy a ovЛЬenМ funkХnosti. + +Dal╧Мm druhem nАslednИ Хinnosti je instalace balМkЫ, fontЫ a programЫ, +kterИ nebyly obsa╬eny na \TL{}. ZАkladnМ my╧lenkou je tato +roz╧МЬenМ instalovat do podstromu \envname{TEXMFLOCAL}, pokud jste +instalovali na disk, a \envname{TEXMFSYSVAR}, pokud spou╧tМte systИm z~\CD{} +Хi \DVD{}. VМce viz volbu \uv{InstalaХnМ adresАЬe} na stranЛ~\pageref{text:instdir}. + +Bohu╬el detaily se li╧М balМk od balМku, tak╬e zde instalaХnМ instrukce +neuvАdМme. %B% NahlИdnЛte prosМm do +Zde jsou nЛkterИ externМ odkazy pro dobrЩ popis: +\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} konkrИtnЛ pro instalaХnМ informace pro +fonty. +\end{itemize*} + +\subsection{Program \protect\cmdname{texconfig}} +\label{sec:texconfig} + +Kdykoliv po instalaci lze pou╬Мt program +\cmdname{texconfig} pro konfiguraci systИmu. +Program je instalovАn v~podadresАЬi zАvislИm na architektuЬe, +le╬МcМm v~\texttt{TEXDIR/bin/\var{arch}} spolu se v╧Мm ostatnМm. + +Pokud program spustМte bez argumentЫ, pЬejde do celostrАnkovИho re╬imu a +budete moci mЛnit nastavenМ interaktivnЛ. + +MЫ╬ete ho takИ spustit s Ьadou voleb z~pЬМkazovИ ЬАdky. Zde jsou +nejХastЛji u╬МvanИ~\mbox{volby} (\TL{} je nakonfigurovАn +implicitnЛ na papМr velikosti A4): + +\begin{ttdescription} +\item [texconfig paper letter] nastavenМ implicitnМ velikosti + papМru \acro{US} letter pro rЫznИ programy a ovladaХe + (\cmdname{pdftex}, \cmdname{dvips}, \cmdname{dvipdfm}, + \cmdname{xdvi}). JinА povolenА velikost je \optname{a4}, + kterА je implicitnМ. + +%B% \item [texconfig xdvi us] TotИ╬, pro \cmdname{xdvi}. + +%\item [texconfig localsetup] Verifikace sprАvnosti nastavenМ cest. + +\item [texconfig rehash] Po pЬidАnМ nebo odebrАnМ souborЫ aktualizuj v╧echny \TeX{}ovИ +\uv{databАze souborЫ}. + + +\item [texconfig faq] Uka╬ \acro{FAQ} \teTeX{}u. +(Viz takИ hlavnМ \TeX{} \acro{FAQ} +v~podadresАЬi \OnCD{texmf-doc/doc/english/FAQ-en} +na \TeXLive.) + +\item [texconfig help] VЩpis zАkladnМch informacМ pro \cmdname{texconfig}. +\end{ttdescription} + +SamozЬejmЛ \cmdname{texconfig} %B% podporuje +mЫ╬e podpoЬit zmЛnu pouze nЛkterЩch z~mnoha +parametrЫ \TeX{}ovИ instalace. HlavnМ konfiguraХnМ soubor pro programy +\Webc{} se jmenuje \filename{texmf.cnf}. Jeho umМstЛnМ najdete pЬМkazem +\samp{kpsewhich texmf.cnf}. Soubor obsahuje mnohИ poznАmky vysvЛtlujМcМ +zАkladnМ nastavenМ a mo╬nИ alternativy. + +V roku 2005 \cmdname{texconfig} mЛnМ soubory v~adresАЬМch u╬ivatele, +a sice v~\dirname{$HOME/.texlive2005}. Kdy╬ instalujete \TeX\ +jen pro sebe, je nepravdЛpodobnИ, ╬e nastene rozdМl. Av╧ak pЬi instalaci +\TeX u na vМce-u╬ivatelskИm systИmu, budete chtМt pozmЛnit konfiguraci celИho systИmu. +V~tom pЬМpadЛ spus╩te \cmdname{texconfig-sys} namМsto \cmdname{texconfig}. + +PodobnЛ byli zmЛneny skripty \cmdname{updmap} a \cmdname{fmtutil}, na prАci +v~\dirname{$HOME/.texlive2005}. Na zmЛnu systИmovЩch adresАЬЫ pou╬ijte +pЬМkazy \cmdname{updmap-sys} a \cmdname{fmtutil-sys}. + + +PЬedev╧Мm, pЬi vМceu╬ivatelskЩch systИmech, budete pravdЛpodobnЛ chtМt +pЬМkazem \texttt{fmtutil-sys --missing} pЬedgenerovat standartnМ formАty. +Jinak ka╬dЩ u╬ivatel skonХМ pЬi svЩch vlastnМch formАtech. + +RovnЛ╬, kdy╬ mАte vlastnМ pozmЛnЛnou kopii souboru \filename{fmtutil.cnf} +nebo \filename{updmap.cfg}, namМsto pou╬itМ souborЫ vytvoЬenЩch pЬi +instalaci, tyto musМ bЩt nainstalovАny ve stromЛ, na kterЩ odkazuje promЛnnА + \envname{TEXMFSYSCONFIG}. + +Seznam promЛnnЩch urХujМcМch adresАЬe pozmЛnenИ tЛmito pЬМkazy je uveden +v~oddМle section~\ref{sec:texmftrees}, strana~\pageref{sec:texmftrees}. +NynЛj╧М adresАЬe mЫ╬ete vidЛt spu╧tЛnМm povelu \texttt{texconfig conf} +a mЛnit je mЫ╬ete editacМ souboru \filename{texmf.cnf}. + + + +\subsection{TestovАnМ instalace} +\label{sec:test-install} + +Po nainstalovАnМ \TL{} pЬirozenЛ chcete +systИm otestovat a zaХМt vytvАЬet nАdhernИ dokumenty a\slash nebo fonty. + +Tento oddМl popisuje zАkladnМ postupy testovАnМ funkХnosti novИho +systИmu pod Unixem. Pod \MacOSX{} a +Windows budete patrnЛ spou╧tЛt testy pЬes u╬ivatelskИ grafickИ rozhranМ +(\acro{GUI}), ale principy jsou stejnИ. + +\begin{enumerate} +\item Nejprve ovЛЬte, zda se spustМ program \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} +Pokud obdr╬Мte hlА╧ku s~`command not found' mМsto vЩ╧e uvedenИho, patrnЛ +nemАte nastavenЩ sprАvnЩ podadresАЬ +\dirname{bin} v~promЛnnИ prostЬedМ \envname{PATH}. Vra╩te se na +informace o jejich nastavovАnМ na stranЛ~\pageref{text:path}. + +\item PЬelo╬te ukАzkovЩ soubor \LaTeX{}u: +\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} +Pokud sel╬e nalezenМ souboru \filename{sample2e.tex} nebo jinЩch +souborЫ, patrnЛ mАte aktivnМ starА nastavenМ promЛnnЩch prostЬedМ nebo +konfiguraХnМch souborЫ. +Pro hlub╧М analЩzu a dohledАnМ problИmu mЫ╬ete kdykoliv po╬Аdat +\TeX{} o detaily toho, co a kde hledА: viz \uv{LadicМ mo╬nosti} +na stranЛ~\pageref{Debugging}. + +\item ProhlИdnЛte si vЩsledek na obrazovce: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Pod Windows je analogickЩ pЬМkaz \cmdname{windvi}.) MЛlo by se +otevЬМt novИ okno s~pЛknЩm dokumentem popisujМcМm zАklady +\LaTeX{}u. (Mimochodem, stojМ za pЬeХtenМ, pokud zaХМnАte.) +MusМte mМt spu╧tЛny +X~Window, aby \cmdname{xdvi} pracovalo. Pokud tomu tak nenМ nebo mАte +╧patnЛ nastavenou promЛnnou prostЬedМ +\envname{DISPLAY}, dostanete chybovou hlА╧ku \samp{Can't open display}. + +\item VytvoЬte \PS{}ovЩ soubor pro tisk nebo prohlМ╬enМ: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item VytvoЬte \acro{PDF} soubor mМsto \dvi{}; tento pЬМkaz +ze~souboru \filename{.tex} vytvoЬМ \acro{PDF} pЬМmo: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item ProhlИdnЛte si \acro{PDF} soubor: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{nebo:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Bohu╬el ani \cmdname{gv} ani \cmdname{xpdf} nejsou v~souХasnИ dobЛ na +\TL{} a musМte je instalovat separАtnЛ. Viz +\url{http://www.gnu.org/software/gv} a +\url{http://www.foolabs.com/xpdf}. + +\item Dal╧М standardnМ testovacМ soubory, kterИ mohou bЩt u╬iteХnИ: + +\begin{ttdescription} +%B% \item [docstrip.tex] VytvoЬenМ \TeX{}ovИho zdroje Хi dokumentace ze +%B% souboru~\samp{.dtx}. +\item [small2e.tex] UkАzkovЩ dokument, je╧tЛ krat╧М ne╬ +\filename{sample2e}. +\item [testpage.tex] Test, jestli va╧e tiskАrna 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] ZАkladnМ (plain) \TeX{}ovЩ testovacМ soubor. +MusМte napsat \samp{\bs bye} na vЩzvu \code{*} po \samp{tex +story.tex}. +\end{ttdescription} +MЫ╬ete si vyzkou╧et pЬelo╬it tyto soubory podobnЛ, jak bylo popsАno +testovАnМ s~\filename{sample2e.tex}. + +\end{enumerate} + +Pokud jste \TeX{}ovЩ zaХАteХnМk nebo potЬebujete pomoc s~vytvАЬenМm +\TeX{}ovЩch, respektive \LaTeX{}ovЩch dokumentЫ, nav╧tivte +\url{http://tug.org/begin.html} kvЫli ЗvodnМm informaХnМm pramenЫm. + + +\section{Instalace pod \MacOSX{}} +\label{sec:mac-install} + +DoporuХenЩ zpЫsob instalace \TeX{}u pod \MacOSX\ je pou╬itМ distribuce Mac\TeX\, +novinky roku 2005. Ta je poskytnuta na \pkgname{live} +\DVD{} v~koЬenovИm adresАЬi \dirname{mactex/}. Obsahuje vlastnМ (obvyklЩ) instalАtor +pro plnou \TeX{}ovou distribuci, zalo╬enou na kombinaci te\TeX{}u a \TL{}, spoleХnЛ +s~mnoha doplРkovЩmi aplikacemi a dokumentacМ. DomovskА strАnka projektu je \url{http://tug.org/mactex}. + +Kdy╬ chcete, instalce \TeX{}u pod \MacOSX{} mЫ╬e bЩt provedena pЬМmo z~\TL{} pou╬itМm skriptЫ +\filename{install*} nАsledujМcМm zpusobem. + + +Abyste spustili instalaХnМ dАvky pod \MacOSX, musМte mМt nainstalovanЩ +shell \cmdname{bash}. Pokud mАte \MacOSX~10.2 +a vy╧╧М, \cmdname{bash} ji╬ mАte a mЫ╬ete pokraХovat. Pokud mАte star╧М +verzi, implicitnМ shell je \cmdname{zsh}, a ten nebude fungovat; +budete muset zМskat \cmdname{bash} z~Internetu, anebo +spМ╧ aktualizovat sv\r{u}j systИm. +%B% prosМme nahlИdnЛte do pododdМlu~\ref{sec:mac-bash} na +%B% stranЛ~\pageref{sec:mac-bash} pro instrukce, jak instalovat \cmdname{bash}. + +Jakmile mАte \cmdname{bash}, lze pokraХovat dle dokumentace k~unixovИ +instalaci popsanИ v~pЬedchozМch sekcМch: +viz oddМl~\ref{sec:unix-install} na +stranЛ~\pageref{sec:unix-install}; \MacOSX-specifickИ poznАmky jsou +pЬilo╬eny v~mМstech, kde je to tЬeba. + +\section{Instalace pod Windows} +\label{sec:win-install} + + +V~tomto vydАnМ \TL{}, Bohu dМk, mА distribuce znovu obvyklЩ windowsovЩ +instalАtor, jmenovitЛ \cmdname{tlpmgui.exe}. (Na vysvЛtlenМ jinЩch distribucМ viz +strАnku \pageref{sec:multiple-dist} sekce~\ref{sec:multiple-dist}.) + +\cmdname{tlpmgui} mА v~podstatЛ stejnИ volby jako unixovЩ +instalАtor, jen jsou udЛlАny pomocМ GUI interface: schИmata voleb, +individuАlnМ sbМrky, instalaХnМ adresАЬe, atd. +Sekce~\ref{sec:unix-install-disk} na strАnce~\pageref{sec:unix-install-disk} +popisuje zАkladnМ prvky. +Jsou umo╬nЛny tИ╬ nЛkterИ poinstalaХnМ aktivity, jako +napЬМklad pЬidАnМ/odebrАnМ balМkЫ nebo aktualizace databАzy nАzvЫ souborЫ +a generovАnМ formАtЫ. +NavМc, \cmdname{tlpmgui} mЫ╬e nastavit systИm pro spou╧tЛnМ programЫ pЬМmo z~\DVD. + +Pro ty, kteЬМ se rАdi dМvajМ pod pokliХku, \cmdname{tlpmgui} pou╬МvА +jako svЫj \uv{stroj} +windowsovkЩ interpret pЬМkazovЩch ЬАdkЫ nazvanЩ \cmdname{tlpm}. + +WindowsovskЩ systИm \TeX{} obsa╬enЩ v~\TL{} je zalo╬en na novЩch binАrkАch +vypЫjХenЩch z~projektu \XEmTeX{}, znАmИm dЬМve jako \fpTeX{} (viz +\url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). +Obsahuje takИ nЛkterИ star╧М (ale stАle funkХnМ) nАstroje, pЬedev╧Мm \texttt{dvi} prohlМ╬eХ, +\textsf{Windvi}, kterЩ je pЬi pou╬МvАnМ podobnЩ na zavedenЩ unixovskЩ \textsf{xdvi}. +Dokumentace je k~nalezenМ +na \OnCD{texmf/doc/html/windvi/windvi.html}. + +\TL{} mЫ╬e bЩt instalovАn na systИmech Windows 98, \acro{ME}, +\acro{NT}, \acro{2K} nebo \acro{XP}. Star╧М verze Windows (3.1x) +a \acro{MS-DOS} \emph{nejsou} podporovАny. + + +\textbf{VarovАnМ: u╬ivatelИ Win9x si musМ pЬed instalacМ + ovЛЬit, zda majМ dost mМsta pro ulo╬enМ hodnot promЛnnЩch prostЬedМ. + Program \cmdname{tlpmgui.exe} jim velikost tohoto prostoru nezvЩ╧М. + V~prЫbЛhu instalace bude nastaveno nЛkolik promЛnnЩch prostЬedМ + a je mo╬nИ, ╬e implicitnМ velikost pЬekroХМte. + PЬidejte si ЬАdek \texttt{SHELL=<path>COMMAND.COM /E:4096 /P} + pro zvЩ╧enМ prostoru pro promЛnnИ do svИho souboru + \file{config.sys}.} + + +\subsection{Instalace \protect\TeX\protect\ Live na disk} + +Po vlo╬enМ CD \TL{} do \acro{CD} mechaniky, by mЛl autorun aktivovat program +\cmdname{tlpmgui}. Pokud tomu tak nenМ, kliknЛte na \guiseq{Start\arw Spustit}, +a napi╧te \verb|<drive letter>:\setup-win32\tplmgui.exe|, +(nebo\hfill\\ +\verb|<drive letter>:\texlive\setup-win32\tplmgui.exe| kdy╬ instalujete +z~TeX Collection DVD), kde +\verb|<cdrom drive letter>| je pМsmeno \acro{CD} mechaniky s~CD TeX Live +(nebo TeX Collection DVD), pak kliknЛte na OK. + +OtevЬe se instalaХnМ okno s~nАzvem \guiseq{TeX Live installation and maintenance +utility}. Obsahuje nАsledujМcМ oddМly: \guiseq{Main +customization}, \guiseq{Install}, \guiseq{Select a scheme}, \guiseq{Select +systems}, \guiseq{Directories} a \guiseq{Options}. + +V~oddМle \guiseq{Directories} by mЛla bЩt vyznaХena instalaХnМ +mechanika (adresАЬ) za tlaХМtkem +\guiseq{CD/DVD} (napЬ., \texttt{F:/} nebo \texttt{F:/texlive/} pro DVD), ale pokud +tomu tak nenМ, +tak kliknЛte na tlaХМtko \guiseq{CD/DVD} a zvolte mechaniku \acro{CD/DVD} +s~CD \TL{} (nebo TeX Collection DVD). + +AdresАЬ, do kterИho chcete instalovat softvИr, mЫ╬e bЩt nastaven kliknutМm na tlaХМtko \guiseq{TLroot}. +Tento adresАЬ bude nastaven pro pozdЛj╧М pou╬itМ jako promЛnnА prostЬedМ \path|TLroot|. PromЛnnИ prostЬedМ \path|TEXMFTEMP| a +\path|TEXMFCNF| zobrazenИ za tlaХМtky \guiseq{TEXMFTEMP} a +\guiseq{TEXMFCNF} budou opraveny automaticky a nastaveny po dobu +instalace, av╧ak mohou bЩt nastaveny takИ ruХnЛ kdy╬ je nutnИ pЬizpЫsobit +je zvlА╧tnМm potЬebАm. + +V~oddМle \guiseq{Select a scheme} je potЬebnИ zvolit po╬adovanИ instalaХnМ schИma \TL{} +kliknutМm na vЩbЛrovИ okИnko obsahujМcМ instalaХnМ schИma (napЬ., \guiseq{scheme-gust}). +Ka╬dИ schИma mА pЬipojenИ tlaХМtko \guiseq{Info}, kterИ po kliknutМ zobrazМ struХnЩ popis +odpovМdajМciho schИmatu. + +SchИma je rozsАhlА sada souborЫ odpovМdajМcМ urХitИmu zpЫsobu pou╬itМ. +Jsou tam zАkladnМ (generic) schИmata +pro instalace minimАlnМ, stЬednМ a Ыplnou (basic, medium a full). +Dal╧М jsou urХena typickЩm potЬebАm jednotlivЩch +skupin u╬ivatelЫ (co polskИ sdru╬enМ GUST nebo francouzskЩ +GUTenberg doporuХuje svЩm ХlenЫm) nebo aplikaХnМmu zamЛЬenМ +(XML a \TeX{}). + +PЬeddefinovanИ schИma mЫ╬e bЩt modifikovАno. +To se vykonА v~oddМle \guiseq{Main customization} +volbou doplРkovЩch sbМrek z~kolekcМ \uv{Standard} nebo \uv{Language}. +NapЬМklad kliknutМm na tlaХМtko \guiseq{Select} oznaХenИ +\guiseq{Standard collections}, mЫ╬ou bЩt zvoleny pro instalaci +doplРkovИ sbМrky, jako napЬ. METAPOST, Omega nebo dokumentace v~rЫznЩch jazycМch. + +\textbf{PoznАmka:} Sady \guiseq{Ghostscript}, \guiseq{Perl} a \guiseq{Wintools} +jsou pЬedvoleny a mЛly by bЩt nainstalovАny, leda╬e byste je mЛli +u╬ nainstalovanИ a +opravdu vМte, co dЛlАte. Je to proto, ╬e tyto jsou po╬adovАny +mnoha dЫle╬itЩmi nАstroji. +PromЛnnИ prostЬedМ \verb|PERL5LIB| a \verb|GS_LIB| budou nastaveny takИ. + +DАle, kliknutМm na tlaХМtko \guiseq{Select} oznaХenИ \guiseq{Language +Collections} v~oddМle\guiseq{Main customization} se otevЬe okno +\guiseq{Language collections} v~kterИm mЫ╬e bЩt zvolen instalaХnМ jazyk +za╧krtnutМm polМХka vedle jazyka. + +DАle, pro spu╧tЛnМ odpovМdajМcМho instalaХnМho procesu kliknЛte +na tlaХМtko \guiseq{Install} v~oddМle \guiseq{Install}. + +SystИm \TL{} vy╬aduje nЛkterИ poinstalaХnМ kroky (generovАnМ formАtЫ, +ls-R databАzМ, nastavenМ promЛnnЩch prostЬedМ, atd.). +V╧echny tyto operace se vykonajМ, nЛkterИ mЫ╬ou trvat dИle. +PoХkejte, prosМm, dokud neuvidМte oznАmenМ o ЗspЛ╧nИm ukonХenМ instalace. + +Odkaz na \cmdname{tlpmgui} bude pЬidАn k~menu +\guiseq{Start\arw Programy\arw TeXLive2005}. + +V~pЬМpadЛ potЬeby (Win9x/WinME) budete po╬АdАni restartovat vА╧ poХМtaХ. + + +\subsection{PodpЫrnИ balМky pro Windows} +\label{sec:win-xemtex} + +Pro Зplnost, instalace \TL{} potЬebuje dal╧М balМky a programy, +kterИ na stroji s~Windows obvykle nenajdete. +Mnoho skriptЫ je napsАno v~jazyce Perl. NЛkterИ dЫle╬itИ nАstroje +pou╬МvajМ interpret \PS{}u \GS{} pro rastrovАnМ Хi konverzi souborЫ. +Mnohdy jsou tЬeba programy pro prАci s~grafikou. V~neposlednМ ЬadЛ, +speciАlnМ editor usnadРuje psanМ va╧ich \TeX{}ovЩch souborЫ. + +V╧echny tyto nАstroje se dajМ lehce pro OS Windows najМt, ale abychom +vАm usnadnili ╬ivot, dali jsme sadu tЛchto programЫ pЬМmo na +\TeXLive: +\begin{itemize*} +\item GNU \GS{} 7.07, +\item minimАlnМ verzi \cmdname{Perl}u 5.8, dostateХnou pro spu╧tЛnМ +perlovЩch dАvek na \TL{}, +\item win-tools je sada malЩch programЫ (bzip2, gzip, jpeg2ps + a tiff2png) +%\item podmno╬inu programu \cmdname{ImageMagick} 5.5.6, +%\item korektor pravopisu \cmdname{ISpell} a +%\item editor \cmdname{XEmacs} 21.5.14 s~vЩbЛrem balМkЫ podporujМcМch +% vЩvoj \TeX{}ovЩch dokumentЫ. +\end{itemize*} + +Tyto balМky jsou vypЫjХeny z~distribuce \XEmTeX{} +(nАstupce fp\TeX u). + +\cmdname{Perl} a \GS{} jsou instalovАny implicitnЛ; mЫ╬ete je odznaХit bЛhem +instalace kdy╬ u╬ je mАte nainstalovАny. + +Pokud tuto kolekci instalovat nechcete, +nainstalujte si dodateХnИ nАstroje k~zЗplnЛnМ +systИmu \TL{} sami. Zde je seznam mМst, odkud +si tyto nАstroje mЫ╬ete stАhnout: + +\begin{description} +\item[\GS{}] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (ale je mo╬nИ, ╬e budete potЬebovat + stАhnout pomocnИ balМky z~CPANu: \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com/} +\item[NetPBM] (mМsto Image\-Magicku pro konverzi grafiky). + DomovskА strАnka NetPBM je \url{http://netpbm.sourceforge.net/} +\item[\TeX{}ovИ editory] MАte ╧irokЩ vЩbЛr a je to + individuАlnМ volba. Mo╬nosti jsou napЬМklad tyto: + \begin{itemize*} + \item \cmdname{GNU Emacs} mА pro Windows nativnМ podporu na + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} + \item \cmdname{XEmacs} je takИ pod Windows podporovАn nativnЛ, ke + sta╬enМ z~\url{http://www.xemacs.org/} + \item \cmdname{WinShell} je dostupnЩ na \TeXLive v~adresАЬi + \path|support|, viz \url{http://www.winshell.de/} + \item \cmdname{WinEdt} je shareware dostupnЩ na \url{http://www.winedt.com/} + \item \cmdname{Vim} je do\-stup\-nЩ na \TL{} v~adresАЬi + \path|support\vim| a referenХnМ web je \url{http://www.vim.org/} + \item TeXnicCenter je volnЩ softvИr, kterЩ zМskАte + na\\ \url{http://www.toolscenter.org} a v~distribuci proTeXt. + \item \cmdname{SciTE} je dostupnЩ z~\url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +\noindent MЫ╬ete potЬebovat takИ instalovat dal╧М nАstroje, +kterИ nejsou volnИ\footnote{Ve smyslu +volnosti modifikace a ╧МЬenМ, dle pЬМstupu +%B% Debianu +volnИho softvИru. To v╧ak neztoto╬Рujte s~mo╬nostМ je +zМskat za penМze.}, a tedy nejsou vlo╬eny na \TL{}, jako napЬМklad +\cmdname{GSView}, nadstavba \GS{} pro komfortnМ prohlМ╬enМ +souborЫ v~\PS{} a v~PDF. \cmdname{GSView} je dostupnЩ +z~\url{http://www.cs.wisc.edu/~ghost/gsview/} nebo jakИhokoliv +zrcadla \acro{CTAN}. + + +\section{зdr╬ba instalace vo Windows} + +Kdy╬ mАte TeX Live nainstalovАn, mЫ╬ete pou╬Мt program \cmdname{tlpmgui} znova +na zmЛnu a udr╬ovАnМ va╧М instalace. + +\subsection{PЬidАnМ/odebrАnМ balМkЫ} + +Proto╬e odkaz na \cmdname{tlpmgui} je v~menu \guiseq{Start\arw Programy\arw +TeXLive2005}, spustЛte jej zde. UkА╬e se okno Зdr╬by s~nАzvem +\guiseq{TeX Live installation and maintenance utility}. Obsahuje nЛkolik polo╬ek: +\guiseq{Add Packages}, \guiseq{Remove packages}, +\guiseq{Manage installation}, \guiseq{Remove installation}. + +KliknЛte na tlaХМtko \guiseq{Add packages} nebo \guiseq{Remove packages} +na otevЬenМ odpovМdajМcМ funkce a pak: + +\begin{itemize} +\item V~prvnМ odrА╬ce vyberte pЬМslu╧nou \CD{} mechaniku (nebo \DVD s~adresАЬem + \texttt{texlive}) zmАХknutМm tlaХМtka \guiseq{CD/DVD}. +\item KliknЛte na tlaХМtko \guiseq{Search} v~oddМle \guiseq{Buttons} na zobrazenМ nebo obnovenМ seznamu +balМkЫ v~oddМle \guiseq{Select packages to\dots}, kterИ chcete instalovat nebo odebrat. + +PЬi pЬidАvАnМ balМkЫ, se seznam instalovanЩch balМkЫ porovnА s~balМky poskytovanЩmi va╧Мm \CD/\DVD. +Zobrazeny jsou jenom ty balМky, kterИ je╧tЛ nejsou nainstalovАny. +Je na vАs, abyste si zvolili, kterИ balМky chcete instalovat. + +PЬi odebМrАnМ jednotlivЩch balМkЫ se zobrazМ jen seznam u╬ nainstalovanЩch balМkЫ. + +V╧imnЛte si, prosМm, ╬e pro obЛ mo╬nosti \guiseq{Add packages} +a \guiseq{Remove packages} jsou nejdЬМve zobrazeny seznamy kolekcМ. + +\item Zvolte balМk kliknutМm na jeho nАzev balМku. KlinutМm na tlaХМtko +\guiseq{Info} v~oddМle \guiseq{Buttons} zobrazМte struХnЩ popis zvolenИho balМku v~oknЛ oddМlu + \guiseq{Info about the selected item}. Pro volbu nЛkolika balМkЫ najednou +zmАХknЛte jeden z~klМХЫ +\uv{Ctrl} nebo \uv{Shift} na va╧М klАvesnici souХasnЛ s~podr╬enМm levИho tlaХМtka my╧i nebo pЬesuРte +ukazovАtko my╧i pЬi stlaХenИm levИm tlaХМtku my╧i. + +\item Na vykonАnМ odpovМdajМcМ Хinnosti kliknЛte na tlaХМtko \guiseq{Install} nebo \guiseq{Remove} +v~oddМle \guiseq{Buttons}. +\end{itemize} + +\subsection{Konfigurace a dal╧М sprАvcovskИ Зkoly} + +Funkce dostupnИ v~polo╬ce oznaХenИ \guiseq{Manage the installation} +jsou u╬iteХnИ na vykonАnМ ХinnostМ potЬebnЩch pro pЬidАnМ podpory jazyka, kterЩ nebyl vybranЩ bЛhem instalace +nebo pro pЬidАnМ/znovu vygenerovАnМ formАtu, kterЩ nebyl zvolen bЛhem instalace, nebo byl modifikovАn +po instalaci. + +Je mo╬nИ vykonat nАsledujМcМ kroky: + +\begin{itemize} +\item Obnovit databАzi \filename{ls-R}. +\item VytvoЬit formАty (v╧echny nebo chybЛjМcМ). +\item Editovat soubor \filename{language.dat}. +\item Edittovat soubor \filename{fmtutil.cnf}. +\item Edittovat soubor \filename{updmap.cfg}. +\end{itemize} + +PoznАmka: mЫ╬ete zavЬМt okno Edit\dots{} kliknutМm na tlaХМtko \guiseq{Cancel} nebo +\guiseq{Done}; druhА volba odstartuje obnovu formАtЫ +(nebo souborЫ \uv{fontmap} kdy╬ jste editovali soubor \filename{updmap.cfg}) s~nАslednЩm obnovenМm databАzy souborЫ \filename{ls-R}. + +Pro dal╧М informace o~konfiguraci viz oddМl~\ref{sec:persconf}, strana~\pageref{sec:persconf}. + + +\subsection{OdinstalovАnМ \protect\TL{}} + +Polo╬ka oznaХena \guiseq{Remove the TeX Live installation} otvМrА okno obsahujМcМ +funkci, kterou nemА smysl popisovat a my ani nevМme, kdo by ji mohl potЬebovat a Хemu slou╬М \dots :-) + +V ka╬dИm pЬМpadЛ, jestli╬e pro svИ lokАlnМ dodatky pou╬МvАte adresАЬ \path|texmf-local|, +odstraРovacМ procedura jej neodstranМ ani nesma╬e vЛci uvnitЬ nЛho. AdresАЬ \path|setup-win32| +obsahuje \cmdname{tlpmgui} a odpovМdajМcМ soubory nebudou vymazАny. Na jejich ЗplnИ odstranЛnМ budete muset nЛco vyХistit +ruХnЛ. + +\subsection{PЬidАnМ va╧ich vlastnМch balМkЫ k~instalaci} + +PЬedev╧Мm, nezАvisle na zmЛnАch, kterИ dЛlАte, \textbf{nezapomeРte pЬebudovat databАzovИ soubory ls-R}. +Jinak va╧e novИ soubory nebudou nalezeny. MЫ╬ete to vykonat buО spu╧tЛnМm programu \cmdname{tlpmgui} +a zvolenМm odpovМdajМcМ Хinnosti v~polo╬ce \guiseq{Manage the installation}, nebo ruХnЛ zadАnМm pЬМkazu +\file{mktexlsr}. + +Jestli╬e chcete pЬidat soubory, kterИ nejsou poskytnuty distribucМ \TL{}, +doporuХujeme je umМstit do adresАЬe \path|$TEXMFLOCAL|. Touto cestou se ochrАnМte pЬed +novЩmi verzemi softvИru \TL{}. + +AdresАЬ definovanЩ promЛnnou \path|$TEXMFLOCAL| je na zpoХАtku prАzdnЩ. Jestli╬e, +napЬМklad, chcete pЬidat podpornЩ soubor pro program symbolickЩch vЩpoХtЫ Maple, +mЛli byste stylovЩ soubor umМstit do:\\ +\path|c:\TeXLive2005\texmf-local\tex\latex\maple\|\\ +a soubory s~dokumentacМ do:\\ +\path|c:\TeXLive2005\texmf-local\doc\latex\maple\| + +\subsection{Spu╧tЛnМ programu \texttt{tlmp.exe} z~pЬМkazovИ ЬАdky} +Program \cmdname{tlpm.exe}, kterЩ je pou╬МvАn jako nАstroj programem \cmdname{tlpmgui} +mА mno╬stvМ dal╧Мch u╬iteХnЩch voleb. Jejich seznam dostanete pЬМkazem: +\begin{verbatim} +tlpm --help +\end{verbatim} + +Dal╧М informace a pЬМklady najdete v~\path|tlpm.readme|. + +\subsection{SМ╩ovА instalace} + +\KPS{} vМ o jmИnech UNC, a proto je mЫ╬ete pou╬Мvat na dosa╬enМ va╧eho stromu TEXMF +ze sМtЛ. Ale jsou lep╧М mo╬nosti. +V╧echny podpЫrnИ a konfiguraХnМ soubory, v╧echno kromЛ souborЫ v~adresАЬi +\path|bin/win32| je mo╬nИ sdМlet s~\TL{} instalacemi \teTeX{}u nebo unixovskou. +To znamenА, ╬e mЫ╬ete pou╬Мvat Sambu buО na namontovАnМ (mount) NT serveru k~unixovskИ +pracovnМ stanici, nebo na konverzi. Mo╬nЩch je nЛkolik strategiМ: +\begin{itemize} +\item Dejte v╧echno na server. Jenom pЬidejte ka╬dou sadu souborЫ pro vА╧ OS a +architekturu, kterou hodlАte pou╬Мt do adresАЬe \path|bin|. MyslМme tМm, napЬМklad, +\path|bin/win32| a \path|bin/i386-linux|. DАle nakonfigurujte va╧e hlavnМ promЛnnИ. +MЫ╬ete pou╬Мt jmИna UNC na nasmЛrovАnМ do sprАvnИho adresАЬe pod Win32. +\item Nainstalujte lokАlnМ kopie binАrek a formАtЫ. V~tom pЬМpadЛ oznaХte + \path|$TEXMFMAIN| jako hlavnМ strom \path|texmf|, kterЩ bude vzdАlenЛ dosa╬itelnЩ. + Nastavte \path|$TEXMFVAR| jako lokАlnМ adresАЬ, kterЩ bude obsahovat konfiguraХnМ + soubory a soubory generovanИ na ╬Аdost. +\end{itemize} + +\subsection{Co je pod Windows jinИho?} + +Verze \Webc{} pod Windows mА nЛkterА specifika, kterА stojМ +za zmМnku. + +\begin{description} +\item[\KPS{}] Ha╧ovacМ tabulky, kterИ si \KPS{} vytvАЬМ, jsou + pro \TL{} obrovskИ. Aby se urychlilo spu╧tЛnМ jakИhokoliv + programu pou╬МvajМcМho \KPS{}, tyto tabulky jsou uklАdАny do sdМlenИ + pamЛti. TМmto zpЫsobem, pokud spou╧tМte po sobЛ + nЛkolik programЫ jako napЬМklad + \path|tex| volajМcМ \path|mpost| volajМcМ \path|tex|, + re╬ie pЬi startu dal╧Мho programu je minimalizovАna. + Tato zmЛna je pЬed u╬ivatelem skryta s~vЩjimkou nastavenМ + ladicМho mСdu Kpathsea na hodnotu \path|-1|: pak trasujete + pЬМstup do sdМlenИ pamЛti, co╬ je to, co patrnЛ nechcete + (je tam pЬistupovАno velmi Хasto!). Co je u╬iteХnИ v~logu + pЬМstupЫ do sdМlenИ pamЛti, bude je╧tЛ definovАno, tak╬e situace se + v~budoucnu mЫ╬e zmЛnit. +\item[\cmdname{kpsecheck}] Tento pЬМkaz umo╬Рuje nЛkterИ volby, kterИ + nena╧ly svИ mМsto v~programu \cmdname{kpse\-which}. Umo╬Рuje vypsat + v╧echny soubory, kterИ se vyskytujМ ve va╧ich texmf stromech + vМcekrАt. To mЫ╬e bЩt u╬iteХnИ, ale vЛt╧inou zМskАme ne╬АdanЩ vЩstup + (jako tucty souborЫ \path|README|). Je dobrИ zmМnit, ╬e tyto + v╧echny soubory zpЫsobujМ kolize v~ha╧ovacМm mechanismu + \KPS{}; na╧tЛstМ \KPS{} nikdy tyto soubory nehledА (s~vЩjimkou + ne╧╩astnЩch \file{czech.sty} a \file{slovak.sty}, kde je + to o╧etЬeno jinЩmi vyhledАvacМmi cestami pro \cmdname{cslatex} + a \cmdname{latex}). + Z~tohoto dЫvodu mЫ╬ete kombinovat pЬepМnaХ \path|-multiple-occurences| + se dvЛma dal╧Мmi pЬepМnaХi pro vklАdАnМ Хi vynechАvАnМ souborЫ dle danИho + vzoru (vzorЫ mЫ╬e bЩt nЛkolik). + Program \cmdname{kpsecheck} takИ hlАsМ stav sdМlenИ pamЛti: + zda je, Хi nenМ pou╬МvАna. To je vhodnИ vЛdЛt, proto╬e pokud je stav + \samp{in use}, znamenА to, ╬e jeden Хi nЛkolik procesЫ pracuje a efekt + pЬМkazu \cmdname{mktexlsr} bude pozdr╬en a╬ do chvМle, kdy nebude + bЛ╬et ╬АdnЩ z~programЫ pou╬МvajМcМch \KPS{}. + + TentЩ╬ pЬМkaz vypМ╧e umМstЛnМ programu + \GS{}. Pod Win32 je pro mnoho programЫ snaz╧М pou╬Мt + \GS{} jako dll a nalИzt ho pЬes + klМХ \GS{} v~registrech, ne╬ mЛnit \path|PATH|, kterА mА stejnЛ + limitovanou dИlku. +\item[\Webc{}] Programy majМ o nЛkolik voleb vМce ne╬ v~unixovИm + \Webc{} a jednu volbu s~odli╧nЩm chovАnМm: + \begin{itemize} + \item \path|-halt-on-error| zastavМ kompilaci na prvnМ chybЛ. + \item \path|-job-time| nastavМ Хasovou znАmku Зlohy na Хasovou znАmku + souboru pou╬itИho jako argument. + \item \path|-oem| pou╬МvА \acro{DOS}ovou kСdovou strАnku + pro vЩstup na konzolu. + \item \path|-output-directory| umo╬Рuje psАt v╧echny vЩstupnМ soubory + do specifikovanИho adresАЬe. + \item \path|-time-statistics| vypМ╧e ХasovИ statistiky bЛhu Зlohy. + Je nutno zmМnit, ╬e \acro{Win9x} nenМ opravdovЩ vМceЗlohovЩ operaХnМ + systИm a nemА ╬АdnЩ spolehlivЩ zpЫsob mЛЬenМ krАtkЩch obdobМ, a tak + spoХМtanА hodnota je jen aproximacМ. Pod \acro{NT/2K/XP} je vЩsledek + zcela pЬesnЩ s~rozdЛlenМm na u╬ivatelskЩ a systИmovЩ Хas. Pro + unixovИ u╬ivatele: pЬМkaz \path|time| obvykle nenМ pro u╬ivatele + Windows dostupnЩ. + \end{itemize} +\end{description} + + +\subsection{OsobnМ konfigurace} +\label{sec:persconf} + +\subsubsection{Dvips} + +KonfiguraХnМ soubor pro dvips lze najМt v\\ +\verb+C:\TeXLive2005\texmf-var\dvips\config\config.ps+\\ +MЫ╬ete ho otevЬМt jakЩmkoli editorem + %(\cmdname{WinShell} will do fine) + a zmЛnit nЛkterИ parametry. + +\begin{description} +\item [fonts] MЫ╬ete zmЛnit implicitnМ mСd \MF{} pro tiskАrnu a jeho + rozli╧enМ, kterИ je pou╬ito, kdy╬ \cmdname{dvips} potЬebuje generovat + fonty PK. ImplicitnМ konfigurace je pro u╬itМ + Type~1 verzМ CM fontЫ, a dАvka \cmdname{mktexpk} by tedy nemЛla bЩt + volАna pЬМli╧ Хasto. +\item[printer] MЫ╬ete ЬМct dvipsu, kam implicitnЛ tisknout. + Pokud za volbou \optname{o} nenМ nАzev tiskАrny, pak je vЩstupnМ + soubor \file{.ps} zapsАn + do souboru. MЫ╬ete dvipsu a tiskАrnЛ dАt nАzev, napЬМklad: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[paper] DАle mЫ╬ete chtМt zmЛnit velikost papМru + z~evropskИ A4 na `US letter' tМm, ╬e `US letter' bude prvnМ volba v~souboru. + NajdЛte skupinu ЬАdek zaХМnajМcМch zavinАХem~\code{@}. PЬesuРte + odpovМdajМcМ ЬАdky tak, ╬e oddМl zaХМnА ЬАdky:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +\noindent +SouХasnА distribuce \TL{} implementuje proceduru pro generovАnМ +v╬dy aktualizovanЩch mapovacМch souborЫ pro \cmdname{dvips} a \cmdname{pdftex}. To provАdМ +program \cmdname{updmap} bЛhem instalace a takИ po pЬidАnМ jakИhokoliv +balМku s~fonty. Pokud pЬidАte balМky ruХnЛ, editujte soubor +\verb+updmap.cfg+ v~\path|$TEXMFVAR/web2c|. + +\subsubsection{Pdftex} + +Pokud pou╬МvАte program \cmdname{pdf{}latex} pro vytvoЬenМ \acro{PDF} souborЫ +pЬМmo a pou╬МvАte papМr velikosti \acro{US} letter, editujte soubor\hfill\\ +\verb+C:\TeXLive2005\texmf-var\tex\generic\config\pdftexconfig.tex+ a \hfill\\ +zmЛРte \samp{\bs pdfpagewidth} a \samp{\bs pageheight}. Tyto polo╬ky by mЛly +vypadat takto: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Ulo╬te soubor a ukonХete editaci. + +\subsubsection{GSView} +GSView je nynМ distribuovАn pod Aladdin licencМ, a proto ji╬ nenМ +vklАdАn na \TL{}. + +Pokud chcete zmЛnit velikost strАnky na +velikost `US letter', otevЬete GSView z~menu \guiseq{Start} +a vyberte \guiseq{Media\arw Letter}. + +TakИ jsou zde nastavenМ, kterА vАm umo╬nМ mМt co nejХitelnЛj╧М +renderovanИ obrАzky. V~menu \guiseq{Media \arw Display Settings}, +nastavte jak \optname{Text Alpha}, tak \optname{Graphics Alpha} na 4~bity. + +InstalaХnМ proces asociuje jak \code{.ps}, tak +\code{.eps} soubory pro otevМrАnМ pomocМ \cmdname{GSView}. + +Pro nАvod, jak tisknout, pЬejdЛte na oddМl~\ref{printing}. + +\subsubsection{WinDvi} +\label{sub:windvi} + +Program \file{tlpmgui.exe} nastavМ program \file{Windvi} jako program, +kterЩ bude asociovАn s~\file{.dvi} soubory, ale nepЬidА jeho +ikonku na pracovnМ plochu -- to si ji╬ udЛlejte sami, prosМm. + +OtevЬete program \cmdname{windvi} kliknutМm na ikonku nebo z~pЬМkazovИ ЬАdky. + +MЫ╬ete program zkonfigurovat pro velikost papМru `US letter' po\-mo\-cМ +\guiseq{View\arw Options\arw Papertype} a vЩbЛrem +US ($8.5^{\prime\prime} \times 11^{\prime\prime})$ a pak +\optname{OK}. Pak \cmdname{windvi} ukonХete. + +MЫ╬ete zmЛnit dal╧М parametry systИmu, jako napЬМklad schopnost spou╧tЛt +dal╧М programy specifikovanИ v~dokumentu +(standardnЛ z~bezpeХnostnМch dЫvodЫ zakАzАno). +DАle, kdy╬ si poprvИ prohlИdnete .dvi +soubor, mЫ╬e se vАm zdАt zvЛt╧enМ pЬМli╧ velikИ. +Velikost zmen╧ete, dokud nezМskАte vyhovujМcМ. + +V╧echna nastavenМ programu \cmdname{Windvi} jsou ulo╬ena v~souboru +\path|windvi.cnf|. MЫ╬ete ho najМt pokud na pЬМkazovИm ЬАdku zadАte: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Pokud s~\cmdname{Windvi} narazМte na problИmy, sma╬te konfiguraХnМ +soubor a testujte problИm na standardnМ konfiguraci. + + +\subsection{TestovАnМ} + +Pro obecnИ kontroly viz oddМl~\ref{sec:test-install} +na stranЛ~\pageref{sec:test-install}. Tento oddМl popisuje +testy specifickИ pro Windows. + +OtevЬete soubor \verb+sample2e.tex+ ve svИm editoru (Xemacs, WinShell); +najdete ho v~\verb+C:\TeXLive2005\texmf-dist\tex\latex\base+. +Objevit by se mЛl zdrojovЩ soubor \LaTeX{}u. PokraХujte kliknutМm na +menu \guiseq{Command\arw LaTeX} (XEmacs) nebo na ikonu \LaTeX\ +v~li╧tЛ nАstrojЫ (WinShell), a pak si vЩsledek prohlИdnЛte poklepАnМm na menu +\guiseq{Command\arw View DVI} (XEmacs) nebo +Preview (Windvi) ikonu (WinShell). + +Pokud prohlМ╬Мte soubory s~Windvi, budou se nejprve generovat fonty, +nebo╩ obrazovkovИ fonty nebyly instalovАny. Po nЛjakИ dobЛ, kdy jste ji╬ +vytvoЬili vЛt╧inu fontЫ, kterИ pou╬МvАte, ji╬ okno s~generovАnМm fontЫ +budete vidЛt jen zЬМdka. + +\textbf{DoporuХenМ:} Pokud \LaTeX\ zastavМ, proto╬e nemЫ╬e najМt soubor, +mЫ╬ete stisknout Ctrl-z pro ukonХenМ. + +\subsection{Tisk} +\label{printing} + +Tisknout mЫ╬ete pЬМmo z~Windvi. V tom pЬМpadЛ bude tisk proveden pЬes +unifikovanЩ tiskovЩ ovladaХ Windows. Z definice je kompatibilnМ +se v╧emi tiskАrnami. Ale je tu hАХek: mЫ╬e generovat obrovskИ tiskovИ +soubory a v~nЛkterЩch (star╧Мch) verzМch Windows +jsou problИmy. VЩhodou je vyu╬itМ mo╬nostМ jako vklАdАnМ +obrАzkЫ BMP nebo WMF. TakИ se ujistЛte, ╬e parametry tiskАrny jsou dobЬe +nastaveny (oddМl~\ref{sub:windvi}), jinak dostanete jinou velikost tisku +(tisk nastavenЩ na 600\dpi{} poslanЩ na tiskАrnu 300\dpi{} zpЫsobМ, ╬e +dostanete pouze jeden kvadrant strАnky). + + +Tisk je rychlej╧М a spolehlivЛj╧М, pokud pou╬МvАte +\cmdname{dvips} na vytvoЬenМ \filename{.ps} souboru a pak tisknete +z~\cmdname{GSView} volbou \guiseq{File\arw Print\,\ldots} (objevМ se +okno \guiseq{Print}). + +Pokud pou╬МvАte \PS{}ovou tiskАrnu, \textit{ujistЛte se, ╬e jste vybrali +\guiseq{\PS{} Printer}}. To udЛlАte vЩbЛrem tlaХМtka +\guiseq{Print Method} na spodnМm levИm okraji okna +\guiseq{Print}. MЫ╬ete vybrat jakoukoliv tiskАrnu, kterou jste dЬМve +instalovali. Pokud se vАm volbu \optname{\PS{} Printer} nepodaЬМ +za╧krtnout, tisk se nezdaЬМ. + +Pokud pou╬МvАte svou ne-\PS{}ovou tiskАrnu, vyberte +\guiseq{Ghostscript device} v~polo╬ce \guiseq{Print Method} a +kliknЛte na tlaХМtko vpravo oznaХenИ \guiseq{djet500} a vyberte +svou tiskАrnu ze seznamu, kterЩ se objevМ. Ve star╧Мch verzМch +\cmdname{GSView} ovЛЬte, ╬e volba \optname{\PS{} Printer} \emph{nenМ} +vybrАna, a pak vyberte svou tiskАrnu ze seznamu \guiseq{Device}. + + +\subsection{Tipy a triky pro Win32} + +\subsubsection{RЫznИ verze Win32} + +Co nazЩvАme Win32, nenМ operaХnМ systИm sАm o sobЛ. Je to velkА mno╬ina +funkcМ (kolem 12\,000 dle hlaviХkovЩch souborЫ Microsoft +\acro{SDK}), pomocМ kterЩch mЫ╬ete psАt aplikace pro rЫznИ operaХnМ +systИmy rodiny Windows. + +Windows mА tyto verze: +\begin{itemize} +\item Win95, Win98 a Win\acro{ME}, co╬ \emph{nejsou opravdovА + vМceЗlohovА a vМcevlАknovА} prostЬedМ. Jsou pouze poslednМ\Dash + doufejme\Dash promЛnou \acro{DOS}u. To mЫ╬e bЩt vМcemИnЛ + vidЛt pЬi bootovАnМ, kdy PC spustМ interpret \path|command.com|, + a pokud v~tomto mМstЛ bootovАnМ zastavМte, mЫ╬ete se zeptat na + souХasnou verzi (\acro{DOS}u) a odpovЛО bude nЛco ve smyslu + \samp{MS-DOS 7.0} (pro star╧М verze Win9x urХitЛ). +\item Windows \acro{NT}, co╬ je novЩ operaХnМ systИm napsanЩ celЩ znova, + je ji╬ schopen opravdovИho multitaskingu, vХetnЛ pokroХilЩch rysЫ. +\item Windows 2000 je ji╬ zalo╬en na \acro{NT}, se v╧emi udЛlАtky + Win98. +\item Windows \acro{XP}, je╬ mА verze Home a Pro. Je to zatМm poslednМ + krok ve spojovАnМ obou produktovЩch Ьad (zalo╬enЩch na Win9x a + \acro{NT}). \acro{XP} je zalo╬eno na \acro{NT}. +\end{itemize} + +Win9x jsou schopny spou╧tЛt 32-bitovИ programy a 16-bitovИ programy +narАz. Ale operaХnМ systИm jako takovЩ nenМ celЩ napsАn +v~32-bitovИm mСdu a nepodporuje ochranu pamЛti: 16-bitovИ aplikace +mohou pЬepsat ХАst pamЛti operaХnМho systИmu! NЛkterИ ХАsti jako +\acro{GDI} (Graphical Device Interface) spravujМ omezenИ zdroje jako +bitmapy, fonty, pera atd. pro mno╬inu programЫ, je╬ bЛ╬М souХasnЛ. +V╧echny bitmapovИ hlaviХky dostupnИ v~jeden okam╬ik nemohou zabМrat vМce +ne╬ 64\,\kB. To vysvЛtluje vЩkon a skuteХnost, ╬e systИm Хasto zkolabuje, +kdy╬ napЬМklad zaХnete intenzivnЛ pou╬Мvat grafickИ objekty. + +NT, 2K a XP tyto nedostatky nemajМ, stejnЛ tak jako +dal╧М omezenМ Win9x. Jsou to opravdovА multitaskovА prostЬedМ, +s~ochranou pamЛti. Jsou mnohem operativnЛj╧М ne╬ Win9x kvЫli lep╧М +sprАvЛ pamЛti, lep╧Мmu systИmu souborЫ atp. + +\subsubsection{PЬМkazovЩ ЬАdek} + +MЫ╬ete si klАst otАzku \uv{proХ potЬebuji pЬМkazovou ЬАdku, kdy╬ mАm +Windows?} + +DobrА otАzka. ProblИm je velmi obecnЩ. Ne v╧echny operace se dajМ lehce +udЛlat v~grafickИm prostЬedМ (\acro{GUI}). PЬМkazovЩ ЬАdek dАvА +mo╬nosti programovАnМ. + +ProblИm je zАsadnМ: \TeX{} je \emph{dАvkovЩ} +nАstroj, nenМ interaktivnМ. \TeX{} potЬebuje spoХМtat nejlep╧М +rozvr╬enМ strАnky, vyЬe╧it kЬМ╬ovИ reference a tak dАle. +To mЫ╬e bЩt provedeno jen globАlnМ optimalizacМ dokumentu. +To (zatМm) nenМ Зloha, kterА by se dala dЛlat interaktivnЛ. + +To znamenА, ╬e \TeX{} by se mЛl pou╬Мvat z~pЬМkazovИ ЬАdky. Situace nenМ +tak ╧patnА -- lze zde s~vЩhodou psАt nАstroje pro slo╬itИ zpracovАnМ: +dajМ se lИpe ladit, proto╬e jsou nezАvislИ na \acro{GUI}, a \acro{GUI} +nАstroje mohou bЩt navr╬eny s~rozhranМmi pro dАvkovИ neinteraktivnМ +programy. To je pЬМpad \TeX{}u, se kterЩm vЛt╧inou pracujete pЬes +grafickЩ textovЩ editor. + +PЬМkazovou ЬАdku budete potЬebovat v~nЛkolika situacМch. +Jednou z~nich je ladЛnМ v~pЬМpadЛ problИmЫ. + +\begin{description} + \item[Win9x] PЬМkazovou ЬАdku zМskАte buО vyhledАnМm ikony + \acro{MS-DOS}u v~menu \guiseq{Start\arw Programs}, + nebo vЩbЛrem menu \guiseq{Start\arw Run} a napsАnМm jmИna programu + \path|command.com|. + \item[NT, 2K, XP] NajdЛte polo╬ku + \guiseq{Command Prompt} v~menu \guiseq{Start\arw Accessories} + nebo vyberte \guiseq{Start\arw Run} a zadejte + \path|cmd.exe|, co╬ je nАzev novИho pЬМkazovИho interpretu pro + \acro{NT} (tedy nenМ sprАvnИ ho nazЩvat \emph{DOS}ovИ okno!). +\end{description} + +\noindent +Tato umМstЛnМ se na rЫznЩch systИmech mohou li╧it. + +\subsubsection{OddЛlovaХe cest} + +Win32 API rozumМ v~cestАch obЛma znakЫm \path|/| i \path|\|, +ale pЬМkazovИ interprety \emph{ne}! Tedy kdykoliv je cesta pou╬itА +programovЛ, mЫ╬ete pou╬Мvat oba oddЛlovaХe, nebo je dokonce mМchat +v~jednИ cestЛ. Na pЬМkazovИ ЬАdce v╧ak musМte pou╬Мvat pouze +\path|\|. DЫvodem je kompatibilita: interpret dЬМve pou╬Мval +lomМtko jako oddЛlovaХ pЬepМnaХЫ programЫ. + +NebuОte pЬekvapeni, kdy╬ uvidМte cesty psanИ unixovЩmi konvencemi: +\fpTeX{} je portace \Webc{} a prioritou je kompatibilita mezi +platformami. Z~tЛchto dЫvodЫ v╧echny konfiguraХnМ soubory pou╬МvajМ +unixovИ konvence. + +\subsubsection{SouborovИ systИmy} +\label{sec:clusters} + +Nejhor╧Мm rysem Win9x vzhledem k~\TeX{}u je pravdЛpodobnЛ takzvanЩ +souborovЩ systИm FAT. \TeX{} pou╬МvА velmi mnoho malЩch souborЫ s~velikostМ +okolo 1--3\,\kB. \acro{FAT} systИm je starЩ, vznikl pЬed desМtkami let +a nepoХМtА s~pevnЩmi disky majМcМmi desМtky gigabajtЫ. +DЫsledkem je, ╬e ulo╬enМ desМtek tisМc +\TeX{}ovЩch souborЫ na \TL{} nenМ efektivnМ. +\acro{FAT} systИm alokuje minimАlnЛ 32\,\kB{} pro +\emph{jakЩkoliv} soubor na velkИm diskovИm oddМle. To znamenА, ╬e \TeX{} +bude potЬebovat mnohem vМce diskovИho prostoru ne╬ ve skuteХnosti +zabМrА. + +Na novЛj╧Мch souborovЩch systИmech \acro{FAT32} a +\acro{NTFS} tento nedostatek ji╬ nenМ. Nejmen╧М adresovatelnИ +ХАsti souborЫ mohou bЩt +velikИ pouze 4\,\kB{} a na \acro{NTFS} mЫ╬ete tuto velikost snМ╬it na +512~bajtЫ. + +\subsubsection{Jak pЬidat nЛkterЩ adresАЬ do PATH} + +Hodnoty promЛnnЩch prostЬedМ se ve va╧ich programech +chovajМ jako globАlnМ promЛnnИ. Mno╬ina tЛchto nastavenМ se nazЩvА +prostЬedМ (environment). Ka╬dЩ program je spu╧tЛn s~kopiМ tohoto +prostЬedМ. MЫ╬e ХМst a mЛnit hodnoty promЛnnЩch prostЬedМ. +ZmЛny se dЛjМ v~kopii prostЬedМ a nejsou rozkopМrovАvАny +do v╧ech souХasnЛ bЛ╬МcМch programЫ. + +PromЛnnА PATH je speciАlnМ promЛnnА prostЬedМ, kterА +se pou╬МvА pro seznam adresАЬЫ, ve kterЩch jsou spustitelnИ programy. +ZpЫsob, jak ji zmЛnit, se li╧М pro Win9x, WinME a NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Editujte svЫj \path|autoexec.bat|. V~tomto souboru + byste mЛli najМt ЬАdek zaХМnajМcМ s~\texttt{PATH=} a nАsledovanЩ + seznamem adresАЬЫ oddЛlenЩch~\path|;|. Sem pЬidejte adresАЬ + s~binАrkami. + Potom by tento ЬАdek mЛl vypadat takto: +\ifnum\Status=3 \begingroup \small \fi +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2005\bin\win32 +\end{verbatim} +\ifnum\Status=3 \endgroup \fi +\item[Windows ME] PotЬebujete speciАlnМ program + \path|c:\windows\system\msconfig.exe| pro zmЛnu promЛnnИ + prostЬedМ. Z~programu vyberte polo╬ku `Environment', a pak zmЛРte a + modifikujte promЛnnИ, kterИ chcete. Po jakИkoliv zmЛnЛ budete + po╬АdАnМ o~restart. +\item[Windows NT/2K/XP] + KliknЛte na \guiseq{Start \arw Settings \arw Control Panel}. OtevЬe se + okno s~ikonami konfiguraХnМch programЫ systИmu. + Po dvojkliku na ikonu `System' se objevМ okno `System Properties'. + KliknЛte na polo╬ku \textsf{Environment} + nebo mezi dialogovЩmi boxy hledejte tlaХМtko s~nАzvem + \guiseq{Environment Variables}. TМm provedete zmЛnu prostЬedМ pro svЫj + ЗХet. PoznАmka: Jsou zde takИ zobrazena prostЬedМ celИho systИmu. + Pokud nejste administrАtor systИmu, tak nemАte oprАvnЛnМ je mЛnit. + Pokud chcete zmЛnit \texttt{PATH} pro v╧echny u╬ivatele, budete muset + zkontaktovat svИho systИmovИho administrАtora nebo se jМm + stАt\Dash v~tom pЬМpadЛ byste ale mЛli vЛdЛt, co dЛlАte. + + Pokud je promЛnnА \texttt{PATH} ji╬ pro vА╧ ЗХet nastavenА, kliknЛte na + ni levЩm tlaХМtkem. V~polМХku \textsf{Variable} se objevМ + \texttt{PATH}, zatМmco pole \textsf{Value} ukazuje souХasnИ nastavenМ + \texttt{PATH} jako seznam adresАЬЫ oddЛlenЩch stЬednМkem. PЬidejte + adresАЬ s~binАrkami (napЬМklad \path|c:\TeXLive2005\bin\win32|). + Pokud zde pro vА╧ ЗХet promЛnnА \texttt{PATH} je╧tЛ nenМ nastavena, + kliknЛte na polМХko `Variable' a napi╧te + \texttt{PATH}, kliknЛte na polМХko \textsf{Value} + a napi╧te adresАЬ s~binАrkami. DЫle╬itИ: kliknЛte na tlaХМtko + \textsf{Apply} pЬed stiskutМm \textsf{Ok}, jinak se zmЛny + \texttt{PATH} neprovedou! PЬi nastavovАnМ promЛnnЩch prostЬedМ buОte + opatrnМ. +\end{description} + +\noindent +Nejlep╧М zpЫsob, jak ovЛЬit nastavenМ promЛnnЩch prostЬedМ, je na +pЬМkazovИ ЬАdce napsat: +\begin{verbatim} +set VARIABLE +\end{verbatim} +co╬ by mЛlo vrАtit odpovМdajМcМ hodnoty. + +\subsubsection{Verze sАzecМch programЫ} + +Pokud se podМvАte na dokumentaci \Webc{}, doХtete se, ╬e rЫznИ +programy odvozenИ od \TeX{}u pou╬МvajМ totИ╬ zАkladnМ jАdro. +NapЬМklad \path|tex.exe| a \path|latex.exe| jsou pЬesnИ kopie tИho╬ +programu, ale ka╬dА z~nich pou╬МvА jinЩ formАtovЩ soubor v~zАvislosti na +jmИnu spu╧tЛnИho programu. + +Pod Unixem je tato vlastnost implementovАna pЬes \emph{symbolickИ +odkazy}. U╧etЬМ to diskovЩ prostor, proto╬e tentЩ╬ program je pou╬it pro +mnoho rЫznЩch formАtovЩch souborЫ. + +Win32 API nemА koncept symbolickЩch odkazЫ, a tak abychom u╧etЬili +mМsto, v╧echny \TeX{}ovИ sАzecМ programy byly zkompilovАny jako +DLLs (\emph{Dynamic Linked Library}). To znamenА, ╬e to dopadne +nАsledovnЛ: +\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} +a soubor \path|latex.exe| nenМ nic jinИho ne╬ pЬesnА kopie +\path|pdfetex.exe| pou╬МvajМcМ tutИ╬ zАkladnМ knihovnu \path|tl90pdfetex.dll|. +StejnЩ trik byl pou╬it pro rodinu programЫ \path|mktex*.exe|, kterИ +spou╧tМ knihovnu \path|mktex.dll|. + +ObecnЩ nАstroj s~nАzvem \path|irun.exe| je k~dispozici jako ekvivalent +unixovЩch pevnЩch odkazЫ pro soubory pod Win32. + +\subsection{V pЬМpadЛ obtМ╬М} +\label{sec:troubleshooting} + +\subsubsection{Co dЛlat kdy╬ \texttt{latex} nenalezne va╧e soubory?} + +\begin{itemize} + +\item \cmdname{kpsewhich} je ten sprАvnЩ nАstroj pro dohledАnМ problИmu. +Bohu╬el program \cmdname{kpsewhich} dАvА vЩstup na +stderr a star╧М konzoly Windows nevМ, jak chybovЩ vЩstup stderr +pЬesmЛrovat do souboru. (Konzoly NT a Windows 2000 vЛdМ, jak to udЛlat. +Ale trik bude fungovat pro v╧echny konzoly.) + Pro diagnostickИ ЗХely nastavte doХasnЛ +promЛnnou prostЬedМ (v~\acro{DOS}ovИm oknЛ): + + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +Nastavte takИ ЗroveР ladЛnМ: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Pokud chcete pЬesmЛrovat stderr na stdout, co╬ pod Windows +nenМ mo╬nИ, pak nastavte: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +TМmto zpЫsobem ulo╬Мte jak chybovЩ, tak standardnМ vЩstup do tИho╬ +souboru. + +\item PЬedpoklАdaje, ╬e instalace byla provАdЛna do +\path|c:/TeX|, zkontrolujte nАsledujМcМ hodnoty: \\ + {\ifnum\Status=3 \footnotesize \tabcolsep.2em \else \small \fi + \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//| +% \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/web2c;| \\ +% & \path|c:/TeX/bin/win32;| \\ +% & \path|c:/TeX/bin;| \\ +% & \path|c:/TeX| \\ +% \path|kpsewhich -expand-var $TEXINPUTS| & \path|.;c:/TeX/texmf/tex//| + \end{tabular} +} +\item Pokud ji╬ nЛkde mАte nastaveny \TeX{} ovlivРujМcМ promЛnnИ + prostЬedМ, odstraРte je prosМm. MajМ prioritu pЬed tЛmi + v~\file{texmf.cnf}. +\item Zkontrolujte: + \texttt{kpsewhich cmr10.tfm} by mЛlo vrАtit\hfill\\ + \path|c:/TeX/texmf/fonts/tfm/public/cm/cmr10.tfm|\hfill\\ + a \texttt{kpsewhich latex.fmt} by mЛlo sdЛlit\hfill\\ + \path|c:/TeX/texmf/web2c/latex.fmt| +\item V~tomto mМstЛ, pokud je v╧e v~poЬАdku, by + \TeX{} a dal╧М programy mЛly fungovat. + Pokud ne, budete si muset pohrАt s~volbou \path|-debug=n| + programu \path|kpsewhich| a znovu zkontrolovat v╧echna + nastavenМ. Zkuste identifikovat problИm a nahlaste ho. +\end{itemize} + +\subsubsection{Co kdy╬ poЬАd v╧e nefunguje, jak si pЬedstavujete?} + +Polo╬te si nАsledujМcМ otАzky: + +\begin{enumerate} +\item Je \file{tex.exe} v~mИ cestЛ (promЛnnИ \path|PATH|)? + +\item Je promЛnnА prostЬedМ \path|TEXMFCNF| korektnЛ nastavenА + na\hfill\\ \path|c:/TeXLive2005/texmf-var/web2c| (implicitnМ + hodnota)? + +\item Jsou k~nalezenМ nЛkterА chybovА hlА╧enМ v~log souboru + generovanИm programem \file{tlmpgui.exe}? +\file{tlmpgui.log} najdete ve va╧em adresАЬi \file{TEMP}. +MЫ╬ete je najМt + hledАnМm ЬetЛzce \samp{Error}. + NАpovЛda: log soubor mЫ╬e ukАzat nЛkterИ chyby po vygenerovАnМ v╧ech formАtЫ. + ProsМm, nepropadejte panice: mo╬nА nЛkterИ formАty je╧tЛ nebyly instalovАny. + +\item Jsou na \url{http://tug.org/texlive/} k~dispozici nЛjakИ zАplaty? + (Je to nepravdЛpodobnИ, ale nic tМm nepokazМte.) +\end{enumerate} + +\TL{} sestАvА ze stovek programЫ a desetitisМcЫ souborЫ +z~rЫznЩch zdrojЫ. Je proto obzvlА╧tЛ obtМ╬nИ predikovat +v╧echny potenciАlnМ zdroje problИmЫ. NicmИnЛ, udЛlАme, co +je v~na╧ich silАch, abychom vАm pomohli (viz oddМl~\ref{sec:help} +na stranЛ~\pageref{sec:help}.) + + +\begin{otherlanguage}{slovak} +\frenchspacing +% don't use \Webc so the \uppercase in the headline works. +\section{Pou╬Мvate╣skА prМruХka ku systИmu Web2C} +\Webc{} obsahuje mno╬inu \TeX-prМbuznЩch programov, t.j.\ samotnЩ \TeX{}, +\MF{}, \MP, \BibTeX{}, atО. OriginАlna implementАcia pochАdza +od Thomasa RokickИho, ktorЩ v~roku 1987 vyvinul prvЩ +\TeX{}-to-C systИm zalo╬enЩ na zmenovЩch sЗboroch systИmu pre Unix, ktorИ +boli v~prvom rade pТvodnou prАcou Howarda Trickeya a Pavla Curtisa. +Tim Morgan +sa stal spravovate╣om systИmu a poХas jeho obdobia sa meno zmenilo +na Web-to-C\@. V roku 1990 Karl Berry prebral tЗto prАcu, +asistoval pri tuctoch dodatoХnЩch prМspevkov a v~roku 1997 podal +taktovku Olafovi Weberovi. + +\Webc{} systИm be╬М pod Unixom, 32-bitovЩmi Windows, +\acro{MacOSX} a inЩmi operaХnЩmi systИmami. Pou╬Мva originАlne +\TeX{} zdrojovИ sЗbory od Knutha a ostatnИ zАkladnИ programy napМsanИ +v~jazyku \web{}, ktorИ sЗ prelo╬enИ do C zdrojovИho kСdu. Navy╧e, systИm +ponЗka ve╣kЗ mno╬inu makier a funkciМ vyvinutЩch na roz╧Мrenie +originАlneho \TeX{} software. ZАkladnИ komponenty rodiny +\TeX u{} sЗ: +\begin{description} +\renewcommand{\makelabel}[1]{\descriptionlabel{\mdseries\cmdname{#1}}} +\item[bibtex] Spravovanie bibliografiМ. +\item[dmp] Konverzia \cmdname{troff} do MPX (\MP{} obrАzky). +\item[dvicopy] VytvАranie modifikovanej kСpie \dvi{} sЗboru. +\item[dvitomp] Konverzia \dvi{} do MPX (\MP{} obrАzky). +\item[dvitype] Konverzia \dvi{} do ╣udsky-Хitate╣nИho textu. +\item[gftodvi] Generovanie fontov pre nАh╣ad. +\item[gftopk] Konverzia gf formАtu fontov do pakovanЩch fontov. +\item[gftype] Konverzia gf formАtu fontov do ╣udsky Хitate╣nИho textu. +\item[makempx] \MP{} znaХkovИ sАdzanie. +\item[mf] \MF{} -- vytvАranie rodМn fontov. +\item[mft] PreddefinovanИ \MF ovИ zdrojovИ sЗbory. +\item[mpost] \MP{} -- tvorba technickЩch diagramov. +\item[mpto] \MP{} -- znaХkovЩ vЩber. +\item[newer] Porovnanie modifikaХnЩch Хasov. +\item[patgen] VytvarАnie vzorov rozde╣ovania slov. +\item[pktogf] Konverzia pakovanЩch formАtov fontov do +gf formАtov. +\item[pktype] Konverzia pakovanЩch pМsiem do ╣udsky-Хitate╣nИho textu. +\item[pltotf] Konverzia `Property list' do TFM. +\item[pooltype] Zobrazovanie \singleuv{\web{} pool} sЗborov. +\item[tangle] Konverzia \web{} sЗborov do Pascalu. +\item[tex] \TeX{} -- sadzba. +\item[tftopl] Konverzia TFM do `property list'. +\item[vftovp] Konverzia virtuАlneho fontu do virtuАlneho \singleuv{property list}. +\item[vptovf] Konverzia virtuАlneho `property list' do virtuАlneho fontu. +\item[weave] Konverzia \web{} sЗborov do \TeX u. +\end{description} +\noindent PresnИ funkcie a syntax tЩchto programov sЗ popМsanИ +v~dokumentАciАch jednotlivЩch balМkov alebo v~dokumentАcii +\Webc{}. Napriek tomu, poznanie nieko╣kЩch princМpov, ktorИ +platia pre celЩ balМk programov, vАm pomТ╬e vy╩a╬i╩ Хo najviac +z~va╧ej \Webc{} in╧talАcie. + +V╧etky programy dodr╬iavajЗ ╧tandardnИ \acro{GNU} vo╣by: + +\begin{description} +\item[\texttt{--help}] Vypisuje preh╣ad zАkladnИho pou╬Мvania. +\item[\texttt{--verbose}] Vypisuje detailnЗ sprАvu spracovania. +\item[\texttt{--version}] Vypisuje informАciu o~verzii, potom skonХМ. +\end{description} + +Na vyh╣adАvanie sЗborov pou╬МvajЗ \Webc{} programy preh╣adАvaciu +kni╬nicu \KPS{}. +TАto kni╬nica pou╬Мva kombinАciu premennЩch +prostredia a nieko╣kЩch konfiguraХnЩch sЗborov na optimalizАciu +preh╣adАvania adresАrovИho stromu \TeX u{}. \Webc{} zvlАdne +prАcu s~viacerЩmi adresАrovЩmi stromami sЗХasne, Хo je +u╬itoХnИ, ak niekto chce udr╬iava╩ ╧tandardnЗ distribЗciu \TeX u a jeho +lokАlne roz╧Мrenia v~dvoch rozliХnЩch stromoch. Na urЩchlenie +vyh╣adАvania sЗborov, koreР ka╬dИho stromu obsahuje sЗbor +\file{ls-R} so zАznamom obsahujЗcim meno a relatМvnu cestu ku +v╧etkЩm sЗborom umiestnenЩm pod tЩmto koreРom. + +\subsection{Vyh╣adАvanie ciest kni╬nicou Kpathsea} + +Najprv popМ╧eme v╧eobecnЩ mechanizmus vyh╣adАvania ciest +kni╬nicou \KPS{}. + +\emph{Vyh╣adАvacou cestou} nazveme zoznam \emph{elementov cesty}, +ktorЩmi sЗ v~prvom rade menА adresАrov +oddelenИ dvojbodkou alebo bodkoХiarkou. +Vyh╣adАvacia cesta mТ╬e pochАdza╩ z~viacerЩch zdrojov. +Pri vyh╣adАvanМ sЗboru \samp{my-file} pod╣a cesty \samp{.:/dir}, +\KPS{} skontroluje ka╬dЩ element cesty: najprv \file{./my-file}, +potom \file{/dir/my-file}, vracajЗc prvЩ zodpovedajЗci nАjdenЩ +prvok (alebo prМpadne v╧etky zodpovedajЗce prvky). + +Aby bolo dosiahnutИ prispТsobenie sa konvenciАm Хo mo╬no najviac +operaХnЩch systИmov, na neunixovЩch systИmoch \KPS{} mТ╬e pou╬Мva╩ +odde╣ovaХe nАzvov sЗborov rТzne od dvojbodky (\samp{:}) a +lomМtka (\samp{/}). + +Pri kontrolovanМ urХitИho elementu cesty \var{p} \KPS{} najprv +overМ, Хi sa na naР nevz╩ahuje vopred vybudovanА databАza (pozri +\singleuv{Data\-bАza nАzvov sЗborov} na +strane~\pageref{Filename-database}), t.\,j., Хi sa databАza nachАdza +v~adresАri, ktorЩ je prefixom \var{p}. Ak to tak je, ╧pecifikАcia +cesty sa porovnАva s obsahom databАzy. + +Ak databАza neexistuje, alebo sa nevz╩ahuje na tento element cesty, alebo +sa v~nej h╣adanЩ sЗbor nevyskytuje, celЩ systИm sЗborov je preh╣adanЩ +(pokia╣ to nebolo zakАzanИ ╧pecifikАciou zaХМnajЗcou \samp{!!} a +h╣adanЩ sЗbor musМ existova╩). \KPS{} zostrojМ zoznam adresАrov +zodpovedajЗcich tomuto elementu cesty a potom skontroluje ka╬dЩ +z~nich, Хi sa v~Рom nenachАdza h╣adanЩ sЗbor. + +Podmienka \singleuv{sЗbor musМ existova╩\kern1pt} sa tЩka napr.\ sЗborov typu +\samp{.vf} a vstupnЩch sЗborov ХМtanЩch prМkazom \TeX u \cs{openin}. +TakИto sЗbory nemusia existova╩ (napr.\ \file{cmr10.vf}) a nebolo +by dobrИ preh╣adАva╩ kvТli nim celЩ disk. Preto, ak zabudnete +aktualizova╩ \file{ls-R} pri in╧talАcii novИho \samp{.vf} sЗboru, +sЗbor nebude nikdy nАjdenЩ. Ka╬dЩ element cesty sa prekontroluje: najprv +databАza, potom disk. KeО je sЗbor nАjdenЩ, vyh╣adАvanie sa zastavМ +a vЩsledok je vrАtenЩ. + +Hoci najjednoduch╧М a najbe╬nej╧М element cesty je meno adresАru, +\KPS{} podporuje aj inИ zdroje vo vyh╣adАvacМch cestАch: dediХnИ +(layered) ╧tandardnИ hodnoty, menА premennЩch prostredia, hodnoty +sЗboru \file{config}, domАce adresАre pou╬Мvate╣ov a rekurzМvne +preh╣adАvanie podadresАrov. Preto, ak hovorМme, ╬e \KPS{} +\emph{rozbalМ} element cesty, znamenА to, ╬e pretransformuje v╧etky +╧pecifikАcie do zАkladnИho mena alebo mien adresАrov. Toto je +popМsanИ v~nasledujЗcich odsekoch. + +V╧imnite si, ╬e keО je meno h╣adanИho sЗboru vyjadrenИ absolЗtne +alebo explicitne relatМvne, t.\,j.\ zaХМna \samp{/} alebo \samp{./} +alebo \samp{../}, \KPS{} jednoducho skontroluje, Хi takЩ sЗbor +existuje. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{IlustraХnЩ prМklad konfiguraХnИho sЗboru} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{Zdroje cesty} +\label{Path-sources} + +Vyh╣adАvacia cesta mТ╬e by╩ vytvorenА z~rТznych zdrojov. +\KPS{} ich pou╬Мva v~tomto poradМ: +\begin{enumerate} +\item + Pou╬Мvate╣om nastavenА premennА prostredia, naprМklad \envname{TEXINPUTS}\@. + PremennИ prostredia s~pridanou bodkou a menom programu majЗ prednos╩ pred + premennЩmi rovnakИho mena, ale bez prМpony. + NaprМklad, keО \samp{latex} je meno prАve be╬iaceho programu, potom + premennА \envname{TEXINPUTS.latex} prepМ╧e \envname{TEXINPUTS}. +\item + Programovo-╧pecifickЩ konfiguraХnЩ sЗbor, naprМklad riadok + \singleuv{\texttt{S /a:/b}} v~sЗbore \file{config.ps} \cmdname{dvips}. +\item KonfiguraХnЩ sЗbor \KPS{} \Dash{} \file{texmf.cnf}, obsahujЗci riadok + ako \samp{TEXINPUTS=/c:/d} (pozri Оalej). +\item PredvolenИ hodnoty poХas kompilАcie. +\end{enumerate} +\noindent V╧etky tieto hodnoty vyh╣adАvacej cesty mТ╬ete prezera╩ +pou╬itМm ladiacМch mo╬nostМ (pozri \singleuv{Ladenie} na +strane~\pageref{Debugging}). + +\subsubsection{KonfiguraХnИ sЗbory} +\tolerance=3500 +\KPS{} ХМta poХas behu z~\emph {konfiguraХnЩch sЗborov} +s~menom \file{texmf.cnf} vyh╣adАvaciu cestu a Оal╧ie definМcie. +Vyh╣adАvacia cesta pou╬МvanА na h╣adanie tЩchto sЗborov sa +volА \envname{TEXMFCNF} (v~predvolenom nastavenМ sa tento sЗbor +nachАdza v~podadresАri \file{texmf/web2c}). \emph{V╧etky} sЗbory +\file{texmf.cnf} vo vyh╣adАvacej ceste budЗ preХМtanИ a definМcie +v~poslednЩch naХМtanЩch sЗborov majЗ prednos╩ pred definМciami +ХМtanЩmi predtЩm. Preto pri vyh╣adАvacej ceste \verb|.:$TEXMF|, hodnoty +z~\file{./texmf.cnf} prepМ╧u hodnoty z~\verb|$TEXMF/texmf.cnf|. +\tolerance=1500 + +\begin{itemize} +\item + KomentАre zaХМnajЗ znakom \singleuv{\texttt{\%}} a pokraХujЗ do konca + riadku. +\item + PrАzdne riadky sЗ ignorovanИ. +\item + Znak \bs{} na konci riadku slЗ╬i ako pokraХovacМ znak, t.j.\ + nasledujЗci riadok je k~nemu pripojenЩ. PrАzdne znaky na zaХiatku + pripАjanЩch riadkov nie sЗ ignorovanИ. +\item + V╧etky ostatnИ riadky majЗ tvar: +\begin{alltt} + \var{variable}[.\var{progname}] [=] \var{value} +\end{alltt}% + kde \samp{=} a prАzdne znaky naokolo sЗ nepovinnИ. +\item + Meno premennej \singleuv{\texttt{\var{variable}}} mТ╬e obsahova╩ + akИko╣vek znaky okrem prАzdnych znakov, \samp{=}, alebo \samp{.}, + ale obmedzi╩ sa na znaky \samp{A-Za-z\_} je najbezpeХnej╧ie. +\item + Ak je \singleuv{\texttt{.\var{progname}}} neprАzdne, definМcia sa + pou╬ije iba vtedy, keО prАve be╬iaci program mА meno + \texttt{\var{progname}} alebo \texttt{\var{progname}.exe}. + Toto umo╬Рuje naprМklad ma╩ pre rТzne nadstavby \TeX u rТzne + vyh╣adАvacie cesty. +\item Hodnota \singleuv{\texttt{\var{value}}} mТ╬e obsahova╩ akИko╣vek + znaky okrem \singleuv{\texttt{\%}} a \samp{@}. Na pravej strane nie je + mo╬nИ pou╬i╩ \singleuv{\texttt{\$\var{var}.\var{prog}}}; namiesto toho + musМte pou╬i╩ Оal╧iu premennЗ. Znak \samp{;} vo + \singleuv{\texttt{\var{value}}} je prelo╬enЩ do \samp{:} ak sme pod + operaХnЩm systИmom Unix. Toto je u╬itoХnИ, keО chceme ma╩ jedinЩ + \file{texmf.cnf} sЗbor pre systИmy Unix, MSDOS a Windows. +\item + V╧etky definМcie sЗ preХМtanИ skТr, ako sa expandujЗ. Preto mТ╬u + existova╩ referencie na premennИ skТr, ako sЗ tieto definovanИ. +\end{itemize} +UkА╬kovЩ Зsek konfiguraХnИho sЗboru, ilustrujЗci vДХ╧inu +tЩchto bodov\ifSingleColumn +\ignorespaces: +\verbatiminput{examples/ex5.tex} +\else +\space je na obrАzku~\ref{fig:config-sample}. +\fi + +\subsubsection{Expanzia cesty} +\label{Path-expansion} + +\KPS{} rozpoznАva urХitИ zvlА╧tne znaky a kon╧trukcie vo +vyh╣adАvacМch cestАch podobnИ tЩm, Хo existujЗ v~prostrediach +unixovskЩch interprИtov prМkazovИho riadku (shells). Ako v╧eobecnЩ prМklad uvedieme +komplexnЗ cestu \verb+~$USER/{foo,bar}//baz+, ktorА sa expanduje do +v╧etkЩch podadresАrov pod adresАrmi \file{foo} a \file{bar} +v~domovskom adresАri pou╬Мvate╣a \texttt{\$USER}, ktorЩ obsahuje +adresАr alebo sЗbor \file{baz}. Tieto kon╧trukcie sЗ popМsanИ +v~Оal╧Мch odsekoch. + +\subsubsection{PredvolenА expanzia} +\label{Default-expansion} +\tolerance=2500 +Ak vyh╣adАvacia cesta s najvДХ╧ou prioritou (pozri \singleuv{Zdroje cesty} +na strane~\pageref{Path-sources}) obsahuje \emph{dvojbodku +navy╧e} (t.j.\ zaХiatoХnЗ, koncovЗ, alebo zdvojenЗ), \KPS{} vlo╬М na +toto miesto vyh╣adАvaciu cestu s~druhou najvy╧╧ou prioritou, ktorА +je definovanА. Ak tАto vlo╬enА cesta obsahuje dvojbodku navy╧e, to +istИ sa stane s~Оal╧ou najvЩznamnej╧ou cestou. Keby sme mali +naprМklad danИ takИto nastavenie premennej prostredia +\tolerance=1500 +\begin{alltt} +>> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +a hodnotu \code{TEXINPUTS} v~sЗbore \file{texmf.cnf} +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +potom koneХnА hodnota pou╬itА na vyh╣adАvanie by bola: +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} +KeО╬e by bolo zbytoХnИ vklada╩ predvolenЗ hodnotu na viac ako jedno +miesto, \KPS{} menМ iba nadbytoХnЗ \samp{:}\ a v╧etko ostatnИ +ponechАva na mieste. Najprv kontroluje zaХiatoХnЗ \samp{:}, potom +koncovЗ \samp{:} a potom zdvojenЗ \samp{:}. + +\subsubsection{Expanzia zАtvoriek} +U╬itoХnА Хrta je expanzia zАtvoriek, ktorА funguje tak, ╬e +naprМklad \verb+v{a,b}w+ sa expanduje na \verb+vaw:vbw+. VnАranie je +povolenИ. Toto sa pou╬Мva na implementАciu viacnАsobnЩch +\TeX{}ovskЩch hierarchiМ, priradenМm hodnoty \code{\$TEXMF} s +pou╬itМm zАtvoriek. NaprМklad v~sЗbore \file{texmf.cnf} nАjdete +nasledujЗcu definМciu (pribli╬ne, +v~skutoХnosti je tam e╧te viac stromov): +\begin{verbatim} + TEXMF = {$HOMETEXMF,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +KeО potom napМ╧ete nieХo podobnИ ako +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +%$ +bude to znamena╩, ╬e po h╣adanМ v~aktuАlnom adresАri sa najprv +preh╣adА celЩ +strom \code{\$HOMETEXMF/tex}, \code{\$TEXMFLOCAL/tex}, +\code{\$TEXMFVAR/tex} a \code{\$TEXMFMAIN/tex} (poslednИ dva +s~pou╬itМm databАzovЩch sЗborov \file{ls-R}). Je to vhodnЩ spТsob ako +spЗ╧╩a╩ dve paralelnИ \TeX{} ╧truktЗry, jednu nemennЗ +(naprМklad na \CD) a druhЗ neustАle aktualizovanЗ novЩmi +verziami, akonАhle sЗ dostupnИ. Pou╬itМm premennej +\code{\$TEXMF} vo v╧etkЩch definМciАch mАme istotu, ╬e sa v╬dy ako +prvЩ preh╣adА aktuАlny strom. + +\subsubsection{Expanzia podadresАrov} +\label{Subdirectory-expansion} +Dva alebo viac za sebou nasledujЗcich znakov \singleuv{/} v~elemente cesty +nasledujЗcom za adresАrom \var{d} je nahradenЩch v╧etkЩmi +podadresАrmi \var{d}: najprv podadresАrmi priamo pod \var{d}, potom +podadresАrmi pod nimi, atО. Poradie, v~akom sЗ preh╣adАvanИ +podadresАre na ka╬dej Зrovni, \emph{nie je ╧pecifikovanИ}. + +Ak po \samp{//} ╧pecifikujete akИko╣vek komponenty mena sЗboru, +pridajЗ sa iba pod\-adre\-sАre so zodpovedajЗcimi komponentami. +NaprМklad, \samp{/a//b} sa expanduje do +adresАrov \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}. + +ViacnАsobnИ kon╧trukcie \samp{//} v~ceste sЗ mo╬nИ, ale +pou╬itie \samp{//} na zaХiatku cesty je ignorovanИ. + +\subsubsection{Typy ╧peciАlnych znakov a ich vЩznam: zhrnutie} +NasledujЗci zoznam zahЮРa %B% vЩznam +zvlА╧tne znaky v~konfiguraХnЩch +sЗboroch \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{:}]Odde╣ovaХ v~╧pecifikАcii cesty; na zaХiatku alebo + na konci cesty nahrАdza predvolenЗ expanziu cesty.\par +\item[\CODE{;}]Odde╣ovaХ v~neunixovЩch systИmoch (sprАva sa ako + \samp{:}). +\item[\CODE{\$}]Expanzia premennej. +\item[\CODE{\string~}] Reprezentuje domovskЩ adresАr pou╬Мvate╣a. +\item[\CODE{\char`\{...\char`\}}] Expanzia zАtvoriek, napr.\ + z~\verb+a{1,2}b+ sa stane \verb+a1b:a2b+. +\item[\CODE{//}] Expanzia podadresАrov. (MТ╬e sa + vyskytnЗ╩ kdeko╣vek v~ceste, okrem jej zaХiatku). +\item[\CODE{\%}] ZaХiatok komentАru. +\item[\CODE{\bs}] Znak pokraХovania riadku (umo╬Рuje viacriadkovИ vstupy). +\item[\CODE{!!}] Povel na h╣adanie sЗboru \emph{iba} v~databАze, + nepreh╣adАva disk. +\end{description} + +\subsection{SЗborovИ databАzy} +\label{Filename-database} + +\KPS{} minimalizuje prМstupy na disk pri vyh╣adАvanМ. Predsa v╧ak +pri in╧talАciАch s~dostatoХnЩm mno╬stvom adresАrov h╣adanie sЗboru +v~ka╬dom mo╬nom adresАri mТ╬e zabra╩ prehnane ve╣a Хasu (toto platМ +zvlА╧╩ vtedy, keО musia by╩ prejdenИ stovky adresАrov s~fontami). +\KPS{} preto pou╬Мva externe vytvorenЩ \singleuv{databАzovЩ} sЗbor +nazЩvanЩ \file{ls-R}, ktorЩ mapuje sЗbory v~adresАroch a pomАha tak +vyhnЗ╩ sa vyХerpАvajЗcemu preh╣adАvaniu disku. + +Skratky mien (\file{aliases}) v~druhom databАzovom sЗbore vАm +umo╬РujЗ da╩ dodatoХnИ menА sЗborom nachАdzajЗcim sa +v~zozname \file{ls-R}. Toto mТ╬e by╩ u╬itoХnИ pri prispТsobovanМ sa +8.3-\nobreak sЗborovЩm konvenciАm DOSu v~zdrojovЩch sЗboroch. + +\subsubsection{SЗborovА databАza} +\label{ls-R} +Ako bolo vysvetlenИ hore, meno hlavnej databАzy sЗborov musМ +by╩ \file{ls-R}. MТ╬ete umiestni╩ jednu do koreРa ka╬dej hierarchie +\TeX u{} vo svojej in╧talАcii, ktorЗ chcete, aby bola preh╣adАvanА +(predvolenА je \code{\$TEXMF}); vДХ╧inou sa jednА iba o~jednu +hierarchiu. \KPS{} h╣adА \file{ls-R} sЗbory pod╣a cesty +v~\code{TEXMFDBS}. + +OdporЗХanЩ spТsob ako vytvori╩ a udr╬iava╩ \samp{ls-R} je spusti╩ +skript \code{mktexlsr} zahrnutЩ v~distribЗcii. Je vyvolАvanЩ +rТznymi \samp{mktex}\dots\ skriptami. Tento skript v~princМpe iba +spЗ╧╩a prМkaz +\begin{alltt} +cd \var{/your/texmf/root} && \path|\|ls -1LAR ./ >ls-R +\end{alltt} +predpokladajЗc, ╬e \code{ls} vА╧ho systИmu vytvАra sprАvny vЩstup +(vЩstup \acro{GNU} \code{ls} je v~poriadku). Aby ste sa ubezpeХili, +╬e databАza bude v╬dy aktuАlna, najjednoduch╧ie je pravidelne ju +prebudovАva╩ cez \code{cron}, +tak╬e po zmenАch v~in╧talovanЩch +sЗboroch \Dash\ naprМklad pri in╧talАcii alebo aktualizАcii balМka +\LaTeX u{} \Dash\ bude sЗbor \file{ls-R} automaticky aktualizovanЩ. + +Ak sЗbor nie je v~databАze nАjdenЩ, pod╣a predvolenИho nastavenia +\KPS{} zaХne vyh╣adАva╩ na disku. Ak v╧ak urХitЩ element cesty +zaХМna \samp{!!}, bude preh╣adАvanА \emph{iba} databАza, nikdy nie +disk. + +\subsubsection{kpsewhich: SamostatnИ preh╣adАvanie cesty} +\label{Invoking-kpsewhich} +Program \texttt{kpsewhich} vykonАva preh╣adАvanie cesty nezАvislИ +od ka╬dej aplikАcie. MТ╬e by╩ u╬itoХnЩ ako vyh╣adАvacМ \code{find} +program na nАjdenie sЗborov v~hierarchiАch \TeX u{} (ve╣mi sa +vyu╬Мva v~distribuovanЩch \samp{mktex}\dots\ skriptoch). + +\begin{alltt} +>> \Ucom{kpsewhich \var{option}\dots{} \var{filename}\dots{}} +\end{alltt} +Vo╣by ╧pecifikovanИ v~\singleuv{\texttt{\var{option}}} mТ╬u zaХМna╩ buО +\samp{-} alebo \samp{-{}-} a ka╬dА skratka, ktorА nie je viacznaХnА, je +akceptovanА. + +\KPS{} pova╬uje ka╬dЩ element vstupnИho riadku, ktorЩ nie je +argumentom nejakej vo╣by, za meno sЗboru, ktorЩ h╣adА a +vracia prvЩ sЗbor, ktorЩ nАjde. Neexistuje vo╣ba umo╬РujЗca +vrАti╩ v╧etky sЗbory s~urХitЩm menom (na to mТ╬ete pou╬i╩ +nАstroj Unixu \samp{find}). + +оal╧ie dТle╬itej╧ie vo╣by sЗ popМsanИ ni╬╧ie. +\begin{description} +\item[\CODE{--dpi=num}]\hfill\break + Nastav rozlМ╧enie na \singleuv{\texttt{\var{num}}}; toto mА vplyv iba na + \samp{gf} a \samp{pk} vyh╣adАvanie. \samp{-D} je synonymom, kvТli + kompatibilite s~\cmdname{dvips}. PredvolenА hodnota je~600. +\item[\CODE{--format=name}]\hfill\break + Nastav formАt na vyh╣adАvanie na \singleuv{\texttt{\var{name}}}. Pod╣a + predvolenИho nastavenia je formАt uhАdnutЩ z~mena sЗboru. Pre formАty, + ktorИ nemajЗ asociovanЗ jednoznaХnЗ prМponu, ako naprМklad podpornИ + sЗbory \MP u a konfiguraХnИ sЗbory \cmdname{dvips}, musМte + ╧pecifikova╩ meno ako znАme pre \KPS{}, takИ ako + \texttt{tex} alebo \texttt{enc files}. Zoznam zМskate spustenМm + \texttt{kpsewhich -{}-help}. + +\item[\texttt{--mode=\var{string}}]\mbox{}\\ + Nastav meno mСdu na \singleuv{\texttt{\var{string}}}; toto mА vplyv iba na + \samp{gf} a \samp{pk} vyh╣adАvanie. ╝iadna predvolenА hodnota: + ka╬dЩ mСd bude nАjdenЩ. +\item[\texttt{--must-exist}]\mbox{}\\ + Urob v╧etko preto, aby si na╧iel sЗbory. Ak je to potrebnИ, + vrАtane h╣adania na disku. NormАlne je v~zАujme efektМvnosti + preh╣adАvanА iba databАza \file{ls-R}. +\item[\texttt{--path=\var{string}}]\mbox{}\\ + Vyh╣adАvaj pod╣a cesty \singleuv{\texttt{\var{string}}} (odde╣ovanА dvojbodkou + ako zvyХajne) namiesto hАdania vyh╣adАvacej cesty z~mena sЗboru. + PodporovanИ sЗ \samp{//} a v╧etky be╬nИ expanzie. Vo╣by \samp{--path} + a \samp{--format} sa vzАjomne vyluХujЗ. +\item[\texttt{--progname=\var{name}}]\mbox{}\\ + Nastav meno programu na \singleuv{\texttt{\var{name}}}. Toto nastavenie ovplyvРuje + pou╬itie vyh╣adАvacej cesty cez nastavenie \singleuv{\texttt{.\var{progname}}} + v~konfiguraХnЩch sЗboroch. PredvolenА hodnota je \samp{kpsewhich}. +\item[\texttt{--show-path=\var{name}}]\mbox{}\\ + ZobrazМ cestu pou╬itЗ na vyh╣adАvanie sЗboru s typom +\singleuv{\texttt{\var{name}}}. + MТ╬e by╩ pou╬itА buО sЗborovА prМpona (\samp{.pk}, \samp{.vf} a pod.) + alebo meno, podobne ako vo vo╣be \samp{--format}. +\item[\texttt{--debug=\var{num}}]\mbox{}\\ + NastavМ masku vЩberu ladiacМch mo╬nostМ na \singleuv{\texttt{\var{num}}}. +\end{description} + +\subsubsection{PrМklady pou╬itia} +\label{SExamplesofuse} +Pozrime sa na \KPS{} v~akcii. Za podХiarknutЩm prМkazom nasleduje +vЩsledok vyh╣adАvania v~nasledujЗcich riadkoch. +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +H╣adАme sЗbor \file{article.cls}. KeО╬e prМpona \samp{.cls} je +jednoznaХnА, nemusМme ╧pecifikova╩, ╬e h╣adАme sЗbor typu \singleuv{tex} +(zdrojovЩ sЗbor \TeX{}). NАjdeme ho v~podadresАri +\file{tex/latex/base} pod koreРovЩm adresАrom +\samp{TEXMF-dist}. Podobne, v╧etky nasledujЗce sЗbory budЗ nАjdenИ bez +problИmov vОaka ich jednoznaХnej prМpone. +\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} + +PoslednЩm sЗborom je bibliografickА databАza \BibTeX u pre +ХlАnky \textsl{TUGBoatu}. + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +BitmapovИ sЗbory fontov typu \file{.pk} sa pou╬МvajЗ zobrazovacМmi +programami ako \cmdname{dvips} a \cmdname{xdvi}. V~tomto prМpade +je vrАtenЩ prАzdny vЩsledok, keО╬e neexistujЗ ╬iadne vopred +generovanИ Computer Modern \samp{.pk} sЗbory v~na╧om systИme +(vzh╣adom na to, ╬e v~\TL{} implicitne pou╬Мvame 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} sЗbory. KeО╬e predvolenЩ mСd \MF u v~na╧ej in╧talАcii +je \texttt{ljfour} so zАkladnЩm rozlМ╧enМm 600~dpi (dots per inch), +je vrАtenА tАto in╧tancia. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +V~tomto prМpade po ╧pecifikovanМ, ╬e nАs zaujМma rozlМ╧enie 300dpi +(\texttt{-dpi=300}), vidМme, ╬e takЩ font nie je v~systИme +k~dispozМcii. Programy ako \cmdname{dvips} alebo \cmdname{xdvi} +by v~tomto prМpade vytvorili po╬adovanИ \texttt{.pk} sЗbory, pou╬ijЗc skript \cmdname{mktexpk}. + +Teraz obrА╩me na╧u pozornos╩ na hlaviХkovИ a konfiguraХnИ sЗbory +\cmdname{dvips}. Najprv sa pozrieme na jeden z~be╬ne pou╬МvanЩch +sЗborov, v╧eobecnЩ prolСgovЩ \file{tex.pro} na pod\-poru \TeX u{}, +potom poh╣adАme konfiguraХnЩ sЗbor (\file{config.ps}) a +PostScriptovЗ mapu fontov \file{psfonts.map} \Dash %B% as of 2004, +mapovИ a kСdovИ sЗbory majЗ svoje vlastnИ cesty na vyh╣adАvanie a novИ umiestnenie v~stromoch \dirname{texmf}. + +KeО╬e prМpona +\samp{.ps} je ne\-jed\-no\-znaХnА, musМme pre sЗbor \texttt{config.ps} +╧pecifikova╩ explicitne, o ktorЩ typ sa zaujМmame (\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И sЗbory URW Times PostScript. + V~Berryho schИme meno pre +tieto pomenovania fontov je \uv{\texttt{utm}}. PrvЩ +sЗbor, ktorЩ h╣adАme, je konfiguraХnЩ sЗbor, ktorЩ obsahuje meno +mapovИho sЗboru: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} +Obsah tohoto sЗboru je +\begin{alltt} + p +utm.map +\end{alltt} +Хo odkazuje na sЗbor \file{utm.map}, ktorЩ ideme Оalej h╣ada╩. +\begin{alltt} +> \Ucom{kpsewhich utm.map} + /usr/local/texmf-dist/fonts/map/dvips/times/utm.map +\end{alltt} +Tento mapovЩ sЗbor definuje menА sЗborov 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 naprМklad in╧tanciu Times Regular \file{utmr8a.pfb} a +nАjdime jej pozМciu v~adresАrovom strome \file{texmf} pou╬itМm +vyh╣adАvania fontovЩch sЗborov 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 tЩchto prМkladov by malo by╩ zrejmИ, ako ╣ahko mТ╬ete nАjs╩ +umiestnenie danИho sЗboru. Toto je zvlА╧╩ dТle╬itИ, keО mАte +podozrenie, ╬e ste narazili na zlЗ verziu sЗboru, +preto╬e \cmdname{kpsewhich} emuluje vyh╣adАvanie +Зplne rovnakЩm spТsobom ako skutoХnЩ program (\TeX{}, dvips a pod). + + +\subsubsection{Ladenie vyh╣adАvania} +\label{Debugging} +Niekedy je potrebnИ vy╧etri╩, ako program rozpoznАva referencie na +sЗbory. Aby toto bolo mo╬nИ vhodne uskutoХni╩, \KPS{} ponЗka rТzne +stupne ladenia: +\begin{itemize} +\item[\texttt{\ 1}] Volania \texttt{stat} (testy sЗborov). Pri behu + s~aktuАlnou \file{ls-R} databАzou by nemal da╩ takmer ╬iaden vЩstup. +\item[\texttt{\ 2}] Referencie do ha╧ovacМch tabuliek (ako \file{ls-R} + databАzy, mapovИ sЗbory, konfiguraХnИ sЗbory). +\item[\texttt{\ 4}] OperАcie otvАrania a zatvАrania sЗboru. +\item[\texttt{\ 8}] V╧eobecnА informАcia o ceste pre typy sЗborov + h╣adanЩch \KPS. Toto je u╬itoХnИ pri zis╩ovanМ, kde bola definovanА + urХitА cesta pre danЩ sЗbor. +\item[\texttt{16}] AdresАrovЩ zoznam pre ka╬dЩ element cesty (vz╩ahuje + sa iba na vyh╣adАvanie na disku). +\item[\texttt{32}] Vyh╣adАvanie sЗborov. +\end{itemize} +Hodnota \texttt{-1} nastavМ v╧etky horeuvedenИ vo╣by, v~praxi +pravdepodobne v╬dy pou╬ijete tieto Зrovne, ak budete potrebova╩ +akИko╣vek ladenie. + +Podobne s~programom \cmdname{dvips} nastavenМm kombinАcie +ladiacМch prepМnaХov mТ╬ete detailne sledova╩, odkia╣ sa berЗ +pou╬МvanИ sЗbory. AktuАlny popis parametrov je mo╬nИ nАjs╩ +v~\path{../texmf/doc/html/dvips/dvips_2.html}. AlternatМvne, +keО sЗbor nie je nАjdenЩ, +ladiaca cesta ukazuje, v~ktorЩch adresАroch program danЩ sЗbor +h╣adal, Хo mТ╬e naznaХova╩, v~Хom sa asi vyskytol problИm. + +V╧eobecne povedanИ, keО╬e vДХ╧ina programov volА kni╬nicu \KPS{} +vnЗtorne, ladiace vo╣by je mo╬nИ nastavi╩ pomocou premennej +prostredia \envname{KPATHSEA\_DEBUG} na potrebnЗ kombinАciu, ako je +to popМsanИ v~horeuvedenom zozname. + +(PoznАmka pre pou╬Мvate╣ov Windows: nie je jednoduchИ +presmerova╩ v╧etky hlА╧ky v~tomto systИme do sЗboru. +Na diagnostikovacie ЗХely mТ╬ete doХasne priradi╩\\ + \texttt{SET KPATHSEA\_DEBUG\_OUTPUT=err.log}). + + +Uva╬ujme ako prМklad malЩ zdrojovЩ sЗbor +\LaTeX u{}, \file{hello-world.tex}, ktorЩ obsahuje nasledujЗci vstup. +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Tento malЩ sЗbor pou╬Мva iba font \file{cmr10}, tak╬e pozrime sa, +ako \cmdname{dvips} pripravuje PostScriptovЩ sЗbor (chceme pou╬i╩ +Type1 verziu pМsiem Computer Modern, preto je nastavenА +vo╣ba \texttt{-Pcms}\footnote{Od verzie \TL{}~7 nie +je nutnИ tЗto vo╣bu nastavova╩, preto╬e Type~1 fonty sЗ +naХМtanИ implicitne.}. +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +V~tomto prМpade sme skombinovali \cmdname{dvips} ladiacu +triedu~4 (cesty k~fontom) s~expanziou elementu cesty \KPS\ +(pozri ReferenХnЩ ManuАl +\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 +VЩstup, trochu preusporiadanЩ, je zobrazenЩ na +obrАzku~\ref{fig:dvipsdbga}. + +\begin{figure*}[tp] +\centering +\input{examples/ex6a.tex} +\caption{H╣adanie konfiguraХnЩch sЗborov}\label{fig:dvipsdbga} + +\bigskip + +\input{examples/ex6b.tex} +\caption{H╣adanie \singleuv{prolog} sЗboru}\label{fig:dvipsdbgb} + +\bigskip + +\input{examples/ex6c.tex} +\caption{H╣adanie sЗboru fontu}\label{fig:dvipsdbgc} +\end{figure*} + + +%\input{examples/ex6skfromtl6.tex} % TODO: Janka -- treba aktualizovat +% z ../examples/ex6*.tex + +\cmdname{dvips} zaХne lokАciou svojich pracovnЩch sЗborov. Najprv je +nАjdenЩ \file{texmf.cnf}, ktorЩ obsahuje definМcie vyh╣adАvacМch +ciest ostatnЩch sЗborov, potom databАza sЗborov \file{ls-R} (na +optimalizАciu vyh╣adАvania sЗborov) a skratky mien sЗborov +(\file{aliases}), Хo robМ mo╬nЩm deklarova╩ viacero mien (napr.\ +krАtke meno typu \singleuv{8.3} ako v~\acro{DOS}e a dlh╧iu prirodzenej╧iu +verziu) pre ten istЩ sЗbor. Potom \cmdname{dvips} pokraХuje +v~h╣adanМ v╧eobecnИho konfiguraХnИho sЗboru \file{config.ps} skТr, +ako zaХne h╣ada╩ sЗbor nastavenМ \file{.dvipsrc} (ktorЩ, v~tomto +prМpade, \emph{nie je nАjdenЩ}). Nakoniec, \cmdname{dvips} nАjde +konfiguraХnЩ sЗbor pre font Computer Modern PostScript, +\file{config.cms} (toto bolo iniciovanИ vo╣bou\texttt{-Pcms} +v~prМkaze \cmdname{dvips}). Tento sЗbor obsahuje zoznam \uv{mapovЩch} +sЗborov, ktorИ definujЗ vz╩ah medzi menami fontov v~\TeX u, +PostScripte a systИme sЗborov. +\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 pokraХuje v~h╣adanМ v╧etkЩch tЩchto sЗborov plus +v╧eobecnИho mapovИho sЗboru \file{psfonts.map}, ktorЩ sa naХМtava +v╬dy (obsahuje deklarАcie be╬ne pou╬МvanЩch PostScriptovЩch fontov; +pozri poslednЗ Хas╩ sekcie~\ref{SExamplesofuse}, kde sa nachАdza +viac detailov o narАbanМ s~mapovЩmi sЗbormi PostScriptu). + +V~tomto bode sa \cmdname{dvips} identifikuje +pou╬Мvate╣ovi\,\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 pokraХuje v~h╣adanМ prolСgovИho sЗboru +\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 pokraХuje v~h╣adanМ prolСgovИho sЗboru +\file{texc.pro} (pozri obrАzok~\ref{fig:dvipsdbgb}). +\fi +Po nАjdenМ tohoto sЗboru, \cmdname{dvips} napМ╧e na vЩstup dАtum a +Хas a informuje nАs, ╬e vygeneruje sЗbor \file{hello-world.ps}, ╬e +potrebuje sЗbor 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 h╣adanie sЗboru \file{cmr10.tfm}, ktorЩ je +nАjdenЩ, potom je referencovanЩch e╧te nieko╣ko prolСgovЩch sЗborov +(nezobrazenИ) a nakoniec je nАjdenА in╧tancia fontu +Type1, \file{cmr10.pfb}, ktorА je pridanА do vЩstupnИho sЗboru +(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{Mo╬nosti nastavenia za behu programu} +оal╧ou z~peknЩch ХЮt distribЗcie \Webc{} je mo╬nos╩ kontroly +mno╬stva pamД╩ovЩch parametrov (najmД ve╣kosti polМ) za behu +prostrednМctvom sЗboru \file{texmf.cnf}, +ktorЩ ХМta kni╬nica \KPS{}. Nastavenia v╧etkЩch parametrov mТ╬ete +nАjs╩ v~Хasti~3 tohto sЗboru. NajdТle╬itej╧ie riadiace +premennИ (ХМsla riadkov sa vz╩ahujЗ na sЗbor \file{texmf.cnf}): + +\begin{description} +\item[\texttt{main\_memory}] + CelkovЩ poХet dostupnЩch slov v~pamДti pre \TeX{}, \MF{} a \MP. + MusМte vytvori╩ novЩ formАtovЩ sЗbor pre ka╬dИ odli╧nИ nastavenie. + NaprМklad mТ╬ete vygenerova╩ \uv{obrovskЗ} verziu \TeX u{} + a zavola╩ sЗbor s~formАtom \texttt{hugetex.fmt}. S~pou╬МtМm + ╧tandardnej ╧pecifikАcie mena programu pou╬МvanИho kni╬nicou + \KPS{}, konkrИtna hodnota premennej main\_memory sa naХМta zo + sЗboru \file{texmf.cnf}. + %B% (porovnaj v╧eobecnЗ hodnotu a \uv{obrovskЗ} hodnotu, ktorА sa in╧tancuje cez \texttt{hugetex}, atО.). +\item[\texttt{extra\_mem\_bot}] + DodatoХnЩ priestor pre \uv{ve╣kИ} dАtovИ ╧truktЗry \TeX u{}: + \uv{boxy}, \uv{glue}, \uv{break\-point(y)} a podobne. + Je to u╬itoХnИ hlavne ak pou╬Мvate \PiCTeX{}. +%%PS (riadok 300). +\item[\texttt{font\_mem\_size}] + PoХet dostupnЩch slov pre informАciu o fontoch v~\TeX u. Toto je + viac-menej celkovА ve╣kos╩ v╧etkЩch preХМtanЩch TFM sЗborov. +\item[\texttt{hash\_extra}] + DodatoХnЩ priestor pre ha╧ovaciu tabu╣ku mien riadiacej sekvencie. + Pribli╬ne 10\,000 riadiacich sekvenciМ mТ╬e by╩ ulo╬enЩch v~hlavnej + ha╧ovacej tabu╣ke; ak mАte ve╣kЗ knihu s~mnohЩmi krМ╬ovЩmi odkazmi, + toto nemusМ staХi╩. ImplicitnА hodnota \texttt{hash\_extra} je \texttt{50000}. + %B% VidМte, ╬e obidve volania programov \cmdname{hugetex} a \cmdname{pdftex} po╬adujЗ + %B% dodatoХnЩch 15\,000 riadiacich sekvenciМ (preddefinovanА hodnota + %B% hash\_extra je nula). +\end{description} + +Samozrejme, tento prvok nemТ╬e nahradi╩ naozajstnИ dynamickИ polia +a alokАcie pamДte, ale keО╬e tieto sa ve╣mi ╩a╬ko implementujЗ +v~sЗХasnej verzii \TeX u, tieto parametre poХas behu programu +poskytujЗ praktickЩ kompromis, ktorЩ dovo╣uje aspoР nejakЗ +flexi\-bilitu. +\end{otherlanguage} + +\begin{comment} +\section{PЬeklad pro novou unixovou platformu} + +Pokud pou╬МvАte platformu, pro kterou neposkytujeme binАrky, nezbude vАm +nic jinИho, ne╬ si je vytvoЬit ze zdrojАkЫ sami. +NenМ to tak tЛ╬kИ, jak se traduje Хi zdА. V╧e, co je tЬeba, najdete +v~adresАЬi \texttt{source} distribuce. + +\subsection{PЬedpoklady ЗspЛchu} + +Budete potЬebovat alespoР 100~MebibytЫ diskovИho prostoru na kompilaci +celИho \TeX{}u a podpЫrnЩch programЫ. Budete takИ potЬebovat kompilАtor +\acro{ANSI}~C, program \cmdname{make}, lexikАlnМ analyzАtor a generАtor +pЬekladaХe. DoporuХujeme \acro{GNU} verze tЛchto programЫ +(\cmdname{gcc}, \acro{GNU} \cmdname{make}, \cmdname{m4}, \cmdname{flex}, +\cmdname{bison}). Mo╬nА uspЛjete i s~jinЩmi verzemi kompilАtoru~C, +programu \cmdname{make} a dal╧Мch programЫ, ale budete potЬebovat +dobrou znalost kompilace unixovЩch programЫ pro Ьe╧enМ kolizМ. + +TakИ pЬМkaz \texttt{uname} musМ vracet rozumnИ hodnoty. + + +\subsection{Konfigurace} + +Pro zaХАtek proveОte normАlnМ instalaci \TL{} na vА╧ disk (viz +oddМl~\ref{sec:unix-install-disk} na +stranЛ~\pageref{sec:unix-install-disk}). MЫ╬ete pЬeskoХit instalaci +v╧ech pЬedkompilovanЩch binАrek. + +Potom rozbalte zdroje z~komprimovanИho \texttt{tar} archМvu z~adresАЬe +\dirname{source} na svЫj disk a pЬejdЛte do adresАЬe, kam jste zdroje +rozbalili. + +Potom spus╩te program \cmdname{configure} napЬМklad takto: +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +AdresАЬ udanЩ pЬepМnaХem \optname{-prefix} je ten, kam jste instalovali +pomocnЩ texmf strom; struktura adresАЬЫ bude jak je popsАno nМ╬e (pЬiХem╬ +\$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И manuАlovИ strАnky\\ + \dirname{$TEXDIR/info} & \acro{GNU} Info manuАly\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binАrky +\end{tabularx} +%$ + +Pokud chcete zru╧it extra ЗroveР adresАЬЫ \dirname{$PLATFORM} pro ka╬dou +platformu, t.j.\ ulo╬it binАrky do adresАЬe \dirname{$TEXDIR/bin}, +specifikujte volbu \verb|--disable-multiplatform| pro \cmdname{configure}. + +PodМvejte se na vЩstup pЬМkazu \verb|./configure --help| pro popis +dal╧Мch pЬepМnaХЫ, kterИ mЫ╬ete chtМt pou╬Мt. NapЬМklad mЫ╬ete chtМt +vynechat pЬeklad \OMEGA{}y Хi \eTeX{}u. + + +\subsection{Spu╧tЛnМ \cmdname{make}} + +OvЛЬte, zda promЛnnА prostЬedМ nebo volba \texttt{noclobber} nenМ nastavena. +Potom spus╩te hlavnМ \cmdname{make} takto: +\begin{alltt} +> \Ucom{make world} +\end{alltt} +a dejte si chvМli oddechu\ldots + +PЬМpadnЛ si mЫ╬ete zaznamenat v╧echen vЩstup takto: +\begin{alltt} +> \Ucom{sh -c \string"make world >world.log 2>\&1\string" \&} +\end{alltt} + +PЬedtМm ne╬ uvЛЬМte, ╬e v╧echno je v~poЬАdku, zkontrolujte +logovacМ soubor na chyby: \acro{GNU} \cmdname{make} v╬dy pou╬МvА ЬetЛzec +\samp{***}, kdykoliv pЬМkaz sel╬e. TakИ zkontrolujte, zda v╧echny programy +byly opravdu pЬelo╬eny: + +\begin{alltt} +> \Ucom{cd \var{TEXDIR}/bin/\var{archname}} +> \Ucom{ls | wc} +\end{alltt} +VЩsledkem by mЛlo bЩt pЬes 200 programЫ (mЫ╬ete zkontrolovat pЬesnЩ +poХet s~adresАЬi \dirname{bin} na~distribuХnМm mИdiu). + +Pro zАvЛreХnЩ \texttt{make install} budete potЬebovat rootovskИ +oprАvnЛnМ, tak╬e mЫ╬ete rozdЛlit \samp{make world} na dvЛ ХАsti: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +PotИ, co instalujete v╧echny binАrky, mЛli byste provИst +normАlnМ postinstalaХnМ proceduru, jak je popsАna +v~oddМle~\ref{sec:postinstall} +na stranЛ~\pageref{sec:postinstall}. + +Kdy╬ budete chtМt zpЬМstupnit svoje binАrky ostatnМm, +prosМme kontaktujte nАs. +R\'adi je umМstМme na webov\'e strАnky \TL. +\end{comment} + +\section{PodЛkovАnМ} + +\TL{} je vЩsledkem spoleХnИho ЗsilМ tИmЛЬ v╧ech skupin u╬ivatelЫ \TeX u. +Tato vydАnМ editovali \TL{} Sebastian Rahtz a Karl Berry. +Seznam ostatnМch hlavnМch pЬisp\v{e}vatelЫ nАsleduje. DЛkujeme: + +%B% Toto vydАnМ \TL{} je editovАno Sebastianem Rahtzem, pЬiХem╬ hlavnМ +%B% pЬispЛvatel byl Fabrice Popineau, kterЩ tvrdЛ pracoval na podpoЬe +%B% Windows (zvlА╧tЛ na setupu!) a pЬispЛl mnoha rЫznЩmi zpЫsoby a nАpady, +%B% radami a kСdem. Staszek Wawrykiewicz byl hlavnМ testИr distribuce +%B% a koordinoval pЬМspЛvky z~Polska. + +%B% Kaja Christiansen provАdЛla neЗnavnЛ opakovanИ +%B% rekompilace na rЫznЩch unixovЩch platformАch. Vladimir Volovich odvedl +%B% vynikajМcМ prАci na vyХi╧tЛnМ zdrojovЩch textЫ a provedl mnohА +%B% vylep╧enМ, zatМmco Gerben Wierda dЛlal ve╧kerou prАci pro \MacOSX. + +\begin{itemize*} +\item Sdru╬enМ nЛmecky mluvМcМch u╬ivatelЫ \TeX{}u (\acro{DANTE} e.V.), +kterИ poskytlo hardware pro ulo╬enМ zdrojЫ \TL{}; Rainer Sch\"opf a Reinhard Zierke, kteЬМ se o nЛ starajМ. +PЬedstavitelИ \acro{DANTE} Volker Schaa a Klaus H\"oppner +koordinovali vЩrobu u Lehmann's Bookstore, \url{http://www.lob.de}. + +\item SpoleХnosti Perforce (\url{http://www.perforce.com}), kterА poskytla volnИ kopie svИho excelentnМho zmЛnovИho systИmu, +kterЩ pou╬МvАme pro vЩvoj \TeXLive. + +\item Peteru Breitenlohnerovi a \eTeX\ tЩmu, kteЬМ poskytujМ stabilnМ zАklad budoucnosti \TeX u. + +%B% \item Karlu Berrymu, kterЩ poskytl pЫvodnМ distribuci \Webc{}, a +%B% pokraХoval v~poskytovАnМ cennЩch rad, povzbuzenМ a pomocМ. + +%B% \item Mimi BurbankovИ, kterА zajistila na Florida State University +%B% School of Computational Science and Information Technology pЬМstup +%B% k~ЬadЛ rЫznЩch poХМtaХЫ rЫznЩch platforem pro pЬeklad +%B% \TeX{}ovЩch binАrek a distribuce testovala, kdykoliv to bylo potЬeba. + +\item Thomasi Esserovi, za pЬekrАsnЩ balМk \teTeX{} bez nЛho╬ by \TL{} +zajistИ neexistovala. Jeho soustavnА pomoc pomАhА vytvoЬit lep╧М +produkt. + +\item Michelu Goossensovi, kterЩ je spoluautorem pЫvodnМ dokumentace. + +\item Eitanu Gurarimu, jeho╬ \TeX{}4ht bylo pou╬ito pro +\HTML{} verzi tИto dokumentace a kterЩ obratem +pracoval neЗnavnЛ na jeho roz╧МЬenМch. + +\item Hansi Hagenovi, za mnohА testovАnМ a pЬМpravu formАtu \ConTeXt\ +pЬizpЫsobenИho potЬeb\'am \TL. + +\item Paw{\l}u Jackowski, za windovsovЩ instalАtor \cmdname{tlpm}, +a Tomaszovi {\L}uczak, za \cmdname{tlpmgui}. + +\item \Thanh, Martinu Schr\"oderovi a pdf\TeX\ tЩmu +za pokraХujМcМ roz╧iЬovАnМ mo╬nostМ \TeX u. + +\item Petru Ol╧Аkovi, kterЩ kontroloval velmi peХlivЛ +Хeskou a slovenskou podporu na \TeXLive. + +\item Fabrice Popineau, za windowsovИ binАrky na \TL{}. + +\item Staszkovi Wawrykiewiczi, hlavnМmu testИrovi v╧eho na \TL{} a +koordinАtorovi mnoha dЫle╬itЩch polskЩch pЬМspЛvkЫ: fontЫ, windowsovИ instalace a dal╧Мch. + +\item Olafu Weberovi, pro jeho peХlivИ sestavenМ a Зdr╬bu \Webc, +na kterИ zАvisМ v╧e ostatnМ. + +\item Gerbenu Wierdovi, za vytvoЬenМ a Зdr╬bu podpory \MacOSX\ a +za mnohou integraci a testovАnМ. + +\item Grahamu Williamsovi, na jeho╬ prАci na katalogu balМkЫ zАvisМme. + +\end{itemize*} + +TvЫrci binАrek: +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}, \pkgname{sparc64-linux}, \pkgname{sparc-solaris}), +Staszek Wawrykiewicz (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Obnova dokumentace a pЬekladЫ: +Karl Berry (English), +Daniel Flipo \& Fabrice Popineau (French), +G\"unter Partosch \& Hartmut Henkel (German), +Petr Sojka \& Jan Bu\v{s}a (Czech\slash Slovak), +Boris Veytsman (Russian), +Staszek Wawrykiewicz (Polish). +%B% DАle Gerhard Wilhelms, Volker Schaa, Fabrice Popineau, Janka +%B% ChlebМkovА, Petra SojkovА, Staszek Wawrykiewicz, +%B% Erik Frambach a Ulrik Vieth laskavЛ pЬelo╬ili v~rЫznЩch +%B% obdobМch dokumentaci do svЩch mateЬskЩch jazykЫ a poskytli +%B% vМtanou zpЛtnou reakci. +\footnote{Ke korektuЬe ХeskИho a slovenskИho pЬekladu pЬispЛli +v~letech 2003--2004 krom\v{e} autor\r{u} JaromМr Kuben, Milan +MatlАk, TomА╧ Ob╧МvaХ, TomА╧ Pole╧ovskЩ, Libor ╘karvada, +ZdenЛk Wagner a dal╧М.} + +SamozЬejmЛ, nejdЫle╬itej╧М podЛkovАnМ patЬМ Donaldu Knuthovi, +pЬedev╧Мm za vymy╧lenМ \TeX u a takИ za to, ╬e ho vЛnoval svЛtu. + +\section{Trocha historie} +\label{sec:history} + +\subsection{Minulost} + +Diskuse zaХala koncem roku 1993, kdy holandskА skupina +u╬ivatelЫ \TeX{}u NTG zaХala prАci na +\CD{} 4All\TeX{} pro u╬ivatele \acro{MS-DOS}u, doufajМc, +╬e doba nazrАla pro vydАnМ jednoho \CD{} pro v╧echny +systИmy. Byl to na svou dobu pЬМli╧ ambiciСznМ cМl, ale +nenastartoval jen velmi ЗspЛ╧nИ 4All\TeX{} \CD{}, ale takИ +pracovnМ skupinu \acro{TUG}u o \emph{\TeX{} Directory Structure} +(\url{http://tug.org/tds}), kterА specifikovala, +jak vytvoЬit konzistentnМ a spravovatelnou +kolekci \TeX{}ovЩch souborЫ. KompletnМ draft +\TDS{} byl publikovАn v~prosincovИm ХМsle Хasopisu +\textsl{TUGboat} v~roce 1995 a +hned ze zaХАtku bylo jasnИ, ╬e jednМm z~╬АdanЩch produktЫ bude +vzorovА struktura \CD{}. Distribuce, kterou nynМ mАte, je pЬМmЩm +vЩstupem prАce tИto pracovnМ skupiny. EvidentnМ ЗspЛch +4All\TeX{} \CD{} ukАzal, ╬e i unixovМ u╬ivatelИ by +tou╬ili po podobnЛ jednoduchИm systИmu, a to je takИ +jedno z~hlavnМch aktiv~\TeXLive. + +Nejprve jsme vytvoЬili unixovИ \TDS{} \CD{} na podzim +1995 a rychle identifikovali \teTeX{} Thomase Essera +jako ideАlnМ systИm, jeliko╬ ji╬ mЛl multi-platformnМ +podporu a byl koncipovАn s~perspektivou +portability. Thomas souhlasil s~pomocМ, a seriСznМ prАce zapoХala +zaХАtkem roku 1996. PrvnМ vydАnМ se uskuteХnilo +v~kvЛtnu 1996. ZaХАtkem 1997 Karl Berry dokonХil novИ hlavnМ +vydАnМ \Webc, kterИ obsahovalo tИmЛЬ v╧echny vlastnosti, +kterИ Thomas Esser pЬidal do \teTeX{}u, a tak jsme se rozhodli +druhИ vydАnМ \CD{} postavit na standardnМm +\Webc, s~pЬidАnМm skriptu \texttt{texconfig} z~\teTeX{}u. +TЬetМ vydАnМ \CD{} bylo zalo╬eno na dal╧М revizi +\Webc, 7.2, provedenИ Olafem Weberem; a jeliko╬ zАroveР +byla hotova novА verze \teTeX{}u, \TL{} obsahoval +tИmЛЬ v╧echna jejМ vylep╧enМ. +PodobnЛ ХtvrtИ vydАnМ pou╬Мvalo novou verzi +\teTeX{}u a novИ vydАnМ \Webc{} (7.3). +SystИm nynМ obsahuje i kompletnМ systИm pro Windows. + +Pro pАtИ vydАnМ (bЬezen 2000) bylo mnoho ХАstМ \CD{} revidovАno +a zkontrolovАno a byly aktualizovАny stovky +balМkЫ. Detaily o balМcМch byly ulo╬eny v~souborech XML. +Ale hlavnМ zmЛnou pro \TeX\ Live~5 bylo vynЛtМ +softwaru, na kterИm byla jakАkoliv omezenМ na ╧МЬenМ +(non-free software). V╧e ulo╬enИ na \TL{} je nynМ +sluХitelnИ s~tzv.\ `Debian Free Software Guide\-lines' +(\url{http://www.debian.org/intro/free}); udЛlali jsme v╧e mo╬nИ, +abychom zkontrolovali licenХnМ podmМnky v╧ech balМkЫ, +ale budeme vdЛХni za upozornЛnМ na jakИkoli chyby. + +╘estИ vydАnМ (Хervenec 2001) mЛlo aktualizovanИho materiАlu +je╧tЛ vМce. HlavnМ zmЛnou byl novЩ instalaХnМ pЬМstup: +u╬ivatel mЫ╬e volit instalaХnМ kolekce. +Byly kompletnЛ reorganizovАny jazykovИ kolekce, +tak╬e jejich vЩbЛrem se instalujМ +nejen makra, fonty, ale je takИ pЬipraven odpovМdajМcМ +soubor \texttt{language.dat}. + +SedmИ vydАnМ v~roce 2002 mЛlo podstatnИ roz╧МЬenМ v~pЬidАnМ +podpory \MacOSX{}, kromЛ mno╬stvМ aktualizacМ balМkЫ a programЫ. +DЫle╬itЩm cМlem byla opЛtnА integrace s~\teTeX{}em +a korekce odchylek z~pАtИho a ╧estИho vydАnМ. + +\subsubsection{2003} + +V~roce 2003 se neustАlou smr╧tМ oprav a roz╧МЬenМ stalo to, ╬e +velikost \TL{} ji╬ neumo╬nila jeho smЛstnАnМ +na jedno \CD{}, a tak do╧lo k~rozdЛlenМ na tЬi rЫznИ distribuce +(viz oddМl~\ref{sec:multiple-dist} na +stranЛ~\pageref{sec:multiple-dist}). NavМc: + +\begin{itemize*} +\item Na ╬Аdost \LaTeX{} tЩmu jsme zmЛnili standardnМ pЬМkazy + \cmdname{latex} a \cmdname{pdflatex} tak, ╬e nynМ pou╬МvajМ + \eTeX{} (viz strana~\pageref{text:etex}). +\item Byly pЬidАny a jsou nynМ doporuХovАny k~pou╬МvАnМ + novИ fonty Latin Modern. +\item Byla zru╧ena podpora OS Alpha \acro{OSF} + (podpora \acro{HPUX} byla zru╧ena ji╬ dЬМve), jeliko╬ se nikdo + nena╧el, kdo by na tЛchto platformАch zkompiloval novИ binАrky. +\item InstalaХnМ program Windows byl zmЛnЛn podstatnЩm zpЫsobem; poprvИ + bylo integrovАno u╬ivatelskИ prostЬedМ zalo╬enИ na XEmacsu. +\item DЫle╬itИ pomocnИ programy pro Windows + (Perl, \GS{}, Image\-Magick, Ispell) jsou nynМ instalovАny + do instalaХnМho adresАЬe \TL{}. +\item MapovacМ soubory jmen fontЫ pro \cmdname{dvips}, \cmdname{dvipdfm} + a \cmdname{pdftex} jsou nynМ generovАny novЩm programem + \cmdname{updmap} a instalovАny 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М dАvajМ na vЩstup %B% 8-bitovИ + vЛХ╧inu vstupnМch + znakЫ (32 a vЩ╧) bez konverze (napЬМklad do souborЫ + zapisovanЩch pomocМ \verb|\write|, + souborЫ log, na terminАl), a tedy \emph{nejsou pЬeklАdАny} do + sedmibitovИ \verb|^^| notace. V~\TL{}~7 bylo toto mapovАnМ + zАvislИ na nastavenМ systИmovЩch locale; nynМ ji╬ nastavenМ locale + \emph{neovlivnМ} chovАnМ \TeX{}u. Pokud z~nЛjakЩch dЫvodЫ + potЬebujete vЩstup s~\verb|^^|, pЬejmenujte soubor + \verb|texmf/web2c/cp8bit.tcx|. PЬМ╧tМ verze bude mМt Хist╧М + Ьe╧enМ. +\item Tato dokumentace byla podstatnЩm zpЫsobem pЬepracovАna. +\item KoneХnЛ, jeliko╬ ХМsla verzМ \TL{} ji╬ pЬМli╧ narostla, + verze je nynМ identifikovАna rokem vydАnМ: \TL{} 2004. +\end{itemize*} + +\subsubsection{2004} + +Rok 2004 pЬinesl mnoho zmЛn: + +\begin{itemize} + +\item Pokud mАte lokАlnЛ instalovАny fonty, kterИ +vyu╬МvajМ svИ vlastnМ podpornМ soubory +\filename{.map} nebo (mnohem mИnЛ pravdЛpodobnЛ) \filename{.enc}, +mo╬nА budete nuceni tyto soubory pЬesunout. + +Soubory \filename{.map} jsou nynМ vyhledАvАny jen v~podaresАЬМch +\dirname{fonts/map} (v~ka╬dИm stromЛ \filename{texmf}), podИl cesty +\envname{TEXFONTMAPS}. PodobnЛ, soubory \filename{.enc} jsou hledАny jen v~podadresАЬМch \dirname{fonts/enc}, podИl cesty \envname{ENCFONTS}. \cmdname{updmap} se pokusМ vypsat varovАnМ o~problematickЩch souborech. + +O~metodАch zpracovАnМ tИ kterИ informace, prosМme viz +\url{http://tug.org/texlive/mapenc.html}. + +\item \TKCS\ byla roz╧МЬena pЬidАnМm instalovatelnИho \CD, +zalo╬enИho na \MIKTEX u, pro ty, kteЬМ dАvajМ pЬednost +tИto implementaci pЬed Web2C. +%TakИ lo\v{n}sk\'e demo \CD{} bylo nahrazeno instalovatelnЩm \CD{} pro Windows. +Viz oddМl~\ref{sec:struct-tl} (strАnka~\pageref{sec:struct-tl}). + +\item UvnitЬ \TL byl samostatnЩ velkЩ strom \dirname{texmf} pЬede╧lЩch vydАnМ nahrazen tЬemi: \dirname{texmf}, +\dirname{texmf-dist} a \dirname{texmf-doc}. Viz oddМl~\ref{sec:tld} (strАnka~\pageref{sec:tld}) a soubory \filename{README} pro ka╬dЩ z~nich. + +\item V╧echny vstupnМ soubory tЩkajМci se \TeX u jsou teО soustЬedЛny v~podadresАЬi \dirname{tex} stromЫ \dirname{texmf*} a nemajМ oddЛlenИ sourozeneckИ adresАЬe \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М dАvky (nemЛly by bЩt volАny u╬ivateli) jsou teО +umМstЛny v~novИm adresАЬi \dirname{scripts} stromЫ \dirname{texmf*} a jsou vyhledАvАny prostЬednictvМm \verb|kpsewhich -format=texmfscripts|. Kdy╬ tedy mАte programy volajМcМ tyto dАvky, budou muset bЩt nastaveny. Viz +\CDref{texmf-doc/doc/english/tds/tds.html\#Scripts} +{\texttt{texmf-doc/doc/english/tds/tds.html\#Scripts}}. + +\item TИmЛЬ v╧echny formАty umo╬РujМ vЛt╧inu znakЫ tisknout +bez konverze pomocМ p\v{r}ekladov\'eho souboru +\filename{cp227.tcx}, mМsto jejich konverze pomocМ +\verb|^^| notace. KonkrИtnЛ, znaky na pozicМch 32--256, +plus \uv{tab}, \uv{vertikАlnМ tab} a \uv{form feed} jsou pova╬ovАny +za tisknutelnИ a nejsou konvertovАny. VЩjimky tvoЬМ plain \TeX\ +(jen 32--127 jsou tisknutelnИ), \ConTeXt\ (0--255 tisknutelnИ) a formАty +systИmu \OMEGA. Toto implicitnМ chovАnМ je tИmЛЬ stejn\'e, jak na +\TL\,2003, ale je implementovАno ХistЛji, s~vМce mo╬nostmi pЬizpЫsobenМ. +Viz \CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(Mimochodem, se vstupem Unicode, mЫ╬e \TeX\ na vЩstupu vypsat posloupnosti +ХАsteХnЩch znakЫ pЬi vЩpisu chybovЩch kontextЫ, proto╬e je bytovЛ +orientovАn.) + +\item \textsf{pdfetex} je teО implicitnМ stroj pro v╧echny formАty +kromЛ samotnИho (plain) \textsf{tex}u. (Ten jistЛ╬e generuje \acro{DVI}, + kdy╬ je spu╧tЛn jako \textsf{latex} atd.) To znamenА, kromЛ jinЩch + vЛcМ, ╬e mikrotypografickИ roz\v{s}\'\i\v{r}en\'\i\ +\textsf{pdftex}u jsou dostupnИ + v~\LaTeX u, \ConTeXt Л 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 u╬itМ balМku \pkgname{ifpdf} (pracuje s~plainem +i \LaTeX em) nebo ekvivalentnМho kСdu je \emph{dЫle╬itej╧М +ne╬ kdykoliv pЬedtМm}, proto╬e jednoduchИ testovАnМ, zda +je \cs{pdfoutput} nebo nЛjakЩ jinЩ primitiv je definovАn, +nenМ spolehlivЩ zpЫsob urХenМ, zda je generovАn \acro{PDF} +vЩstup. Tento spЛtnЩ krok jsme udЛlali co nejvМc kompatibilnМ +letos, ale v~p\v{r}\'\i\v{s}t\'\i m roce \cs{pdfoutput} mЫ╬e +bЩt definovАn dokonce i kdy╬ se zapisuje do \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org}) mА mno╬stvМ novЩch vlastnostМ: + + \begin{itemize*} + + \item \cs{pdfmapfile} a \cs{pdfmapline} poskytujМ podporu mapovАnМ fontЫ uvnitЬ dokumentu. + + \item MikrotypografickИ roz╧МЬenМ fontu mЫ╬e bЩt pou╬ito jednodu╧eji.\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item V╧echny parametry, kterИ byly pЬedtМm nastavovАny ve + zvlА╧tnМm konfiguraХnМm souboru \filename{pdftex.cfg}, musМ + teО bЩt nastaveny pomocМ primitivЫ, obyХejnЛ + v~\filename{pdftexconfig.tex}; \filename{pdftex.cfg} nenМ + dАle podporovАn. V╧echny existujМcМ \filename{.fmt} souboru + musМ bЩt znovu vytvoЬeny pЬi zmЛnЛ souboru \filename{pdftexconfig.tex}. + + \item Pro dal╧М informace viz manuАl 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 obsahujМcМ mezery a jinИ zvlА╧tnМ znaky. TypickИ pЬМklady: +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} +Pro dal╧М informace viz manuАl Web2C: \OnCD{texmf/doc/web2c}. + +\item Podpora enc\TeX u je nynМ zahrnuta uvnitЬ Web2C, +v~dЫsledku toho ve v╧ech \TeX ovЩch programech, pou╬itМm +volby \optname{-enc} \Dash \emph{jen v~pЬМpadЛ, ╬e formАty +jsou vytvoЬeny}. enc\TeX\ podporuje obecnИ pЬekСdovАnМ +vstupu a vЩstupu, ХМm\v{z} umo╬Рuje plnou podporu kСdovАnМ +Unicode (v~\acro{UTF}-8). Viz +\OnCD{texmf-dist/doc/generic/enctex/} a +\url{http://www.olsak.net/enctex.html}. + +\item Aleph, novЩ stroj kombinujМcМ \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}. FormАt pro +Aleph, zalo╬enЩ na \LaTeX u se jmenuje \textsf{lamed}. + +\item NejnovЛj╧М vydАnМ \LaTeX u mА novou verzi \acro{LPPL} \Dash teО +oficiАlnЛ schvАlenА Debian licence. RozmanitИ dal╧М aktualizace najdete +v~souborech \filename{ltnews} v~\OnCD{texmf-dist/doc/latex/base}. + +\item Je dodАn \cmdname{dvipng}, novЩ program pro konvertovАnМ \acro{DVI} na +\acro{PNG} obrazovИ soubory. Viz \OnCD{texmf/doc/man/man1/dvipng.1}. + +\item Zredukovali jsme balМk \pkgname{cbgreek} na \uv{stЬednЛ} velkou sadu fontЫ, se souhlasem a na radu autora (Claudio Beccari). +OdstranЛnИ fonty jsou neviditelnИ, obrysovИ, a prЫhlednИ, +relativnЛ zЬМdka se pou╬МvajМ a my jsme potЬebovali mМsto. +зplnА sada je dostupnА z~\acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item \cmdname{oxdvi} byl odebrАn; pou╬ijte jednodu╧e \cmdname{xdvi}. + +\item PЬМkazy \cmdname{ini} a \cmdname{vir} (linky) pro +\cmdname{tex}, \cmdname{mf} a \cmdname{mpost} se ji╬ nevytvАЬejМ, +napЬМklad \cmdname{initex}. FunkХnost instrukce \cmdname{ini} byla po +celА lИta pЬМstupna prostЬednictvМm volby \optname{-ini} na~pЬМkazovИm +ЬАdku. + +\item Podpora platformy \textsf{i386-openbsd} byla zru\v{s}ena. +Jeliko╬ balМХek \pkgname{tetex} v~\acro{BSD} Ports systИmu +je dostupnЩ a \acro{GNU/}Linux a Free\acro{BSD} binАrky byly +dostupnИ, zdАlo se nАm, ╬e Хas dobrovolnМkЫ mЫ╬e bЩt vyu╬it +lИpe nЛkde jinde. + +\item Na \textsf{sparc-solaris} (pЬinejmen╧Мm), jste mo╬nА +museli nastavovat promЛnnИ prostЬedМ +\envname{LD\_LIBRARY\_PATH}, aby bЛ╬ely programy \pkgname{t1utils}. +Je to tМm, ╬e jsou kompilovАny v~C++, +a neexistuje standardnМ umМstЛnМ \singleuv{runtime} knihoven. +(To nenМ novinka roku 2004, ale nebylo to dЬМv zdokumentovАno.) +PodobnЛ, na \textsf{mips-irix}, `runtime' knihovny pro \acro{MIPS} +7.4 jsou nezbytnИ. + +\end{itemize} + + +\subsection{Sou\v{c}asnost} +\label{tlcurrent} + +Rok 2005 pЬinesl jako obvykle mno╬stvМ modernizacМ balМХkЫ a programЫ. +Infrastruktura zЫstala relativnЛ stabilnМ z~roku 2004, ale nutnЛ takИ +nastaly nЛjakИ zmЛny: + +\begin{itemize} + +\item Byly zavedeny novИ skripty \cmdname{texconfig-sys}, \cmdname{updmap-sys} a + \cmdname{fmtutil-sys}, kterИ mЛnМ konfiguraci v~systИmovЩch stromech. + Skripty \cmdname{texconfig}, + \cmdname{updmap} a \cmdname{fmtutil} teО mЛnМ u╬ivatelskИ (user-specific) soubory + v~\dirname{$HOME/.texlive2005}. + Viz sekci~\ref{sec:texconfig} na strАnce \pageref{sec:texconfig}. + +\item Na specifikaci stromЫ obsahujМcМch konfiguraХnМ soubory (u╬ivatelskИ resp. systИmovИ) + byly zavedeny odpovМdajМcМ novИ promЛnnИ \envname{TEXMFCONFIG} resp. + \envname{TEXMFSYSCONFIG}. Tedy, mo╬nА budete potЬebovat pЬesunout osobnМ verze + souborЫ \filename{fmtutil.cnf} a \filename{updmap.cfg} na tyto mМsta; jinА volba je + pЬedefinovАnМ \envname{TEXMFCONFIG} nebo \envname{TEXMFSYSCONFIG} v~souboru + \filename{texmf.cnf}. V~ka╬dИm pЬМpadЛ skuteХnА pozice tЛchto souborЫ a + hodnoty \envname{TEXMFCONFIG} a \envname{TEXMFSYSCONFIG} + se musejМ shodovat. Viz oddМl~\ref{sec:texmftrees}, + strana~\pageref{sec:texmftrees}. + +\item Loni jsme ponechali \verb|\pdfoutput| a jinИ primitivy nedefinovАny + pro vЩstup DVI, pЬesto╬e byl pou╬МvАn program \cmdname{pdfetex}. + Letos, jak jsme slМbili, jsme odstranili toto kompatibilitnМ + opatЬenМ. Tedy kdy╬ vА╧ dokument pou╬МvА \verb|\ifx\pdfoutput\undefined| + na testovАni, zda-li je vЩstup ve formАtu PDF, je nutnИ ho zmЛnit. MЫ╬ete + k~tomu pou╬Мt balМk \pkgname{ifpdf.sty} (kterЩ funguje + v~plain \TeX u i \LaTeX u), nebo pou╬Мt jeho logiku. + +\item Loni jsme zmЛnili vЛt╧inu formАtЫ tak, aby vypisovaly (8-bitovИ) znaky + tak jak jsou (viz pЬedchАzejМcМ sekci). NovЩ TCX soubor + \filename{empty.tcx} teО poskytuje jednodu╧╧М cestu k~dosa╬enМ + pЫvodnМho zАpisu \verb|^^| kdy╬ si tak budete pЬАt, jako v~pЬМpadЛ: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} + +\item NovЩ program \cmdname{dvipdfmx} je zaЬazen pro pЬevedenМ z~DVI do PDF; +ten je platnou aktualizacМ programu + \cmdname{dvipdfm} (kterЩ je tИ╬ je╧tЛ k~dispozici, i kdy╬ ho nedoporuХujeme). + +\item NovИ programy \cmdname{pdfopen} a \cmdname{pdfclose} byly pЬidАny, aby +poskytly mo╬nost znovu otevЬМt pdf +soubory v~programe Adobe Acrobat Reader bez jeho restartu. + (JinИ prohlМ╬eХe pdf, pЬedev╧Мm \cmdname{xpdf}, + \cmdname{gv} a \cmdname{gsview}, nikdy netrpЛly tМmto problИmem.) + +\item KvЫli dЫslednosti promЛnnИ \envname{HOMETEXMF} a + \envname{VARTEXMF} byly pЬejmenovАny na \envname{TEXMFHOME} resp. na + \envname{TEXMFSYSVAR}. Je tu takИ \envname{TEXMFVAR}, kterА je + implicitnЛ u╬ivatelsky zАvislА (user-specific). Viz prvnМ bod vЩ╧e. +\end{itemize} + + +\subsection{Budoucnost} + +\emph{\TL{} nenМ dokonalЩ!} A~nikdy nebude. MАme v~Зmyslu +pokraХovat v~pravidelnЩch roХnМch vydАnМch a rАdi bychom poskytovali +vМce podpЫrnЩch materiАlЫ, programЫ, vХetnЛ instalaХnМch a jistЛ╬e +aktualizovanЩ a zkontrolovanЩ strom maker a fontЫ. Tato prАce je +provАdЛna dobrovolnМky v~jejich limitovanИm volnИm Хase a mnoho +potЬebnИho je╧tЛ zbЩvА udЛlat. Pokud mЫ╬ete pЬilo╬it ruku k~dМlu, +nevАhejte zvednout ruku! + +ProsМme, po╧lete opravy, nАvrhy, nАmЛty a nabМdky pomoci na:\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{╘╩\kern-.4ptastnИ \TeX ovАnМ!} + +\end{document} diff --git a/Master/texmf-doc/source/czechslovak/texlive-cz/live4ht.cfg b/Master/texmf-doc/source/czechslovak/texlive-cz/live4ht.cfg new file mode 100644 index 00000000000..3fa6506696b --- /dev/null +++ b/Master/texmf-doc/source/czechslovak/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/source/english/tex-refs/AUTHORS b/Master/texmf-doc/source/english/tex-refs/AUTHORS new file mode 100644 index 00000000000..626accbf6c4 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/AUTHORS @@ -0,0 +1,7 @@ +AUTHORS file for tex-refs +========================= + +Michael Wiedmann <mw@miwie.in-berlin.de> + +-- +$Id: AUTHORS 123 2004-03-26 20:25:26Z mw $ diff --git a/Master/texmf-doc/source/english/tex-refs/Makefile b/Master/texmf-doc/source/english/tex-refs/Makefile new file mode 100644 index 00000000000..61a4dcf2b41 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/Makefile @@ -0,0 +1,190 @@ +# Makefile for tex-refs +# +# $Id: Makefile 146 2005-05-14 15:34:22Z mw $ + +PROJECT=tex-refs +VERSION = 0.3.9 +TITLE="Ref. for TeX and Friends" + +DISTDIR = $(PROJECT)-$(VERSION) + +SRC_FILES=$(PROJECT)-xinclude.xml $(PROJECT)-chapter*.xml \ + $(PROJECT).ent $(PROJECT)-local.mapping.xml + +MOD_XSL_FILES = db2latex-mw-table.xsl \ + db2latex-mw-variablelist.xsl \ + db2latex-mw-itemizedlist.xsl + +DIST_FILES=$(SRC_FILES) GFDL README AUTHORS TODO RELEASE-NEWS THANKS \ + $(PROJECT).css $(PROJECT)*.xsl $(MOD_XSL_FILES) \ + catalog.xml $(PROJECT).ist Makefile + +OUT_FILES = $(PROJECT).html html $(PROJECT).css $(PROJECT).txt \ + $(PROJECT)-plucker.pdb $(PROJECT).pdf + +CLEAN_FILES = $(PROJECT).html $(PROJECT).txt $(PROJECT).pdf \ + $(PROJECT).chm $(PROJECT)-plucker.pdb html/* \ + $(PROJECT)-plucker-input.html \ + $(PROJECT).tex $(PROJECT).ind $(PROJECT).ilg \ + $(PROJECT).glo $(PROJECT).toc $(PROJECT).out \ + $(PROJECT).idx $(PROJECT).aux $(PROJECT).log + +TAR = tar +GZIP = --best + +# name and options to 'xsltproc' +XSLTPROC=xsltproc +XSLTPROC_OPTS=--nonet #--verbose + +CHUNKDIR = html + +TIDY=tidy +TIDY_OPTS=-mq --show-warnings false + +# XSL file to generate non-chunked HTML +XSLFILE=$(PROJECT).xsl + +# XSL file to generate HTML for plucker +XSLPLUCKERFILE=$(PROJECT)-plucker.xsl + +# XSL file to generate chunked HTML +XSLCHUNKFILE=$(PROJECT)-chunk.xsl + +# XSL file with commoin customizations +XSLCOMMONFILE=$(PROJECT)-common.xsl + +PDFLATEX=pdflatex +PDFLATEX_OPTS=-interaction=nonstopmode + +PDFOPT=pdfopt-afpl + +MAKEINDEX=makeindex + +# XSL file for DB2LateX +XSLPDFFILE=$(PROJECT)-pdf.xsl + +##### + +%.txt : %.html + @# w3m wraps words like '\something' at the '\' + @# w3m -dump -cols 72 $< > $@ + lynx -nolist -dump -width=72 $< > $@ + @# discard 'Index', it makes no sense in TXT output + sed -e '/^Index/,$$d' \ + $@ > x.tmp && mv x.tmp $@ + +##### + +# default target +all: $(PROJECT).html chunk-html $(PROJECT).pdf $(PROJECT).txt \ + $(PROJECT)-plucker.pdb + +# make master document +$(PROJECT).xml: $(SRC_FILES) Makefile $(PROJECT)-local.mapping.xml + xmllint --nonet --output $@ --xinclude $(PROJECT)-xinclude.xml + +# HTML related targets +$(PROJECT).html: $(PROJECT).xml $(XSLFILE) $(XSLCOMMONFILE) + $(XSLTPROC) $(XSLTPROC_OPTS) --output $@ $(XSLFILE) $< + -$(TIDY) $(TIDY_OPTS) $@ + +chunk-html: $(CHUNKDIR)/index.html + +$(CHUNKDIR)/index.html : $(PROJECT).xml $(XSLCHUNKFILE) $(XSLCOMMONFILE) + test -d $(CHUNKDIR) || mkdir $(CHUNKDIR) || exit 1 + $(RM) $(CHUNKDIR)/* + $(XSLTPROC) -o $(CHUNKDIR)/ $(XSLCHUNKFILE) $< + -(cd $(CHUNKDIR) && $(TIDY) $(TIDY_OPTS) *.html ) + +# ASCII +$(PROJECT).txt: $(PROJECT).html + +# PDF related targets +$(PROJECT).tex: $(PROJECT).xml $(XSLPDFFILE) $(MOD_XSL_FILES) + $(XSLTPROC) $(XSLTPROC_OPTS) --output $@ $(XSLPDFFILE) $< + +$(PROJECT).pdf: $(PROJECT).tex $(PROJECT).ist + $(RM) $(PROJECT).aux $(PROJECT).toc $(PROJECT).ind + $(PDFLATEX) $(PDFLATEX_OPTS) $< && \ + $(PDFLATEX) $(PDFLATEX_OPTS) $< && \ + ( test -s $(PROJECT).idx && \ + $(MAKEINDEX) -s $(PROJECT).ist $(PROJECT) || true ) && \ + $(PDFLATEX) $(PDFLATEX_OPTS) $< && \ + $(PDFOPT) $(PROJECT).pdf out.pdf && $(RM) $(PROJECT).pdf && \ + mv out.pdf $(PROJECT).pdf && \ + ls -l $(PROJECT).pdf + +# PDB related targets +# generate PDB file for Palm reader 'plucker' +# we generate a separate HTML file for plucker first, because +# we cannot use the xhtml stylesheets and so have to provide a +# separate XSL stylesheet file +$(PROJECT)-plucker-input.html: $(PROJECT).xml $(XSLPLUCKERFILE) $(XSLCOMMONFILE) + $(XSLTPROC) -o $@ $(XSLPLUCKERFILE) $< + +$(PROJECT)-plucker.pdb: $(PROJECT)-plucker-input.html + plucker-build \ + --stayonhost \ + --zlib-compression \ + --doc-file=$(PWD)/$(PROJECT)-plucker \ + --doc-name=$(TITLE) \ + --exclusion-list=$(PROJECT)-plucker-exclude.txt \ + --noimages $(PROJECT)-plucker-input.html + + +# local "enhancements" +ifeq "$(wildcard Makefile.miwie)" "Makefile.miwie" +include Makefile.miwie +endif + +targets: + @echo "Most important targets:" + @echo + @echo "all generate all available output formats" + @echo + @echo "$(PROJECT).html generate $(PROJECT).html" + @echo "chunk-html generate chunked HTML output" + @echo "$(PROJECT).pdf generate $(PROJECT).pdf" + @echo "$(PROJECT).txt generate $(PROJECT).txt" + @echo + @echo "clean remove generated files" + @echo "dist create tarball with source files" + + +outfiles: + -rm -fr $(PROJECT)-out-$(VERSION).tar.gz + -rm -fr $(PROJECT)-out-$(VERSION).tar.bz2 + GZIP=$(GZIP) $(TAR) chozf $(PROJECT)-out-$(VERSION).tar.gz $(OUT_FILES) + $(TAR) chojf $(PROJECT)-out-$(VERSION).tar.bz2 $(OUT_FILES) + ls -l $(PROJECT)-out-$(VERSION).tar.gz + ls -l $(PROJECT)-out-$(VERSION).tar.bz2 + +install: + @echo "Nothing to install..." + +uninstall: + @echo "Nothing to uninstall..." + +clean: + $(RM) $(CLEAN_FILES) + +distclean: clean + +dist: distdir + @-chmod -R a+r $(DISTDIR) + @GZIP=$(GZIP) $(TAR) chozf $(DISTDIR).tar.gz $(DISTDIR) + @$(TAR) chojf $(DISTDIR).tar.bz2 $(DISTDIR) + ls -l $(DISTDIR).tar.gz + ls -l $(DISTDIR).tar.bz2 + ls -l $(PROJECT)-src.zip + @-rm -rf $(DISTDIR) + +distdir: $(DIST_FILES) + @-rm -rf $(DISTDIR) + @mkdir $(DISTDIR) + @-chmod 777 $(DISTDIR) + @for file in $(DIST_FILES); do \ + test -f $(DISTDIR)/$$file \ + || ln ./$$file $(DISTDIR)/$$file 2> /dev/null \ + || cp -p ./$$file $(DISTDIR)/$$file; \ + done diff --git a/Master/texmf-doc/source/english/tex-refs/README b/Master/texmf-doc/source/english/tex-refs/README new file mode 100644 index 00000000000..90313b718a6 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/README @@ -0,0 +1,61 @@ +README file for tex-refs +======================== + +$Id: README 146 2005-05-14 15:34:22Z mw $ + +This file contains very brief instructions on how to build the +various output formats (in case you want to do this yourself for +some reason or just want to see how we handle all the 'magic'). + + +Where to find +------------- + +You'll find the latest version of 'tex-refs' at +http://www.miwie.org/tex-refs/ + + +Requirements +------------ + +- DocBook XML V4.3 + Your Linux distribution should provide an up-to-date package for this. + +- DocBook XSL Stylesheets (V1.68.1 as of this writing) + Your Linux distribution should provide a package for this. + If you only find an older version, try it or get the tarball + from ╩http://sourceforge.net/projects/docbook/╚, install it + at some place and adjust some pathnames in Makefile.cfg.in + +- XSLT processor + At least ╩xsltproc╚ from libxslt/libxml2, and ╩Saxon╚ should work. + +- make + Should already be installed on your system + +- db2latex (http://db2latex.sourceforge.net) + If you want to generate PDF output you'll need this + + +Usage +----- +- Use the "catalog.xml" file as a hint how to setup your own + XML catalog or edit the XSL files to use absolute pathnames. + +- Run 'make targets' + This lists the most important targets of the Makefile + +- Run 'make' + This will generate all currently supported output files + +- Read over 'Makefile' if you want to know more details + + +Contact +------- + +Contact the authors if you have any suggestions, enhancements, +corrections, etc. Your contribution is very welcome. + +-- +Michael Wiedmann <mw@miwie.in-berlin.de> diff --git a/Master/texmf-doc/source/english/tex-refs/RELEASE-NEWS b/Master/texmf-doc/source/english/tex-refs/RELEASE-NEWS new file mode 100644 index 00000000000..53ad3a27536 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/RELEASE-NEWS @@ -0,0 +1,120 @@ +$Id: RELEASE-NEWS 146 2005-05-14 15:34:22Z mw $ + +V0.3.9 050514: +- Consistent naming scheme of IDs to ease the use of + this reference for other projects +- Added new section "float" in chapter "LaTeX" + +V0.3.8 041029: +- Minor changes in "\maketitle" + +V0.3.7 040826: +- Corrected typos and markup errors in chapter "BibTeX" +- Switched to DocBook XML V4.3 +- Added new section "Options" in chapter "LaTeX" + +V0.3.6 040621: +- Added a note in chapter "LaTeX" with the copyright + and permission notice of the original file "latex2.texi" +- Corrected typos and added missing hyperlinks + in chapter xindy +- PDF file optimized/linearized and some finetuning + +V0.3.5 040501: +- Added content to chapters Metapost and pdfTeX +- Enhanced index for chapter MakeIndex + +V0.3.4 040424: +- Added missing entries to chapter MakeIndex +- Version control system changed from CVS to SVN + +V0.3.3 040126: +- Corrected again section "Output Style Specifiers" and + "Input Style Specifiers" of chapter "MakeIndex" +- Corrected some symbols in the index + +V0.3.2 040116: +- corrected sections "Output Style Specifiers" and + "Input Style Specifiers" of chapter "MakeIndex" +- enhanced index in PDF + +V0.3.1 040105: +- more work on PDF +- modularized XSL stylesheet files + +V0.3.0 031225: +- document root changed to book +- more work on PDF + +V0.2.6 031027: +- rearranged appendix +- work on PDF version + +V0.2.5 031017: +- added GNU FDL in appendix +- using new XSL stylesheets V1.62.4 +- switched to xsltproc as XSLT-processor +- reedited some deeply nested sections + +V0.2.4 030906: +- added subsection dcolumn +- subsection fontenc translated into english +- corrected typo in \sbox + +V0.2.3 030412: +- provide PDF output file +- reedited (beautified) sections LaTeX / Commands / + Counters | Cross References | Definitions | Layout | + Environments | Footnotes + +V0.2.2 030126: +- add bzip2 compressed version of source and outfiles tarball +- new XSL stylesheets V1.60.1 +- eliminated morespurious &Circ; characters + +V0.2.1 030118: +- new XSL stylesheets V1.59.2 +- eliminated spurious &Circ; characters + +V0.2.0 030111: +- license changed to GNU FDL +- reworked subsection 'inputenc' +- added subscetion 'Commands and Parameters' to section 'PSTricks' + +V0.1.3 021017: +- start rework on 'KOMA-Script' section +- added subsection 'List of Additional PSTricks packages' +- using new XSL stylesheets V1.56.1 + +V0.1.2 021001: +- reworked 'hyperref' section + +V0.1.1 020919: +- added template sections for 'PiCTeX' and 'Texinfo' +- using new XSL stylesheets V1.55.0 +- added missing CSS file to outfiles tarball +- corrected wrong FPI + +V0.1.0 020820: +- eliminated trailing '.' in numbered sections +- minor markup errors corrected +- reworked CSS file + +V0.0.5 020810: +- Switched to DocBook XML 4.2 +- Sections 'Bibindex' and 'xindy' finished + +V0.0.4 020725: +- Section 'Makeindex' finished + +V0.0.3 020713: +- New XSL stylesheets solve bug in creating index (no other changes) + +V0.0.2 020705: +- New (template) sections 'fontinst', 'Bibtex', 'Makeindex', and 'xindy' +- New section 'Special Symbols' +- Added information for 'german' package +- Registered as a new project (tex-refs) on freshmeat.net + +V0.0.1 020621: +- first official announcement diff --git a/Master/texmf-doc/source/english/tex-refs/THANKS b/Master/texmf-doc/source/english/tex-refs/THANKS new file mode 100644 index 00000000000..639a870c295 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/THANKS @@ -0,0 +1,21 @@ +THANKS file for tex-refs +======================== + +$Id: THANKS 142 2004-10-24 15:13:24Z mw $ + +The following people have contributed substantial parts to +this documentation project or helped in some other way: + +Karl Berry +Wolfgang Borgert +Ramon Casellas +James Devenish +Peter Karp +Werner Lemberg +Rolf Niepraschk +Simon Pepping +Bob Stayton +Herbert Voss + +-- +Michael Wiedmann <mw@miwie.in-berlin.de> diff --git a/Master/texmf-doc/source/english/tex-refs/TODO b/Master/texmf-doc/source/english/tex-refs/TODO new file mode 100644 index 00000000000..e4b15490e1f --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/TODO @@ -0,0 +1,35 @@ +TODO file for tex-refs +====================== + +$Id: TODO 142 2004-10-24 15:13:24Z mw $ + +- Add more content + There are still a lot of sections without content. + Any input will be appreciated. + +- Provide conversion to vim-help + Information about the - very simple format - is available. + Contact Michael Wiedmann <mw@miwie.in-berlin.de> for more + information on this topic. + It will be necessary to generate multiple output files, + maybe on the first section level. At least ╩Saxon╚ and + ╩xsltproc╚ can do this. Look at 'html/chunk.xsl' of the + DocBook XSL Stylesheets to find a starting point. + +- Provide conversion to Texinfo + There is a Perl script package (docbook2X-0.8.2) at sourceforge + which should do the job. Unfortunately the available package for + Debian/GNU Linux is rather old (0.5.1) and fails with our document. + My first tests using the actual version from source were _not_ + successful. I contacted the author Steve Cheng and he promised + to have a look at my reported problems. Unfortunately I didn't + hear anything from him again since then. + +- Proofread content + +- Enhance CSS file +-- +Michael Wiedmann <mw@miwie.in-berlin.de> + + + diff --git a/Master/texmf-doc/source/english/tex-refs/catalog.xml b/Master/texmf-doc/source/english/tex-refs/catalog.xml new file mode 100644 index 00000000000..c3daf329206 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/catalog.xml @@ -0,0 +1,27 @@ +<!-- + Use this as an example how to setup an XML catalog for DocBook XML, + DocBook XSL, and DB2LaTeX XSL. Don't forget to tell your XSLT + processor to use XML catalogs. + + $Id: catalog.xml 120 2004-03-26 20:19:43Z mw $ +--> + +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> + + <public publicId="-//OASIS//DTD DocBook XML V4.2//EN" + uri="file:///var/share/xml/docbook/schema/dtd/4.2/docbookx.dtd"/> + + <system systemId="db2latex.xsl" + uri="file:///usr/share/sgml/docbook/stylesheet/xsl/db2latex/latex/docbook.xsl"/> + + <system systemId="docbook-xhtml.xsl" + uri="file:///usr/share/xml/docbook/stylesheet/nwalsh/xhtml/docbook.xsl"/> + + <system systemId="docbook-html.xsl" + uri="file:///usr/share/xml/docbook/stylesheet/nwalsh/html/docbook.xsl"/> + + <system systemId="docbook-html-chunk.xsl" + uri="file:///usr/share/xml/docbook/stylesheet/nwalsh/html/chunk.xsl"/> + +</catalog> + diff --git a/Master/texmf-doc/source/english/tex-refs/db2latex-mw-itemizedlist.xsl b/Master/texmf-doc/source/english/tex-refs/db2latex-mw-itemizedlist.xsl new file mode 100644 index 00000000000..8e12fd8946a --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/db2latex-mw-itemizedlist.xsl @@ -0,0 +1,71 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!--#################################################################### + | $Id: db2latex-mw-itemizedlist.xsl 125 2004-04-06 19:55:32Z mw $ + | $Author: mw $ + + ################################################################# --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc" version="1.0"> + + <!-- DOCUMENTATION --> + <doc:reference id="itemizedlists" xmlns=""> + <referenceinfo> + <releaseinfo role="meta"> + $Id: db2latex-mw-itemizedlist.xsl 125 2004-04-06 19:55:32Z mw $ + </releaseinfo> + <authorgroup> + <author><firstname>Michael</firstname> <surname>Wiedmann</surname></author> + </authorgroup> + <copyright> + <year>2004</year> + <holder>Michael Wiedmann</holder> + </copyright> + </referenceinfo> + + <title>Lists <filename>db2latex-mw-itemizedlist.xsl</filename></title> + <partintro> + <section> + <title>Introduction</title> + <para>Especially for itemizedlist which contain only short lines + of text LaTeX's default vertical space between items is IMHO + too excessive. <filename>mdwlist.sty</filename> provides + "compacted itemize environments" with less vertical space + between items. + </para> + <para> + If the "spacing" attribute of the "itemizedlist" element + contains "compact" we use these modified itemize + environments instead of the standard LaTeX ones. + </para> + <para>Ensure that "\usepackage{mdwlist}" is output + somewhere in your stylesheets. + </para> + </section> + </partintro> + </doc:reference> + + <xsl:output method="text" encoding="ISO-8859-1" indent="yes"/> + + <xsl:template match="itemizedlist"> + <xsl:if test="title"><xsl:apply-templates select="title"/></xsl:if> + <xsl:choose> + <xsl:when test="@spacing='compact'"> + <xsl:text> \begin{itemize*}</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> \begin{itemize}</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="listitem"/> + <xsl:choose> + <xsl:when test="@spacing='compact'"> + <xsl:text> \end{itemize*}</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> \end{itemize}</xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/tex-refs/db2latex-mw-table.xsl b/Master/texmf-doc/source/english/tex-refs/db2latex-mw-table.xsl new file mode 100644 index 00000000000..a76f7886e6c --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/db2latex-mw-table.xsl @@ -0,0 +1,288 @@ +<?xml version='1.0'?> +<!--#################################################################### + | $Id: db2latex-mw-table.xsl 120 2004-03-26 20:19:43Z mw $ + | $Author: mw $ + + ################################################################# --> + + +<xsl:stylesheet + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc" version='1.0'> + + <xsl:template name="table.format.tabularx"> + <xsl:param name="cols" select="1"/> + <xsl:param name="i" select="1"/> + <xsl:param name="colsep" select="1"/> + <!-- sum of numeric portions in 1*-like colwidths --> + <xsl:param name="starfactor" select="0"/> + <xsl:choose> + <!-- Out of the recursive iteration --> + <xsl:when test="$i > $cols"></xsl:when> + <!-- There are still columns to count --> + <xsl:otherwise> + <xsl:variable name="userwidth"> + <xsl:choose> + <xsl:when test="./colspec[@colnum=$i]"> + <xsl:value-of select="./colspec[@colnum=$i]/@colwidth"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="./colspec[position()=$i]/@colwidth"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="useralign"> + <xsl:choose> + <xsl:when test="./colspec[@colnum=$i]"> + <xsl:value-of select="./colspec[@colnum=$i]/@align"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="./colspec[position()=$i]/@align"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:variable name="width"> + <xsl:variable name="cells" select="thead/row/entry[$i]|tbody/row/entry[$i]"/> + <xsl:choose> + <xsl:when test="string-length($userwidth)=0 and count($cells//itemizedlist|$cells//orderedlist|$cells//variablelist)>0"> + <!-- In these specific circumstances, we MUST use a line-wrapped column + and yet the user hasn't specified one. --> + <xsl:value-of select="'1*'"/> + </xsl:when> + <xsl:otherwise> + <!-- In the general case, we just do what the user wants (may even + have no pre-specified width). --> + <xsl:value-of select="$userwidth"/> + </xsl:otherwise> + </xsl:choose> +</xsl:variable> +<!-- Try to take heed of colspecs --> +<xsl:choose> + <xsl:when test="$width!=''"> + <xsl:text>>{</xsl:text> + <xsl:if test="contains($width,'*')"> + <!-- see tabularx documentation --> + <xsl:text>\hsize=</xsl:text> + <xsl:value-of select="substring-before($width,'*') * $starfactor" /> + <xsl:text>\hsize</xsl:text> + </xsl:if> + <xsl:choose> + <xsl:when test="$useralign='left'"><xsl:text>\RaggedRight</xsl:text></xsl:when> + <xsl:when test="$useralign='right'"><xsl:text>\RaggedLeft</xsl:text></xsl:when> + <xsl:when test="$useralign='center'"><xsl:text>\Centering</xsl:text></xsl:when> + <xsl:when test="$useralign='char' and $latex.use.dcolumn='1'"> + <xsl:variable name="char" select="(./colspec[@colnum=$i]/@char|./colspec[position()=$i]/@char)[1]"/> + <xsl:choose> + <xsl:when test="$char=''"><xsl:text>d</xsl:text></xsl:when> + <xsl:otherwise>D{<xsl:value-of select="$char"/>}{<xsl:value-of select="$char"/>}{-1}</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:when test="$useralign!=''"><xsl:message>Table column '<xsl:value-of select="$useralign"/>' alignment is not supported.</xsl:message></xsl:when> + </xsl:choose> + <xsl:text>}</xsl:text> + <xsl:choose> + <xsl:when test="contains($width,'*')"> + <xsl:text>X</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>p{</xsl:text><xsl:value-of select="$width" /><xsl:text>}</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="$i<$cols and $colsep='1'"> + <xsl:text>|</xsl:text> + </xsl:if> + </xsl:when> + <xsl:otherwise> + <xsl:choose> + <xsl:when test="$useralign='left'"><xsl:text>l</xsl:text></xsl:when> + <xsl:when test="$useralign='right'"><xsl:text>r</xsl:text></xsl:when> + <xsl:when test="$useralign='center'"><xsl:text>c</xsl:text></xsl:when> + <xsl:when test="$useralign='justify'"><xsl:text>X</xsl:text></xsl:when> + <xsl:when test="$useralign='char' and $latex.use.dcolumn='1'"> + <xsl:variable name="char" select="(./colspec[@colnum=$i]/@char|./colspec[position()=$i]/@char)[1]"/> + <xsl:choose> + <xsl:when test="$char=''"><xsl:text>d</xsl:text></xsl:when> + <xsl:otherwise>D{<xsl:value-of select="$char"/>}{<xsl:value-of select="$char"/>}{-1}</xsl:otherwise> + </xsl:choose> + </xsl:when> + <xsl:otherwise> + <xsl:text>c</xsl:text> + <xsl:if test="$useralign!=''"> + <xsl:message>Table column '<xsl:value-of select="$useralign"/>' alignment is not supported.</xsl:message> + </xsl:if> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="$i<$cols and $colsep='1'"> + <xsl:text>|</xsl:text> + </xsl:if> + </xsl:otherwise> +</xsl:choose> +<!-- Recursive for next column --> +<xsl:call-template name="table.format.tabularx"> + <xsl:with-param name="i" select="$i+1"/> + <!-- Added by MW, 2003-10-19 --> + <xsl:with-param name="colsep" select="$colsep"/> + <xsl:with-param name="cols" select="$cols"/> + <xsl:with-param name="starfactor" select="$starfactor"/> +</xsl:call-template> +</xsl:otherwise> +</xsl:choose> +</xsl:template> + + + +<xsl:template match="tgroup"> + <xsl:variable name="align" select="@align"/> + +<!-- Changed by MW, 2003-10-19 --> +<xsl:variable name="colsep"> + <xsl:choose> + <xsl:when test="string-length(@colsep)<1">0</xsl:when> + <xsl:otherwise> + <xsl:value-of select="@colsep"/> + </xsl:otherwise> + </xsl:choose> +</xsl:variable> + +<xsl:variable name="frame"> + <xsl:choose> + <xsl:when test="string-length(../@frame)<1">all</xsl:when> + <xsl:otherwise> + <xsl:value-of select="../@frame"/> + </xsl:otherwise> + </xsl:choose> +</xsl:variable> +<xsl:variable name="colspecs" select="./colspec"/> +<xsl:variable name="usex"> + <xsl:choose> + <xsl:when test="$latex.use.ltxtable='1'"> + <xsl:text>0</xsl:text> + </xsl:when> + <!-- if there are lists within cells, we need tabularx --> + <xsl:when test="$latex.use.tabularx=1 and (descendant::itemizedlist|descendant::orderedlist|descendant::variablelist)"> + <xsl:text>1</xsl:text> + </xsl:when> +<!-- if there are instances of 1*-style colwidths, we need tabularx --> +<xsl:when test="$latex.use.tabularx=1 and contains(colspec/@colwidth,'*')"> + <xsl:text>1</xsl:text> +</xsl:when> +<!-- if there are colspecs with 'justify' alignment and no explicit width, we need tabularx --> +<xsl:when test="$latex.use.tabularx=1 and count(colspec[@align='justify'])>0"> + <xsl:text>1</xsl:text> +</xsl:when> +<xsl:otherwise> + <xsl:text>0</xsl:text> +</xsl:otherwise> +</xsl:choose> +</xsl:variable> +<xsl:variable name="useminipage"> +<!-- Hack to get around LaTeX issue with tabular (not necessary with tabularx). + This is NOT a good solution, and has problems of its own, but at least the footnotes + do not actually disappear (which is what would otherwise happen). --> +<xsl:if test="count(.//footnote)!=0">1</xsl:if> +</xsl:variable> +<xsl:choose> + <xsl:when test="$usex='1'"> + <xsl:text>\begin{tabularx}{\linewidth}{</xsl:text> + </xsl:when> + <xsl:when test="$latex.use.ltxtable='1'"> + <xsl:text>\begin{longtable}{</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:if test="$useminipage='1'"><xsl:text>\begin{minipage}{\linewidth} </xsl:text></xsl:if> + <xsl:text>\begin{tabular}{</xsl:text> + </xsl:otherwise> +</xsl:choose> +<xsl:if test="$frame='all' or $frame='sides'"> + <xsl:text>|</xsl:text> +</xsl:if> +<xsl:variable name="cols"> + <xsl:choose> + <xsl:when test="@cols"> + <xsl:value-of select="@cols"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="count(tbody/row[1]/entry)"/> + <xsl:message>Warning: table lacks cols attribute. Assuming <xsl:value-of select="count(tbody/row[1]/entry)"/>.</xsl:message> + </xsl:otherwise> + </xsl:choose> +</xsl:variable> +<xsl:choose> + <xsl:when test="$usex=1"> + <xsl:call-template name="table.format.tabularx"> + <xsl:with-param name="cols" select="$cols"/> + <!-- Changed by MW, 2003-10-19 --> + <xsl:with-param name="colsep" select="$colsep"/> + <xsl:with-param name="starfactor"> + <xsl:call-template name="generate.starfactor"> + <xsl:with-param name="cols" select="$cols"/> + </xsl:call-template> + </xsl:with-param> + </xsl:call-template> +</xsl:when> +<xsl:otherwise> + <xsl:call-template name="table.format.tabular"> + <xsl:with-param name="cols" select="$cols"/> + </xsl:call-template> +</xsl:otherwise> +</xsl:choose> +<xsl:if test="$frame='all' or $frame='sides'"> + <xsl:text>|</xsl:text> +</xsl:if> +<xsl:text>} </xsl:text> +<xsl:if test="$frame!='sides' and $frame!='none' and $frame!='bottom'"> + <xsl:text>\hline </xsl:text> +</xsl:if> +<!-- APPLY TEMPLATES --> +<xsl:choose> + <xsl:when test="$latex.use.ltxtable='1'"> + <xsl:apply-templates select="thead"/> + <xsl:apply-templates select="tfoot"/> + <xsl:apply-templates select="tbody"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="thead"/> + <xsl:apply-templates select="tbody"/> + <xsl:apply-templates select="tfoot"/> + </xsl:otherwise> +</xsl:choose> +<!-- --> +<xsl:if test="$frame!='sides' and $frame!='none' and $frame!='top'"> + <xsl:text>\hline </xsl:text> +</xsl:if> +<xsl:choose> + <xsl:when test="$usex=1"> + <xsl:text>\end{tabularx} </xsl:text> + </xsl:when> + <xsl:when test="$latex.use.ltxtable='1'"> + <xsl:text>\end{longtable} </xsl:text> + <!-- catcode touchup ARGH --> + <xsl:call-template name="generate.latex.cell.separator"> + <xsl:with-param name="which" select="'post'"/> + </xsl:call-template> +</xsl:when> +<xsl:otherwise> + <xsl:text>\end{tabular} </xsl:text> + <xsl:if test="$useminipage='1'"><xsl:text>\end{minipage} </xsl:text></xsl:if> +</xsl:otherwise> +</xsl:choose> +</xsl:template> + +<!-- this lets us specify vertical space between rows --> +<xsl:template match="tbody/row"> + <xsl:apply-templates/> + <xsl:text> \tabularnewline</xsl:text> + <xsl:if test="contains(@role,'db2latex:rowvspace')"> + <!-- FIXME: let user specify amount of vert. spcace --> + <xsl:text>[1ex]</xsl:text> + </xsl:if> + <xsl:text> </xsl:text> + <xsl:call-template name="generate.table.row.separator"/> +</xsl:template> + +<xsl:template name="table.row.separator"> + <xsl:text> </xsl:text> +</xsl:template> + + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/tex-refs/db2latex-mw-variablelist.xsl b/Master/texmf-doc/source/english/tex-refs/db2latex-mw-variablelist.xsl new file mode 100644 index 00000000000..f81e32eef78 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/db2latex-mw-variablelist.xsl @@ -0,0 +1,155 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<!--#################################################################### + | $Id: db2latex-mw-variablelist.xsl 146 2005-05-14 15:34:22Z mw $ + | $Author: mw $ + + ################################################################# --> + +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + xmlns:doc="http://nwalsh.com/xsl/documentation/1.0" + exclude-result-prefixes="doc" version="1.0"> + + <!-- DOCUMENTATION --> + <doc:reference id="variablelists" xmlns=""> + <referenceinfo> + <releaseinfo role="meta"> + $Id: db2latex-mw-variablelist.xsl 146 2005-05-14 15:34:22Z mw $ + </releaseinfo> + <authorgroup> + <author><firstname>Michael</firstname> <surname>Wiedmann</surname></author> + </authorgroup> + <copyright> + <year>2004</year> + <holder>Michael Wiedmann</holder> + </copyright> + </referenceinfo> + + <title>Lists <filename>db2latex-mw-variablelist.xsl</filename></title> + <partintro> + <section> + <title>Introduction</title> + <para>This customization of "variablelist" depends on the usage + of one of KOMA document classes (scrbook, scrartcl, etc.). + You have to ensure that your stylesheets outputs a + corresponding line, like "\documentclass{scrXXXX}". + </para> + <itemizedlist> + <listitem> + <simpara>If the attribute 'role' contains + 'db2latex:multiterm' we use a 'parbox' for every + 'item'. Otherwise the item's could be too long to + fit on one line. + Use this if your list contains many 'term's. + </simpara> + </listitem> + <listitem> + <simpara>If the attribute 'role' contains + 'db2latex:nonoindent' we don't output '\noindent' + before the environment. + </simpara> + </listitem> + <listitem> + <simpara>If the 'role' attribute contains + 'db2latex:labeling' as value we use KOMA's + 'labeling' environment. + </simpara> + </listitem> + <listitem> + <simpara>If the attribute 'termlength' is + non-empty we use this numeric value as a hint + for 'labeling' for the width of the 'item's + (defaults to 5). + </simpara> + </listitem> + </itemizedlist> + </section> + </partintro> + </doc:reference> + + <xsl:output method="text" encoding="ISO-8859-1" indent="yes"/> + + <xsl:template match="variablelist"> + + <xsl:text>% MW: variablelist </xsl:text> + + <xsl:variable name="helpstring">123456789012345</xsl:variable> + <xsl:if test="title"> + <xsl:apply-templates select="title"/> + </xsl:if> + <xsl:text> </xsl:text> + <xsl:choose> + <xsl:when test="contains(@role,'db2latex:nonoindent')"> + <!-- noop --> + </xsl:when> + <xsl:otherwise> + <xsl:text>\noindent </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="contains(@role,'db2latex:labeling')"> + <xsl:text>\begin{labeling}{</xsl:text> + <xsl:choose> + <xsl:when test="@termlength!=''"> + <xsl:value-of select="substring($helpstring,1,number(@termlength))"/> + </xsl:when> + <xsl:otherwise> + <xsl:text>12345</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:text>} </xsl:text> + <xsl:apply-templates select="varlistentry"/> + <xsl:text>\end{labeling} </xsl:text> + </xsl:when> + <xsl:when test="contains(@role,'db2latex:compact')"> + <xsl:text>\begin{description*}</xsl:text> + <xsl:apply-templates select="varlistentry"/> + <xsl:text>\end{description*} </xsl:text> + </xsl:when> + <xsl:when test="contains(@role,'db2latex:multiterm')"> + <xsl:text>\begin{description}</xsl:text> + <xsl:apply-templates select="varlistentry"> + <xsl:with-param name="multiterm" select="1"/> + </xsl:apply-templates> + <xsl:text>\end{description} </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>\begin{description} </xsl:text> + <xsl:apply-templates select="varlistentry"/> + <xsl:text>\end{description} </xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template match="varlistentry"> + <xsl:text> % MW: varlistentry </xsl:text> + <!-- <xsl:variable name="id"> --> + <xsl:call-template name="label.id" /> + <!-- </xsl:variable> --> + <xsl:param name="multiterm" select="0" /> + <xsl:text> % MW: varlistentry after label.id </xsl:text> + <xsl:text>% \null is a trick </xsl:text> + <xsl:choose> + <xsl:when test="$multiterm > 0"> + <xsl:text>\item[{\parbox[b]{0.5\linewidth}{</xsl:text> + <xsl:for-each select="term"> + <xsl:apply-templates/> + <xsl:if test="position()!=last()"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text>}}]\null{}</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>\item[{</xsl:text> + <xsl:for-each select="term"> + <xsl:apply-templates/> + <xsl:if test="position()!=last()"> + <xsl:text>, </xsl:text> + </xsl:if> + </xsl:for-each> + <xsl:text>}]\null{}</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates select="listitem"/> + </xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-appendices.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-appendices.xml new file mode 100644 index 00000000000..c4312567875 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-appendices.xml @@ -0,0 +1,1011 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-chapter-appendices.xml 146 2005-05-14 15:34:22Z mw $ --> + +<appendix id="appendices" lang="en"> + <title id="appendices-title">Appendices</title> + + <section id="issues"> + <title id="known-issues-title">Bugs / Known Issues / Missing Features</title> + <indexterm> + <primary>Known Issues</primary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term>PDF</term> + <listitem> + <para> + The PDF file is an experimental version generated using + <ulink url="http://dblatex.sf.net">DB2&latex;</ulink>. + There is much room for improvements and we will work on + this. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Texinfo</term> + <listitem> + <para> + Currently we don't know any working solution to convert + DocBook XML to Texinfo (at least not for a complex + document). Anyone who wants to work on this issue is + highly welcome. A starting point could be the + <emphasis>docbook2X</emphasis> project at + <ulink url="http://docbook2x.sourceforge.net">http://docbook2x.sourceforge.net</ulink>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>vim-help</term> + <listitem> + <para> + Quite a few poeple are asking for a version in vim-help format. + <ulink url="mailto:srinath@eecs.berkeley.edu">Srinath Avadhanula</ulink> + has already done some work on this. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + + <section id="about"> + <title id="about-title">About this Document</title> + <indexterm> + <primary>About this Document</primary> + </indexterm> + <para>The source format of this document is + <ulink + url="http://www.oasis-open.org/committees/docbook/">&docbookxml;</ulink>. + </para> + <para>The various output formats were generated using: + <itemizedlist> + <listitem> + <simpara> + <ulink url="http://xmlsoft.org/XSLT/">&xsltp;</ulink> + as XSLT processor + </simpara> + </listitem> + <listitem> + <simpara> + <ulink + url="http://sourceforge.net/projects/docbook">&docbookxsl;</ulink> + for HTML + </simpara> + </listitem> + <listitem> + <simpara> + <ulink url="http://db2latex.sf.net/">&db2latex;</ulink> + for &latex;/PDF + </simpara> + </listitem> + <listitem> + <simpara> + <literal>&komabook;</literal> of + <ulink url="ftp://dante.ctan.org/tex-archive/macros/latex/contrib/koma-script/">&komascript;</ulink> + </simpara> + </listitem> + <listitem> + <simpara><ulink url="ftp://ftp.dante.de/tex-archive/fonts/ps-type1/lm/tex/latex/lm/">&lmodern;</ulink></simpara> + </listitem> + <listitem> + <simpara>&pdflatex; (3.14159-1.10b) for generating PDF output</simpara> + </listitem> + </itemizedlist> + </para> + <para>You'll always find the newest version of this document at + <ulink url="http://www.miwie.org/tex-refs/"> + http://www.miwie.org/tex-refs/</ulink>. + </para> + </section> + + <section id="release-news"> + <title>Release News</title> + + <variablelist role="db2latex:nonoindent;db2latex:labeling" + termlength="15"> + + <varlistentry> + <term>V&rev; &abbrdate;</term> + <listitem>tbd.</listitem> + </varlistentry> + + <varlistentry> + <term>V0.3.9 05-05-14</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem>Consistent naming scheme of IDs to ease the use + of this reference for other projects + </listitem> + <listitem>Added new section <link linkend="float">float</link> + in chapter <link linkend="latex">&latex;</link> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.3.8 04-10-28</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem>Minor changes in + <link linkend="page-styles">\maketitle</link></listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.3.7 04-08-26</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Corrected typos and markup errors in chapter + <link linkend="bibtex">&bibtex;</link></simpara> + </listitem> + <listitem> + <simpara>Switched to DocBook XML V4.3</simpara> + </listitem> + <listitem> + <simpara>Added new section + <link linkend="opt-latex">Options</link> in + chapter <link linkend="latex">&latex;</link></simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.3.6 04-06-21</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Added a note in chapter + <link linkend="latex">&latex;</link> with the + copyright and permission notice of the original file + <filename>latex2.texi</filename> + </simpara> + </listitem> + <listitem> + <simpara>Corrected typos and added missing hyperlinks + in chapter <link linkend="xindy">&xindy;</link></simpara> + </listitem> + <listitem> + <simpara>PDF file optimized/linearized and some + finetuning</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.3.5 04-05-01</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Added content to chapters + <link linkend="metapost">&metapost;</link> and + <link linkend="pdftex">&pdftex;</link> + </simpara> + </listitem> + <listitem> + <simpara>Enhanced index for chapter + <link linkend="metapost">&makeindex;</link> + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.3.4 04-04-24</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara> + Version control system changed from CVS to SVN + </simpara> + </listitem> + <listitem> + <simpara> + Added missing entries to chapter + <link linkend="makeindex">&makeindex;</link> + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.3.3 04-01-26</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Corrected again section + <link linkend="makeindex-output-style-specs">Output Style + Specifiers</link> and + <link linkend="makeindex-style">Input Style Specifiers</link> + of chapter + <link linkend="makeindex">&makeindex;</link> + </simpara> + </listitem> + <listitem> + <simpara>Corrected some symbols in the index + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.3.2 04-01-16</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Corrected sections + <link linkend="makeindex-output-style-specs">Output Style + Specifiers</link> and + <link linkend="makeindex-style">Input Style Specifiers</link> + of chapter + <link linkend="makeindex">&makeindex;</link> + </simpara> + </listitem> + <listitem> + <simpara>Enhanced index in PDF + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.3.1 04-01-06</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>More work on PDF</simpara> + </listitem> + <listitem> + <simpara>Modularized XSL stylesheet files</simpara> + </listitem> + <listitem> + <simpara>Corrected some typos</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.3.0 03-12-25</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Changed document root to + <emphasis>book</emphasis></simpara> + </listitem> + <listitem> + <simpara>More work on PDF version</simpara> + </listitem> + <listitem> + <simpara>Using new XSL stylesheets V1.64.1</simpara> + </listitem> + <listitem> + <simpara>Minor fixes</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.2.6 03-10-27</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Rearranged appendix</simpara> + </listitem> + <listitem> + <simpara>Work on PDF version</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.2.5 03-10-17</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Added contents of + <link linkend="gfdl">GNU FDL</link> in appendix + </simpara> + </listitem> + <listitem> + <simpara>Using new XSL stylesheets V1.62.4</simpara> + </listitem> + <listitem> + <simpara>Switched to + <ulink url="http://xmlsoft.org/XSLT/"><literal>xsltproc</literal></ulink> + as XSLT-processor + </simpara> + </listitem> + <listitem> + <simpara>Reedited some deeply nested sections</simpara> + </listitem> + <listitem> + <simpara>Changed colors in CSS</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.2.4 03-09-06</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Added subsection + <link linkend="dcolumn"><literal>dcolumn</literal></link> + </simpara> + </listitem> + <listitem> + <simpara>Subsection + <link linkend="fontenc"><literal>fontenc</literal></link> + translated into english + </simpara> + </listitem> + <listitem> + <simpara>Corrected typo in + <link linkend="cmd-sbox"><filename role="nohyphenation">\sbox</filename></link> + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.2.3 03-04-12</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Provide PDF output using <ulink url="http://www.pragma-ade.com/">&context;</ulink> and <ulink url="http://www.hobby.nl/~scaprea/context/index.html">&dic;</ulink> (still experimental) + </simpara> + </listitem> + <listitem> + <simpara>Reedited (beautified) sections LaTeX / Commands / <link linkend="counters">Counters</link> | <link linkend="cross-references">Cross References</link> | <link linkend="definitions">Definitions</link> | <link linkend="layout">Layout</link> | <link linkend="env-latex">Environments</link> | <link linkend="footnotes">Footnotes</link> + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.2.2 03-01-26</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Added bzip2 compressed version of source and + outfiles tarball + </simpara> + </listitem> + <listitem> + <simpara>Using new XSL stylesheets V1.60.1 + </simpara> + </listitem> + <listitem> + <simpara>Eliminated more spurious &Acirc; + characters in HTML output + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.2.1 03-01-18</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Using new XSL stylesheets V1.59.2</simpara> + </listitem> + <listitem> + <simpara>Eliminated spurious &Acirc; characters</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.2.0 03-01-11</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Using new XSL stylesheets V1.58.1</simpara> + </listitem> + <listitem> + <simpara>Minor changes to CSS file + </simpara> + </listitem> + <listitem> + <simpara>License changed to + <ulink url="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License</ulink> + </simpara> + </listitem> + <listitem> + <simpara>Added subsection + <link linkend="pstricks-commands">Commands and Parameters</link> + to section + <link linkend="pstricks">&pstricks;</link> + </simpara> + </listitem> + <listitem> + <simpara>Reworked <link + linkend="inputenc">inputenc</link> section + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.1.3 02-10-17</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara> + Started rework of + <link linkend="komascript">&komascript;</link> + section + </simpara> + </listitem> + <listitem> + <simpara>Added subsection + <link linkend="pstricks-add-packages"> + Additional &pstricks; Packages</link></simpara> + </listitem> + <listitem> + <simpara>Using new XSL stylesheets V1.56.1</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + <varlistentry> + <term>V0.1.2 02-10-01</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Reworked + <link linkend="hyperref">hyperref</link> + section + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.1.1 02-09-19</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Added template sections for + <link linkend="pictex">&pictex;</link> + and <link linkend="texinfo">&texinfo;</link> + </simpara> + </listitem> + <listitem> + <simpara>Added subsection + <link linkend="release-news">Release News</link> + in appendix + <link linkend="about">About this Document</link> + </simpara> + </listitem> + <listitem> + <simpara>Using new XSL stylesheets V1.55.0</simpara> + </listitem> + <listitem> + <simpara>Added missing CSS file to outfiles tarball</simpara> + </listitem> + <listitem> + <simpara>Corrected wrong FPI</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.1.0 02-08-20</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Eliminated trailing '.' in numbered sections</simpara> + </listitem> + <listitem> + <simpara>Minor markup errors corrected</simpara> + </listitem> + <listitem> + <simpara>Reworked CSS file</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.0.5 02-08-10</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Switched to DocBook XML 4.2</simpara> + </listitem> + <listitem> + <simpara>Sections 'Bibindex' and 'xindy' completed</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.0.4 02-07-25</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Section 'Makeindex' completed</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.0.3 02-07-13</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>New XSL stylesheets solve bug in creating + index (no other changes) + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.0.2 02-07-05</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>New (template) sections 'fontinst', 'Bibtex', + 'Makeindex', and 'xindy' + </simpara> + </listitem> + <listitem> + <simpara>New section 'Special Symbols'</simpara> + </listitem> + <listitem> + <simpara>Added information for 'german' package</simpara> + </listitem> + <listitem> + <simpara>Registered as a new project (tex-refs) + on freshmeat.net + </simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + + <varlistentry> + <term>V0.0.1 02-06-21</term> + <listitem> + <itemizedlist spacing="compact"> + <listitem> + <simpara>First official announcement</simpara> + </listitem> + </itemizedlist> + </listitem> + </varlistentry> + </variablelist> + + </section> + + <section id="gfdl"> + <title>GNU Free Documentation License</title> + <bridgehead>Version 1.2, November 2002</bridgehead> + +<programlisting role="normal"> + Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + +0. PREAMBLE + +The purpose of this License is to make a manual, textbook, or other +functional and useful document "free" in the sense of freedom: to +assure everyone the effective freedom to copy and redistribute it, +with or without modifying it, either commercially or noncommercially. +Secondarily, this License preserves for the author and publisher a way +to get credit for their work, while not being considered responsible +for modifications made by others. + +This License is a kind of "copyleft", which means that derivative +works of the document must themselves be free in the same sense. It +complements the GNU General Public License, which is a copyleft +license designed for free software. + +We have designed this License in order to use it for manuals for free +software, because free software needs free documentation: a free +program should come with manuals providing the same freedoms that the +software does. But this License is not limited to software manuals; +it can be used for any textual work, regardless of subject matter or +whether it is published as a printed book. We recommend this License +principally for works whose purpose is instruction or reference. + + +1. APPLICABILITY AND DEFINITIONS + +This License applies to any manual or other work, in any medium, that +contains a notice placed by the copyright holder saying it can be +distributed under the terms of this License. Such a notice grants a +world-wide, royalty-free license, unlimited in duration, to use that +work under the conditions stated herein. The "Document", below, +refers to any such manual or work. Any member of the public is a +licensee, and is addressed as "you". You accept the license if you +copy, modify or distribute the work in a way requiring permission +under copyright law. + +A "Modified Version" of the Document means any work containing the +Document or a portion of it, either copied verbatim, or with +modifications and/or translated into another language. + +A "Secondary Section" is a named appendix or a front-matter section of +the Document that deals exclusively with the relationship of the +publishers or authors of the Document to the Document's overall subject +(or to related matters) and contains nothing that could fall directly +within that overall subject. (Thus, if the Document is in part a +textbook of mathematics, a Secondary Section may not explain any +mathematics.) The relationship could be a matter of historical +connection with the subject or with related matters, or of legal, +commercial, philosophical, ethical or political position regarding +them. + +The "Invariant Sections" are certain Secondary Sections whose titles +are designated, as being those of Invariant Sections, in the notice +that says that the Document is released under this License. If a +section does not fit the above definition of Secondary then it is not +allowed to be designated as Invariant. The Document may contain zero +Invariant Sections. If the Document does not identify any Invariant +Sections then there are none. + +The "Cover Texts" are certain short passages of text that are listed, +as Front-Cover Texts or Back-Cover Texts, in the notice that says that +the Document is released under this License. A Front-Cover Text may +be at most 5 words, and a Back-Cover Text may be at most 25 words. + +A "Transparent" copy of the Document means a machine-readable copy, +represented in a format whose specification is available to the +general public, that is suitable for revising the document +straightforwardly with generic text editors or (for images composed of +pixels) generic paint programs or (for drawings) some widely available +drawing editor, and that is suitable for input to text formatters or +for automatic translation to a variety of formats suitable for input +to text formatters. A copy made in an otherwise Transparent file +format whose markup, or absence of markup, has been arranged to thwart +or discourage subsequent modification by readers is not Transparent. +An image format is not Transparent if used for any substantial amount +of text. A copy that is not "Transparent" is called "Opaque". + +Examples of suitable formats for Transparent copies include plain +ASCII without markup, Texinfo input format, LaTeX input format, SGML +or XML using a publicly available DTD, and standard-conforming simple +HTML, PostScript or PDF designed for human modification. Examples of +transparent image formats include PNG, XCF and JPG. Opaque formats +include proprietary formats that can be read and edited only by +proprietary word processors, SGML or XML for which the DTD and/or +processing tools are not generally available, and the +machine-generated HTML, PostScript or PDF produced by some word +processors for output purposes only. + +The "Title Page" means, for a printed book, the title page itself, +plus such following pages as are needed to hold, legibly, the material +this License requires to appear in the title page. For works in +formats which do not have any title page as such, "Title Page" means +the text near the most prominent appearance of the work's title, +preceding the beginning of the body of the text. + +A section "Entitled XYZ" means a named subunit of the Document whose +title either is precisely XYZ or contains XYZ in parentheses following +text that translates XYZ in another language. (Here XYZ stands for a +specific section name mentioned below, such as "Acknowledgements", +"Dedications", "Endorsements", or "History".) To "Preserve the Title" +of such a section when you modify the Document means that it remains a +section "Entitled XYZ" according to this definition. + +The Document may include Warranty Disclaimers next to the notice which +states that this License applies to the Document. These Warranty +Disclaimers are considered to be included by reference in this +License, but only as regards disclaiming warranties: any other +implication that these Warranty Disclaimers may have is void and has +no effect on the meaning of this License. + + +2. VERBATIM COPYING + +You may copy and distribute the Document in any medium, either +commercially or noncommercially, provided that this License, the +copyright notices, and the license notice saying this License applies +to the Document are reproduced in all copies, and that you add no other +conditions whatsoever to those of this License. You may not use +technical measures to obstruct or control the reading or further +copying of the copies you make or distribute. However, you may accept +compensation in exchange for copies. If you distribute a large enough +number of copies you must also follow the conditions in section 3. + +You may also lend copies, under the same conditions stated above, and +you may publicly display copies. + + +3. COPYING IN QUANTITY + +If you publish printed copies (or copies in media that commonly have +printed covers) of the Document, numbering more than 100, and the +Document's license notice requires Cover Texts, you must enclose the +copies in covers that carry, clearly and legibly, all these Cover +Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on +the back cover. Both covers must also clearly and legibly identify +you as the publisher of these copies. The front cover must present +the full title with all words of the title equally prominent and +visible. You may add other material on the covers in addition. +Copying with changes limited to the covers, as long as they preserve +the title of the Document and satisfy these conditions, can be treated +as verbatim copying in other respects. + +If the required texts for either cover are too voluminous to fit +legibly, you should put the first ones listed (as many as fit +reasonably) on the actual cover, and continue the rest onto adjacent +pages. + +If you publish or distribute Opaque copies of the Document numbering +more than 100, you must either include a machine-readable Transparent +copy along with each Opaque copy, or state in or with each Opaque copy +a computer-network location from which the general network-using +public has access to download using public-standard network protocols +a complete Transparent copy of the Document, free of added material. +If you use the latter option, you must take reasonably prudent steps, +when you begin distribution of Opaque copies in quantity, to ensure +that this Transparent copy will remain thus accessible at the stated +location until at least one year after the last time you distribute an +Opaque copy (directly or through your agents or retailers) of that +edition to the public. + +It is requested, but not required, that you contact the authors of the +Document well before redistributing any large number of copies, to give +them a chance to provide you with an updated version of the Document. + + +4. MODIFICATIONS + +You may copy and distribute a Modified Version of the Document under +the conditions of sections 2 and 3 above, provided that you release +the Modified Version under precisely this License, with the Modified +Version filling the role of the Document, thus licensing distribution +and modification of the Modified Version to whoever possesses a copy +of it. In addition, you must do these things in the Modified Version: + +A. Use in the Title Page (and on the covers, if any) a title distinct + from that of the Document, and from those of previous versions + (which should, if there were any, be listed in the History section + of the Document). You may use the same title as a previous version + if the original publisher of that version gives permission. +B. List on the Title Page, as authors, one or more persons or entities + responsible for authorship of the modifications in the Modified + Version, together with at least five of the principal authors of the + Document (all of its principal authors, if it has fewer than five), + unless they release you from this requirement. +C. State on the Title page the name of the publisher of the + Modified Version, as the publisher. +D. Preserve all the copyright notices of the Document. +E. Add an appropriate copyright notice for your modifications + adjacent to the other copyright notices. +F. Include, immediately after the copyright notices, a license notice + giving the public permission to use the Modified Version under the + terms of this License, in the form shown in the Addendum below. +G. Preserve in that license notice the full lists of Invariant Sections + and required Cover Texts given in the Document's license notice. +H. Include an unaltered copy of this License. +I. Preserve the section Entitled "History", Preserve its Title, and add + to it an item stating at least the title, year, new authors, and + publisher of the Modified Version as given on the Title Page. If + there is no section Entitled "History" in the Document, create one + stating the title, year, authors, and publisher of the Document as + given on its Title Page, then add an item describing the Modified + Version as stated in the previous sentence. +J. Preserve the network location, if any, given in the Document for + public access to a Transparent copy of the Document, and likewise + the network locations given in the Document for previous versions + it was based on. These may be placed in the "History" section. + You may omit a network location for a work that was published at + least four years before the Document itself, or if the original + publisher of the version it refers to gives permission. +K. For any section Entitled "Acknowledgements" or "Dedications", + Preserve the Title of the section, and preserve in the section all + the substance and tone of each of the contributor acknowledgements + and/or dedications given therein. +L. Preserve all the Invariant Sections of the Document, + unaltered in their text and in their titles. Section numbers + or the equivalent are not considered part of the section titles. +M. Delete any section Entitled "Endorsements". Such a section + may not be included in the Modified Version. +N. Do not retitle any existing section to be Entitled "Endorsements" + or to conflict in title with any Invariant Section. +O. Preserve any Warranty Disclaimers. + +If the Modified Version includes new front-matter sections or +appendices that qualify as Secondary Sections and contain no material +copied from the Document, you may at your option designate some or all +of these sections as invariant. To do this, add their titles to the +list of Invariant Sections in the Modified Version's license notice. +These titles must be distinct from any other section titles. + +You may add a section Entitled "Endorsements", provided it contains +nothing but endorsements of your Modified Version by various +parties--for example, statements of peer review or that the text has +been approved by an organization as the authoritative definition of a +standard. + +You may add a passage of up to five words as a Front-Cover Text, and a +passage of up to 25 words as a Back-Cover Text, to the end of the list +of Cover Texts in the Modified Version. Only one passage of +Front-Cover Text and one of Back-Cover Text may be added by (or +through arrangements made by) any one entity. If the Document already +includes a cover text for the same cover, previously added by you or +by arrangement made by the same entity you are acting on behalf of, +you may not add another; but you may replace the old one, on explicit +permission from the previous publisher that added the old one. + +The author(s) and publisher(s) of the Document do not by this License +give permission to use their names for publicity for or to assert or +imply endorsement of any Modified Version. + + +5. COMBINING DOCUMENTS + +You may combine the Document with other documents released under this +License, under the terms defined in section 4 above for modified +versions, provided that you include in the combination all of the +Invariant Sections of all of the original documents, unmodified, and +list them all as Invariant Sections of your combined work in its +license notice, and that you preserve all their Warranty Disclaimers. + +The combined work need only contain one copy of this License, and +multiple identical Invariant Sections may be replaced with a single +copy. If there are multiple Invariant Sections with the same name but +different contents, make the title of each such section unique by +adding at the end of it, in parentheses, the name of the original +author or publisher of that section if known, or else a unique number. +Make the same adjustment to the section titles in the list of +Invariant Sections in the license notice of the combined work. + +In the combination, you must combine any sections Entitled "History" +in the various original documents, forming one section Entitled +"History"; likewise combine any sections Entitled "Acknowledgements", +and any sections Entitled "Dedications". You must delete all sections +Entitled "Endorsements". + + +6. COLLECTIONS OF DOCUMENTS + +You may make a collection consisting of the Document and other documents +released under this License, and replace the individual copies of this +License in the various documents with a single copy that is included in +the collection, provided that you follow the rules of this License for +verbatim copying of each of the documents in all other respects. + +You may extract a single document from such a collection, and distribute +it individually under this License, provided you insert a copy of this +License into the extracted document, and follow this License in all +other respects regarding verbatim copying of that document. + + +7. AGGREGATION WITH INDEPENDENT WORKS + +A compilation of the Document or its derivatives with other separate +and independent documents or works, in or on a volume of a storage or +distribution medium, is called an "aggregate" if the copyright +resulting from the compilation is not used to limit the legal rights +of the compilation's users beyond what the individual works permit. +When the Document is included in an aggregate, this License does not +apply to the other works in the aggregate which are not themselves +derivative works of the Document. + +If the Cover Text requirement of section 3 is applicable to these +copies of the Document, then if the Document is less than one half of +the entire aggregate, the Document's Cover Texts may be placed on +covers that bracket the Document within the aggregate, or the +electronic equivalent of covers if the Document is in electronic form. +Otherwise they must appear on printed covers that bracket the whole +aggregate. + + +8. TRANSLATION + +Translation is considered a kind of modification, so you may +distribute translations of the Document under the terms of section 4. +Replacing Invariant Sections with translations requires special +permission from their copyright holders, but you may include +translations of some or all Invariant Sections in addition to the +original versions of these Invariant Sections. You may include a +translation of this License, and all the license notices in the +Document, and any Warranty Disclaimers, provided that you also include +the original English version of this License and the original versions +of those notices and disclaimers. In case of a disagreement between +the translation and the original version of this License or a notice +or disclaimer, the original version will prevail. + +If a section in the Document is Entitled "Acknowledgements", +"Dedications", or "History", the requirement (section 4) to Preserve +its Title (section 1) will typically require changing the actual +title. + + +9. TERMINATION + +You may not copy, modify, sublicense, or distribute the Document except +as expressly provided for under this License. Any other attempt to +copy, modify, sublicense or distribute the Document is void, and will +automatically terminate your rights under this License. However, +parties who have received copies, or rights, from you under this +License will not have their licenses terminated so long as such +parties remain in full compliance. + + +10. FUTURE REVISIONS OF THIS LICENSE + +The Free Software Foundation may publish new, revised versions +of the GNU Free Documentation License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. See +http://www.gnu.org/copyleft/. + +Each version of the License is given a distinguishing version number. +If the Document specifies that a particular numbered version of this +License "or any later version" applies to it, you have the option of +following the terms and conditions either of that specified version or +of any later version that has been published (not as a draft) by the +Free Software Foundation. If the Document does not specify a version +number of this License, you may choose any version ever published (not +as a draft) by the Free Software Foundation. + + +ADDENDUM: How to use this License for your documents + +To use this License in a document you have written, include a copy of +the License in the document and put the following copyright and +license notices just after the title page: + + Copyright (c) YEAR YOUR NAME. + 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". + +If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, +replace the "with...Texts." line with this: + + with the Invariant Sections being LIST THEIR TITLES, with the + Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. + +If you have Invariant Sections without Cover Texts, or some other +combination of the three, merge those two alternatives to suit the +situation. + +If your document contains nontrivial examples of program code, we +recommend releasing these examples in parallel under your choice of +free software license, such as the GNU General Public License, +to permit their use in free software. +</programlisting> + + </section> + + <index id="tex-refs-idx"> + </index> + +</appendix> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-bibtex.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-bibtex.xml new file mode 100644 index 00000000000..cb397dd336e --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-bibtex.xml @@ -0,0 +1,1345 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-chapter-bibtex.xml 139 2004-08-26 16:58:10Z mw $ --> + +<chapter id="bibtex" lang="en"> + <title id="bibtex-title">&bibtex;</title> + <indexterm><primary>BibTeX</primary></indexterm> + + <note><para>The contents of this section was taken from the HTML + helppages for &bibtex; of Norman Walsh (Version 1.0, 12 Apr 94). + </para></note> + + <para>Invokes the &bibtex; utility to compile a bibliography file + for &latex;. Full details can be found in + "&latex;: A Document Preparation System" by Leslie Lamport. + </para> + + <section id="bibtex-parameters"> + <title>Parameters</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Parameters</secondary> + </indexterm> + <para><literal>bibliography-file-spec</literal></para> + <para>Specifies the name of the bibliography database file + to be compiled by &bibtex;. If the file specification does + not include a file type, &bibtex; assumes a default type of BIB. + </para> + </section> + + <section id="bibtex-command-qualifiers"> + <title>Command Qualifiers</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Command Qualifiers</secondary> + </indexterm> + <para><literal>/BIBINPUTS /BIBINPUTS=(name,...)</literal></para> + <para>Specify directories containing input files, and the order + in which they will be searched to locate each input file. + A null value in the list indicates the current directory. + The search procedure &tex; uses to locate input files is to + first search your default directory and then search each of + the directories specified by the <literal>/BIBINPUTS</literal> + option. + </para> + <para>Default is <literal>/BIBINPUTS=(TEX_BIB:)</literal>; + &tex; looks in the directory associated with the logical name + <literal>TEX_BIB.</literal> + </para> + <para><literal>/STATS /STATS /NOSTATS [D]</literal></para> + <para>This qualifier is used while debugging + <literal>.BST</literal> files to determine BIBTEX memory usage. + </para> + <para><literal>/TEXINPUTS /TEXINPUTS=(name,...)</literal></para> + <para>Specify directories containing input files, and the order + in which they will be searched to locate each input file. + A null value in the list indicates the current directory. + The search procedure &tex; uses to locate input files is to + first search your default directory and then search each of + the directories specified by the + <literal>/TEXINPUTS</literal> option. + </para> + <para>Default is <literal>/TEXINPUTS=(TEX_INPUTS)</literal>; + &tex; looks in the directory associated with the logical name + <literal>TEX_INPUTS</literal>. + </para> + <para><literal>/TRACE /TRACE /NOTRACE [D]</literal></para> + <para>This qualifier is used while debugging + <literal>.BST</literal> files to follow program flow. + </para> + </section> + + <section id="bibtex-bib-files"> + <title>bib files</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bib files</secondary> + </indexterm> + + <para>This help entry contains the same information as + Appendix B of the &latex; manual. It describes the format + of a bibliography database (<literal>.BIB</literal>) file. + </para> + <para>A bibliography database file may contains two types + of entry - an abbreviation definition or a reference entry + for citation. + </para> + + <section id="bibtex-string-command"> + <title><filename role="nohyphenation">@STRING</filename> command</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bib files</secondary> + <tertiary>@STRING command</tertiary> + </indexterm> + + <para>The <literal>@STRING</literal> command is used to define + abbreviations for use by &bibtex; within the bibliography + database file. The command + <programlisting> @string{jgg1 = "Journal of Gnats and Gnus, Series~1"}</programlisting> + defines 'jgg1' to be the abbreviation for the string + "Journal of Gnats and Gnus, Series~1". Parentheses can be used + in place of the outermost braces in the @string command, + and braces can be used instead of the quotation marks. + The text must have matching braces. + </para> + <para>The case of letters is ignored in an abbreviation as well + as in the command name @string, so the command above could + have been written: + <programlisting> @STRING{JgG1 = "Journal of Gnats and Gnus, Series~1"} </programlisting> + </para> + <para>A <literal>@string</literal> command can appear anywhere + before or between entries in a bibliography database file. + However, it must come before any use of the abbreviation, + so a sensible place for <literal>@string</literal> commands + is at the beginning of the file. A <literal>@string</literal> + command in the bibliography database file takes precedence + over a definition made by the bibliography style, so it can + be used to change the definition of an abbreviation such as + 'Feb'. + </para> + + </section> + + <section id="bibtex-entry-format"> + <title>Entry Format</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bib files</secondary> + <tertiary>Entry Format</tertiary> + </indexterm> + + <para>A bibliography database file contains a series of + reference entries like the following: + <programlisting> @BOOK{kn:gnus, + AUTHOR = "Donald E. Knudson", + TITLE = "1966 World Gnus Almanac", + PUBLISHER = {Permafrost Press}, + ADDRESS = {Novisibirsk} }</programlisting> + </para> + <para>The <literal>@BOOK</literal> states that this is an + entry of type book. various entry types are described below. + The 'kn:gnus' is the citation key, as it appears in the + argument of a <literal>\cite</literal> command referring + to the entry. + </para> + <para>This entry has four fields, named + <literal>AUTHOR</literal>, <literal>TITLE</literal>, + <literal>PUBLISHER</literal> and <literal>ADDRESS</literal>. + The meanings of these and other fields are described below. + A field consists of the name, an '=' character with optional + space around it, followed by its text. The text of a field + is a string of characters, with no unmatched braces, + surrounded by either a pair of braces or a pair of '"' + characters. Entry fields are separated from one another, + and from the citation key, by commas. A comma may have + optional space around it. + </para> + <para>The outermost braces that surround the entire entry + may be replaced by parentheses. As in &tex; input files, + an end-of-line character counts as a space and one space + is equivalent to many spaces. Unlike &tex;, &bibtex; ignores + the case of letters in the entry type, citation key and + field names. The above entry could have been typed as follows: + <programlisting>@BOOK(kn:gnus, author = {Donald E. Knudson}, + TITLE = "1966 World Gnus Almanac", + PUBLISHER = {Permafrost Press}, + ADDRESS = {Novisibirsk} )</programlisting> + </para> + <para>However, the case of letters does matter to &latex;, + so the citation key ("kn:gnus" in the example above) + should appear exactly the same in all <literal>\cite</literal> + commands in the &latex; input file. + </para> + <para>The quotes or braces can be omitted around text consisting + entirely of numerals. The following two fields are equivalent: + <programlisting>Volume = "27" Volume = 27</programlisting> + </para> + </section> + + <section id="bibtex-entry-types"> + <title>Entry Types</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bib files</secondary> + <tertiary>Entry Types</tertiary> + </indexterm> + <para>When entering a reference in the bibliography database, + the first thing to decide is what type of entry it is. No + fixed classification scheme can be complete, but &bibtex; + provides enough entry types to handle almost any reference + reasonably well. + </para> + <para>References to different types of publications contain + different information; a reference to a journal might + include the volume and number of the journal, which is + usually not meaningful for a book. Therefore, database + entries of different types have different fields for each + entry type, the fields are divided into three classes: + <variablelist role="db2latex:compact"> + <varlistentry> + <term>Required</term> + <listitem> + <para>omitting the field will produce an error + message and may result in a badly formatted + bibliography entry. If the required information + is not meaningful, you are using the wrong entry type. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Optional</term> + <listitem> + <para>the field's information will be used if present, + but can be omitted without causing any formatting + problems. A reference should contain any available + information that might help the reader, so you should + include the optional field if it is applicable. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>Ignored</term> + <listitem> + <para>the field is ignored. &bibtex; ignores any field + that is not required or optional, so you can include + any fields you want in a bibliography entry. It's + often a good idea to put all relevant information + about a reference in its bibliography entry - even + information that may never appear in the bibliography. + For example, if you want to keep an abstract of a + paper in a computer file, put it in an 'abstract' + field in the paper's bibliography entry. The + bibliography database file is likely to be as good + a place as any for the abstract, and it is possible + to design a bibliography style for printing + selected abstracts. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para>&bibtex; ignores the case of letters in the entry + type.</para> + + <section id="bibtex-entry-types-article"> + <title>article entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>article entry</tertiary> + </indexterm> + <para>An article from a journal or magazine.</para> + <para>Format: + <programlisting>@ARTICLE{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-journal">journal</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-volume">volume</link>, + <link linkend="bibtex-field-types-number">number</link>, + <link linkend="bibtex-field-types-pages">pages</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-book"> + <title>book entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>book entry</tertiary> + </indexterm> + <para>A book with an explicit publisher.</para> + <para>Format: + <programlisting>@BOOK{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link> or + <link linkend="bibtex-field-types-editor">editor</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-publisher">publisher</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-volume">volume</link>, + <link linkend="bibtex-field-types-series">series</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-edition">edition</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-booklet"> + <title>booklet entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>booklet entry</tertiary> + </indexterm> + <para>A work that is printed and bound, but without a + named publisher or sponsoring institution. + </para> + <para>Format: + <programlisting>@BOOKLET{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-title">title</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-howpublished">howpublished</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-year">year</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-conference"> + <title>conference entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>conference entry</tertiary> + </indexterm> + <para>An article in the proceedings of a conference. + This entry is identical to the 'inproceedings' entry + and is included for compatibility with another text + formatting system. + </para> + <para>Format: + <programlisting>@CONFERENCE{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-booktitle">booktitle</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-editor">editor</link>, + <link linkend="bibtex-field-types-pages">pages</link>, + <link linkend="bibtex-field-types-organization">organization</link>, + <link linkend="bibtex-field-types-publisher">publisher</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-inbook"> + <title>inbook entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>inbook entry</tertiary> + </indexterm> + <para>A part of a book, which may be a chapter and/or + a range of pages. + </para> + <para>Format: + <programlisting>@INBOOK{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link> + or + <link linkend="bibtex-field-types-editor">editor</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-chapter">chapter</link> + and/or + <link linkend="bibtex-field-types-pages">pages</link>, + <link linkend="bibtex-field-types-publisher">publisher</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-volume">volume</link>, + <link linkend="bibtex-field-types-series">series</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-edition">edition</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-incollection"> + <title>incollection entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>incollection entry</tertiary> + </indexterm> + <para>A part of a book with its own title.</para> + <para>Format: + <programlisting>@INCOLLECTION{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-booktitle">booktitle</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-editor">editor</link>, + <link linkend="bibtex-field-types-pages">pages</link>, + <link linkend="bibtex-field-types-organization">organization</link>, + <link linkend="bibtex-field-types-publisher">publisher</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-inproceedings"> + <title>inproceedings entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>inproceedings entry</tertiary> + </indexterm> + <para>An article in the proceedings of a conference.</para> + <para>Format: + <programlisting>@INPROCEEDINGS{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-booktitle">booktitle</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-editor">editor</link>, + <link linkend="bibtex-field-types-pages">pages</link>, + <link linkend="bibtex-field-types-organization">organization</link>, + <link linkend="bibtex-field-types-publisher">publisher</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-manual"> + <title>manual entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>manual entry</tertiary> + </indexterm> + <para>Technical documentation.</para> + <para>Format: + <programlisting>@MANUAL{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-title">title</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-organization">organization</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-edition">edition</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-year">year</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-mastersthesis"> + <title>mastersthesis entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>mastersthesis entry</tertiary> + </indexterm> + <para>A Master's thesis.</para> + <para>Format: + <programlisting>@MASTERSTHESIS{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-school">school</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-misc"> + <title>misc entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>misc entry</tertiary> + </indexterm> + <para>Use this type when nothing else seems + appropriate.</para> + <para>Format: + <programlisting>@MISC{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: none + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-howpublished">howpublished</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-year">year</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-phdthesis"> + <title>phdthesis entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>phdthesis entry</tertiary> + </indexterm> + <para>A PhD thesis. + </para> + <para>Format: + <programlisting>@PHDTHESIS{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-school">school</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-proceedings"> + <title>proceedings entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>proceedings entry</tertiary> + </indexterm> + <para>The proceedings of a conference. + </para> + <para>Format: + <programlisting>@PROCEEDINGS{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-editor">editor</link>, + <link linkend="bibtex-field-types-publisher">publisher</link>, + <link linkend="bibtex-field-types-organization">organization</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-techreport"> + <title>techreport entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>techreport entry</tertiary> + </indexterm> + <para>A report published by a school or other institution, + usually numbered within a series. + </para> + <para>Format: + <programlisting>@TECHREPORT{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-institution">institution</link>, + <link linkend="bibtex-field-types-year">year</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-type">type</link>, + <link linkend="bibtex-field-types-number">number</link>, + <link linkend="bibtex-field-types-address">address</link>, + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-note">note</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + <section id="bibtex-entry-types-unpublished"> + <title>unpublished entry</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Entry Types</secondary> + <tertiary>unpublished entry</tertiary> + </indexterm> + <para> A document with an author and title, but not + formally published. + </para> + <para>Format: + <programlisting>@UNPUBLISHED{citation_key, + required_fields [, optional_fields] }</programlisting> + </para> + <para>Required fields: + <link linkend="bibtex-field-types-author">author</link>, + <link linkend="bibtex-field-types-title">title</link>, + <link linkend="bibtex-field-types-note">note</link> + </para> + <para>Optional fields: + <link linkend="bibtex-field-types-month">month</link>, + <link linkend="bibtex-field-types-year">year</link>, + <link linkend="bibtex-field-types-key">key</link> + </para> + </section> + + </section> + + <section id="bibtex-field-text"> + <title>Field Text</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bib files</secondary> + <tertiary>Field Text</tertiary> + </indexterm> + <para>The text of the field is enclosed in braces or double + quote characters. A part of the text is said to be enclosed + in braces if it lies inside a matching pair of braces other + than the ones enclosing the entire entry or the entire field text. + </para> + <para>&bibtex; manipulates the case of letters in the field text + as described in the subtopics below. + </para> + + <section id="bibtex-field-text-names"> + <title>Names</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Text</secondary> + <tertiary>Names</tertiary> + </indexterm> + <para>The text of an author or editor field represents a + list of names. The bibliography style determines the format + in which the name is printed: whether the first name or + last name appears first, if the full first name or just + the first initial is used, etc. The bibliography file entry + simply tells &bibtex; what the name is. + </para> + <para>You should type an author's complete name and let the + bibliography style decide what to abbreviate. (But an + author's complete name may be "Donald~E. Knuth" or + even "J.~P.~Morgan"; you should type it the way the + author would like it to appear, if that's known.) + </para> + <para>Most names can be entered in the obvious way, either + with or without a comma, as in the following examples: + </para> + <para>"John Paul Jones" "Jones, John Paul" + "Ludwig von Beethoven" "von Beethoven, Ludwig" + </para> + <para>Some people have multiple last names - for example, + Per Brinch Hansen's last name is Brinch~Hansen. + His name should be typed with a comma: + </para> + <para> "Brinch Hansen, Per" + </para> + <para>To understand why, you must understand how &bibtex; + handles names (for what follows, a "name" corresponds + to a person). + </para> + <para>Each name consists of four parts: First, von, Last, + and~Jr; each part consists of a (possibly empty) list + of name-tokens. For example the First part of + Per Brinch~Hansen's name has the single token "Per"; + the Last part has two, "Brinch" and "Hansen"; and the + von and Jr parts are empty. If you had typed + </para> + <para>"Per Brinch Hansen"</para> + <para>instead, &bibtex; would erroneously think "Brinch" + were a First-part token, just as "Paul" is a First-part + token in "John~Paul Jones". + </para> + <para>Here's another example:</para> + <para>"Charles Louis Xavier Joseph de la Vallee + Poussin" + </para> + <para>This name has four tokens in the First part, two + in the von, and two in the Last. Here &bibtex; knows + where one part ends and the other begins because the + tokens in the von part begin with lower-case letters. + </para> + <para>If you want &bibtex; to consider something a single + token, enclose it in braces. You should do this, + for example, if a comma is part of a name: + </para> + <para>"{Barnes and Noble, Inc.}" "{Barnes and} {Noble, Inc.}" + "{Barnes} {and} {Noble,} {Inc.}" + </para> + <para>The braces surrounding the comma keep "Inc." from + being interpreted as a First token; this name has only + a Last part, with either one, two, or four tokens + (there must be a space separating the tokens in the + second and third forms). Probably the second form is + slightly more meaningful, but don't lose sleep over this + since only rarely will an institution be an author or + editor. + </para> + <para>So the two names</para> + <para>"von Beethoven, Ludwig" "{von Beethoven}, Ludwig" + </para> + <para>are considered by &bibtex; to be different names. + In the first, "Beethoven" is the Last part and "von" + is the von part; in the second, which in this case + happens to be incorrect, the Last part has a single + token and there's no von part. The bibliography style + will probably print both the same, but it may alphabetize + and label them differently. + </para> + <para>"Juniors" pose a special problem. Most people having + "Jr." in their name precede it with a comma. Such a name + should be entered as follows: + </para> + <para>"Ford, Jr., Henry"</para> + <para>However, a few people do not use a comma. They are + handled by considering the "Jr." to be part of the last + Last token: + </para> + <para>"{Steele Jr.}, Guy L." "Guy L. {Steele Jr.}"</para> + <para>This name has no Jr part.</para> + <para>To summarize, you may type a name in one of + three forms: + </para> + <para>"First von Last" "von Last, First" + "von Last, Jr, First" + </para> + <para>You may almost always use the first form; you shouldn't + if either there's a Jr part or the Last part has multiple + tokens but there's no von part. + </para> + <para>If there are multiple authors or editors, their + names must be separated by the word "and", surrounded + by spaces, not enclosed in braces: + </para> + <para>AUTHOR = "Ralph Alpher and Bethe, Hans and George Gamow" + </para> + <para>Since &bibtex; interprets commas as separating parts + of a name and "and" as separating names themselves, + this example has three coauthors: Ralph Alpher, + Hans Bethe, and George Gamow. If the word "and" appears + as part of a name, it must be enclosed in braces, as in + the example of "Barnes and Noble,~Inc." given above. + If you have too many names to list in a field, you can + end the list with "and others"; the standard styles + appropriately append an "et al." + </para> + <para>&bibtex;'s rules are actually a bit more complicated + than indicated here, but this description will + suffice for most names. + </para> + </section> + + <section id="bibtex-field-text-titles"> + <title>Titles</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Text</secondary> + <tertiary>Titles</tertiary> + </indexterm> + <para>The bibliography style determines whether or not a + title is capitalized; the titles of books usually are, + the title of articles usually are not. You type a title + the way it should appear if it is capitalized (you + should capitalize everything but articles and unstressed + conjunctions and prepositions, and even these should + be capitalized as the first word or + the first after a colon): + </para> + <para>TITLE = "The Agony and the Ecstasy"</para> + <para>&bibtex; will change uppercase letters to lowercase + if appropriate. Uppercase letters that should not be + changed are enclosed in braces. The following two + titles are equivalent; the "A" of "Africa" will not + be made lowercase. + </para> + <para>"The Gnats and Gnus of {Africa}" + "The Gnats and Gnus of {A}frica" + </para> + </section> + + <section id="bibtex-field-text-abbr"> + <title>Abbreviations</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Text</secondary> + <tertiary>Abbreviations</tertiary> + </indexterm> + <para>Instead of an ordinary text string, the text of a + field can be replaced by an abbreviation for it. An + abbreviation is a string of characters that starts + with a letter and does not contain a space or any + of the following ten characters: + </para> + <para><literal>" # % ' ( ) , = { }</literal></para> + <para>The abbreviation is typed in place of the text + field, with no braces or quotation marks. If 'jgg1' + is an abbreviation for + </para> + <para>Journal of Gnats and Gnus, Series~1</para> + <para>then the following are equivalent:</para> + <para>JOURNAL = jgg1 JOURNAL = "Journal of Gnats and + Gnus, Series~1"</para> + <para>Some abbreviations are predefined by the bibliography + style. These always include the usual 3 letter + abbreviations for the month: jan, feb, mar etc. + </para> + <para>Bibliography styles usually contain abbreviations + for the names of commonly referenced journals. Consult + the Local Guide for a list of the predefined abbreviations + for the bibliography styles available. + </para> + <para>You can define your own abbreviations by using + &bibtex;'s <literal>@STRING</literal> command. + </para> + </section> + + </section> + + <section id="bibtex-field-types"> + <title>Field Types</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bib files</secondary> + <tertiary>Field Types</tertiary> + </indexterm> + <para>Below is a list of all fields recognized by the + standard bibliography styles. An entry can also contain + other fields, which are ignored by those styles. + </para> + <para>&bibtex; ignores the case of letters in the + field names. + </para> + + <section id="bibtex-field-types-address"> + <title>address field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>address field</tertiary> + </indexterm> + <para>Publisher's address. For major publishing houses, + just the city is given. For small publishers, you can + help the reader by giving the complete address. + </para> + <para>Format: + <programlisting>ADDRESS = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-annote"> + <title>annote field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>annote field</tertiary> + </indexterm> + <para>An annotation, used only for annotated bibliography + styles (which are not among the standard ones). + </para> + <para>Format: + <programlisting>ANNOTE = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-author"> + <title>author field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>author field</tertiary> + </indexterm> + <para>The name(s) of the author(s). + </para> + <para>Format: + <programlisting>AUTHOR = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-booktitle"> + <title>booktitle field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>booktitle field</tertiary> + </indexterm> + <para>Title of a book, part of which is being cited.</para> + <para>Format: + <programlisting>BOOKTITLE = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-chapter"> + <title>chapter field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>chapter field</tertiary> + </indexterm> + <para>A chapter number.</para> + <para>Format: + <programlisting>CHAPTER = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-edition"> + <title>edition field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>edition field</tertiary> + </indexterm> + <para>The edition of a book - for example, "second".</para> + <para>Format: + <programlisting>EDITION = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-editor"> + <title>editor field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>editor field</tertiary> + </indexterm> + <para>Name(s) of editor(s). If there is also an "author" + field, then the "editor" field gives the editor of + the book or collection in which the reference appears. + </para> + <para>Format: + <programlisting>EDITOR = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-howpublished"> + <title>howpublished field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>howpublished field</tertiary> + </indexterm> + <para>How something strange has been published.</para> + <para>Format: + <programlisting>HOWPUBLISHED = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-institution"> + <title>institution field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>institution field</tertiary> + </indexterm> + <para>The institution that published the work.</para> + <para>Format: + <programlisting>INSTITUTION = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-journal"> + <title>journal field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>journal field</tertiary> + </indexterm> + <para>A journal name. Abbreviations are provided for many + journals; see the Local Guide. + </para> + <para>Format: + <programlisting>JOURNAL = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-key"> + <title>key field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>key field</tertiary> + </indexterm> + <para> Used for alphabetizing and creating a label + when the "author" and "editor" fields are missing. + This field should not be confused with the citation + key that appears in the <literal>\cite</literal> + command and at the beginning of the entry. + </para> + <para>Format: + <programlisting>KEY = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-month"> + <title>month field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>month field</tertiary> + </indexterm> + <para>The month in which the work was published or, + for an unpublished work, in which it was written. + </para> + <para>Format: + <programlisting>MONTH = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-note"> + <title>note field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>note field</tertiary> + </indexterm> + <para>Any additional information that can help the reader. + </para> + <para>Format: + <programlisting>NOTE = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-number"> + <title>number field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>number field</tertiary> + </indexterm> + <para>The number of a journal, magazine, or technical + report. An issue of a journal or magazine is usually + identified by its volume and number; the organization + that issues a technical report usually gives it a number. + </para> + <para>Format: + <programlisting>NUMBER = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-organization"> + <title>organization field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>organization field</tertiary> + </indexterm> + <para>The organization sponsoring a conference. + </para> + <para>Format: + <programlisting>ORGANIZATION = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-pages"> + <title>pages field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>pages field</tertiary> + </indexterm> + <para>A page number or range of numbers such as "42--111"; + you may also have several of these, separating them with + commas: "7,41,73--97". The standard styles convert a + single dash to a double. > + </para> + <para>Format: + <programlisting>PAGES = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-publisher"> + <title>publisher field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>publisher field</tertiary> + </indexterm> + <para>The publisher's name. + </para> + <para>Format: + <programlisting>PUBLISHER = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-school"> + <title>school field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>school field</tertiary> + </indexterm> + <para>The name of the school where a thesis was written. + </para> + <para>Format: + <programlisting>SCHOOL = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-series"> + <title>series field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>series field</tertiary> + </indexterm> + <para>The name of a series or set of books. When citing + an entire book, the the "title" field gives its title + and an optional "series" field gives the name of a series + in which the book is published. + </para> + <para>Format: + <programlisting>SERIES = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-title"> + <title>title field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>title field</tertiary> + </indexterm> + <para>The work's title. + </para> + <para>Format: + <programlisting>TITLE = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-type"> + <title>type field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>type field</tertiary> + </indexterm> + <para>The type of a technical report - for example, + "Research Note". + </para> + <para>Format: + <programlisting>TYPE = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-volume"> + <title>volume field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>volume field</tertiary> + </indexterm> + <para>The volume of a journal or multivolume book work. + </para> + <para>Format: + <programlisting>VOLUME = field_text</programlisting> + </para> + </section> + + <section id="bibtex-field-types-year"> + <title>year field</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>Field Types</secondary> + <tertiary>year field</tertiary> + </indexterm> + <para>The year of publication or, for an unpublished + work, the year it was written. This field's text + should contain only numerals. + </para> + <para>Format: + <programlisting>YEAR = field_text</programlisting> + </para> + </section> + + </section> + + </section> + + <section id="bibtex-bst-files"> + <title>bst files</title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bst files</secondary> + </indexterm> + <para>Bibliography style files define the style of a + bibliography source list.</para> + <para>The standard bibliography style files are + <link linkend="bibtex-bst-plain"><filename role="nohyphenation">PLAIN</filename></link>, + <link linkend="bibtex-bst-unsrt"><filename role="nohyphenation">UNSRT</filename></link>, + <link linkend="bibtex-bst-alpha"><filename role="nohyphenation">ALPHA</filename></link> + and + <link linkend="bibtex-bst-abbr"><filename role="nohyphenation">ABBRV</filename></link>. + </para> + <para>If you want to make a bibliography style of your own, + look at <link linkend="bibtex-bst-sample"><filename role="nohyphenation">SAMPLE.BST</filename></link>. + </para> + + <section id="bibtex-bst-abbr"> + <title><filename role="nohyphenation">ABBRV.BST</filename></title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bst files</secondary> + <tertiary>ABBRV.BST</tertiary> + </indexterm> + <para>This style is the same as the style defined in + <filename>PLAIN.BST</filename>, except that entries are + more compact because first names, month names and journal + names are abbreviated. + </para> + </section> + + <section id="bibtex-bst-alpha"> + <title><filename role="nohyphenation">ALPHA.BST</filename></title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bst files</secondary> + <tertiary>ALPHA.BST</tertiary> + </indexterm> + <para>This style is the same as the style defined in + <filename>PLAIN.BST</filename> except that entry labels + like "Knu66", formed from the author's name and the year + of publication, are used. + </para> + </section> + + <section id="bibtex-bst-plain"> + <title><filename role="nohyphenation">PLAIN.BST</filename></title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bst files</secondary> + <tertiary>PLAIN.BST</tertiary> + </indexterm> + <para>This style is formatted more or less as suggested + by Mary-Claire van Leunen in "A Handbook for Scholars" + (Alfred A. Knopf, New York, 1979). Entries are sorted + alphabetically and are labelled with numbers. + </para> + </section> + + <section id="bibtex-bst-sample"> + <title><filename role="nohyphenation">SAMPLE.BST</filename></title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bst files</secondary> + <tertiary>SAMPLE.BST</tertiary> + </indexterm> + <para>This is a sample bibliography style file meant to + help you construct a new style. It creates a bibliography + in which entries appear as follows: + </para> + <para>[Jones79] Jones, R. L. and Richards, P. Q. The Birds + and the Bees. {\it Journal of Irreproducible Results 4}, + 2 (Jan. 1979), 27-33. + </para> + <para>[Jones82a] Jones, P. G. The Bees and the + Trees ... (1982). + </para> + <para>[Jones82b] Jones, R. L. The Trees and the + Peas ... (1982). + </para> + <para>[Krist74] Kristofferson, R. P. Peopl and + Places ... (1974) + </para> + <para>It should illustrate how you write a style file. + The functions are described in an informal Pascal-like + style in comments. Because of the way while loops and + if-then-else statements must use functions, the following + convention is used. If a while loop is labeled 'foo' + in the informal description, then its test and body + are the functions named 'foo.test' and 'foo.body'. + If an if statement is labeled 'foo', then its two clauses + are the functions named 'foo.then' and 'foo.else'. + (Null clauses just use the 'skip$' function.) Note that + because functions have to be defined in terms of + already-defined functions, the actual function definitions + are given in a 'bottom-up' order. + </para> + </section> + + <section id="bibtex-bst-unsrt"> + <title><filename role="nohyphenation">UNSRT.BST</filename></title> + <indexterm> + <primary>BibTeX</primary> + <secondary>bst files</secondary> + <tertiary>UNSRT.BST</tertiary> + </indexterm> + <para>This style is that same as <filename>PLAIN.BST</filename> + except that entries appear in the order of their + first citation. + </para> + </section> + + </section> + +</chapter> diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-makeindex.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-makeindex.xml new file mode 100644 index 00000000000..170738f622f --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-makeindex.xml @@ -0,0 +1,1158 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-chapter-makeindex.xml 139 2004-08-26 16:58:10Z mw $ --> + +<chapter id="makeindex" lang="en"> + <title id="makeindex-title">&makeindex;</title> + <indexterm><primary>Make-Index</primary></indexterm> + + <note> + <para>The contents of this section was taken from + the HTML helppages for &makeindex; + of Norman Walsh (Version 1.0, 12 Apr 94). + </para> + <para>Some obvious errors in this documentation have been corrected + according to <filename>makeindex(1L)</filename>. + </para> + <para>Additional information was taken from + <filename>makeindex(1L)</filename> and the program source + files as found in te&tex; 2.0.2.</para> + </note> + + <para>&makeindex; is a general purpose index processor. + It takes one or more raw index files (normally generated + by a formatter), sorts the entries, and produces the actual + index file. It is not dependent on any particular format of + raw index file, although the <literal>.idx</literal> file + generated by &latex; is + the default. Up to three levels (0, 1, and 2) of subitem nesting + within the same entry is supported. The input format may be + redefined in a style file so that raw index or glossary output + from other formatters may be processed. The style file also + defines the style of output index file. Unless specified + otherwise, the file name base of the first input file + (<literal>idx0</literal>) + is used to determine other related input/output files. + The default input file type is <literal>.idx</literal>. + </para> + + <section id="makeindex-options"> + <title id="makeindex-options-title">Options</title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + </indexterm> + <para>&makeindex; is a Unix program, and therefore has a + Unix-style command line. Instead of qualifiers delimited with + a slash (<literal>/</literal>), &makeindex; options are delimited + with a hyphen (<literal>-</literal>). + </para> + + <section id="makeindex-option-c"> + <title><filename role="nohyphenation">-c</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-c</tertiary> + </indexterm> + <para>Enable blank compression. By default every blank counts + in the index key. The <literal>-c</literal> option ignores + leading and trailing blanks and tabs and compresses + intermediate ones to a single space. + </para> + </section> + + <section id="makeindex-option-g"> + <title><filename role="nohyphenation">-g</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-g</tertiary> + </indexterm> + <para>Employ German word ordering in the index, + in accord with rules set forth in DIN 5007. The + quote character must be redefined in a style file + (for example, redefine quote as <literal>'+'</literal>). + If the quote character is not redefined, &makeindex; + will produce an error message and abort. + </para> + </section> + + <section id="makeindex-option-i"> + <title><filename role="nohyphenation">-i</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-i</tertiary> + </indexterm> + <para> Use <literal>stdin</literal> as the input file. + When this option is specified and the <literal>-o</literal> + is not, output is written to <literal>stdout</literal>. + </para> + </section> + + <section id="makeindex-option-l"> + <title><filename role="nohyphenation">-l</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-l</tertiary> + </indexterm> + <para>Use letter ordering. Default is word ordering + (explained in the + <link linkend="makeindex-ordering">Ordering</link> + section). + </para> + </section> + + <section id="makeindex-option-q"> + <title><filename role="nohyphenation">-q</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-q</tertiary> + </indexterm> + <para>Quiet mode, send no messages to <literal>stderr</literal>. + By default progress and error messages are sent to + <literal>stderr</literal> as well as the transcript file. + The <literal>-q</literal> option disables the + <literal>stderr</literal> messages. + </para> + </section> + + <section id="makeindex-option-r"> + <title><filename role="nohyphenation">-r</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-r</tertiary> + </indexterm> + <para>Disable implicit page range formation. By default + three or more successive pages will be automatically + abbreviated as a range (e.g. 1--5). The <literal>-r</literal> + option disables it, making the explicit range operators + the only way to create page ranges (see the + <link linkend="makeindex-special-effects">Special Effects</link> + section below). + </para> + </section> + + <section id="makeindex-option-s-sty"> + <title><filename role="nohyphenation">-s sty</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-s sty</tertiary> + </indexterm> + <para> Take <literal>sty</literal> as the style file. + There is no default for the style file name. The + environment variable INDEXSTYLE defines the path where + the style file should be found. + </para> + </section> + + <section id="makeindex-option-o-ind"> + <title><filename role="nohyphenation">-o ind</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-o ind</tertiary> + </indexterm> + <para>Take <literal>ind</literal> as the output index file. + By default the file name base of the first input file + <literal>idx0</literal> concatenated with the extension + <literal>.ind</literal> is used as the output file name. + </para> + </section> + + <section id="makeindex-option-t-log"> + <title><filename role="nohyphenation">-t log</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-t log</tertiary> + </indexterm> + <para>Take <literal>log</literal> as the transcript file. + By default the file name base of the first input file + <literal>idx0</literal> concatenated with the extension + <literal>.ilg</literal> is used as the transcript file name. + </para> + </section> + + <section id="makeindex-option-p-no"> + <title><filename role="nohyphenation">-p no</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-p no</tertiary> + </indexterm> + <para>Set the starting page number of the output index file + to be <literal>no</literal>. This is useful when the index + file is to be formatted separately. Other than pure numbers, + three special cases are allowed for no: + <literal>any</literal>, + <literal>odd</literal>, and <literal>even</literal>. + In these special cases, the starting page number is determined + by retrieving the last page number from the source log file. + The source log file name is determined by concatenating the + file name base of the first raw index file + (<literal>idx0</literal>) with the extension + <literal>.log</literal>. The last source page is obtained + by searching backward in the log file for the first instance + of a number included in <literal>[...]</literal>. If a page + number is missing or the log file is not found, no attempt + will be made to set the starting page number. The meaning of + each of these cases follows: + <variablelist role="db2latex:compact"> + <varlistentry> + <term>any</term> + <listitem> + <para>The starting page is the last source page + number plus 1. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>odd</term> + <listitem> + <para>The starting page is the first odd page + following the last source page number. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>even</term> + <listitem> + <para>The starting page is the first even page following + the last source page number. + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + + <section id="makeindex-option-L"> + <title><filename role="nohyphenation">-L</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-L</tertiary> + </indexterm> + <para>Sort based on locale settings. String comparisons for + sorting are done using <command>strcoll(3)</command>, + which compares strings according to the current locale + category <literal>LC_COLLATE</literal>.</para> + <para>Not available on all systems (depends on compile + time settings).</para> + </section> + + <section id="makeindex-option-T"> + <title><filename role="nohyphenation">-T</filename></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Options</secondary> + <tertiary>-T</tertiary> + </indexterm> + <para>Special support for Thai documents.</para> + <para> Not available on all systems (depends on compile + time settings).</para> + </section> + + </section> + + <section id="makeindex-style-file"> + <title>Style File</title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Style File</secondary> + </indexterm> + <para>The style file format is very simple. It is a list of + <literal><specifier, attribute></literal> pairs. + There are two types of + specifiers (input and output). The pairs don't have to obey + any particular order in the file. A line lead by + `<literal>%</literal>' is a + comment. The following is a list of all the specifiers and + their respective arguments where + <literal><string></literal> is an arbitrary + string delimited by double quotes (<literal>"..."</literal>), + <literal><char></literal> is a single letter embraced by + single quotes + (<literal>'...'</literal>), and + <literal><number></literal> + is a nonnegative + integer. The maximum length of a + <literal><string></literal> is 144. + Notice that a backslash must be escaped (by an extra backslash) + in the string quotation. Anything not specified in the style + file will be assigned a default value, which is shown on a + separate line. This file can reside anywhere in the path + defined by the environment variable <envar>INDEXSTYLE</envar>. + </para> + + <section id="makeindex-style"> + <title>Input Style Specifiers</title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + </indexterm> + + <section id="makeindex-actual-char"> + <title>actual <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>actual</tertiary> + </indexterm> + <para>&Default; <literal>@</literal></para> + <para>The symbol which indicates that the next entry is + to appear in the actual index file. + </para> + </section> + + <section id="makeindex-arg-close"> + <title>arg_close <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>arg_close</tertiary> + </indexterm> + <para>&Default; <literal>}</literal></para> + <para> This is the closing delimiter for the index + entry argument. + </para> + </section> + + <section id="makeindex-style-arg-open"> + <title>arg_open <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>arg_open</tertiary> + </indexterm> + <para>&Default; <literal>{</literal></para> + <para> This is the opening delimiter for the index entry + argument. + </para> + </section> + + <section id="makeindex-encap-char"> + <title>encap <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>encap</tertiary> + </indexterm> + <para>&Default; <literal>|</literal></para> + <para>The symbol which indicates that the rest of the + argument list is to be used as the encapsulating command + for the page number. + </para> + </section> + + <section id="makeindex-escape-char"> + <title>escape <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>escape</tertiary> + </indexterm> + <para>&Default; <literal>\\</literal></para> + <para>The symbol which escapes the next letter, unless + its preceding letter is escape. In other words, quote + is used to escape the letter which immediately follows it. + But if it is preceded by escape, it does not escape anything. + </para> + <para> Notice that the two symbols must be distinct.</para> + </section> + + <section id="makeindex-style-string"> + <title>keyword <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>keyword</tertiary> + </indexterm> + <para>&Default; <literal>"\\indexentry"</literal></para> + <para> This is the command which tells &makeindex; that its + argument is an index entry. + </para> + </section> + + <section id="makeindex-level-char"> + <title>level <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>level</tertiary> + </indexterm> + <para>&Default; <literal>!</literal></para> + <para>The delimiter which denotes a new level of subitem.</para> + </section> + + <section id="makeindex-quote-char"> + <title>quote <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>quote</tertiary> + </indexterm> + <para>&Default; <literal>"</literal></para> + <para><literal>quote</literal> is used to escape + the letter which immediately follows it, but + if it is preceded by escape, it is treated as a + ordinary character. These two symbols must be + distinct. + </para> + </section> + + <section id="makeindex-range-close"> + <title>range_close <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>range_close</tertiary> + </indexterm> + <para>&Default; <literal>)</literal></para> + <para>The closing delimiter indicating the end of an + explicit page range. + </para> + </section> + + <section id="makeindex-range-open"> + <title>range_open <char></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Input Style Specifiers</secondary> + <tertiary>range_open</tertiary> + </indexterm> + <para>&Default; <literal>(</literal></para> + <para>The opening delimiter indicating the beginning of + an explicit page range. + </para> + </section> + + </section> + + <section id="makeindex-output-style-specs"> + <title>Output Style Specifiers</title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + </indexterm> + + <section id="makeindex-page-compositor"> + <title>page_compositor <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>page_compositor</tertiary> + </indexterm> + <para>&Default; <literal>"-"</literal></para> + <para>This specifier is used to separate a range + of page numbers.</para> + <para>Officially undocumented!</para> + </section> + + <section id="makeindex-output-preamble-string"> + <title>preamble <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>preamble</tertiary> + </indexterm> + <para>&Default; <literal>"\\begin{theindex}\n"</literal></para> + <para>The preamble of actual index file.</para> + </section> + + <section id="makeindex-output-postamble-string"> + <title>postamble <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>postamble</tertiary> + </indexterm> + <para>&Default; <literal>"\n\n\\end{theindex}\n"</literal></para> + <para>The postamble of actual index file.</para> + </section> + + <section id="makeindex-output-setpage-prefix"> + <title>setpage_prefix <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>setpage_prefix</tertiary> + </indexterm> + <para>&Default; <literal>"\n \\setcounter{page}{"</literal></para> + <para>The prefix of the command which sets the + starting page number. + </para> + </section> + + <section id="makeindex-output-setpage-suffix"> + <title>setpage_suffix <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>setpage_suffix</tertiary> + </indexterm> + <para>&Default; <literal>"}\n"</literal></para> + <para>The suffix of the command which sets the + starting page number. + </para> + </section> + + <section id="makeindex-output-group-skip"> + <title>group_skip <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>group_skip</tertiary> + </indexterm> + <para>&Default; <literal>"\n\n \\indexspace\n"</literal></para> + <para>The vertical space to be inserted before a + new group begins. + </para> + </section> + + <section id="makeindex-output-heading-prefix-string"> + <title>heading_prefix <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>heading_prefix</tertiary> + </indexterm> + <para>&Default; <literal>""</literal></para> + <para>The header prefix to be inserted before a new + letter begins. + </para> + </section> + + <section id="makeindex-output-heading-suffix-string"> + <title>heading_suffix <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>heading_suffix</tertiary> + </indexterm> + <para>&Default; <literal>""</literal></para> + <para>The header suffix to be inserted before + a new letter begins. + </para> + </section> + + <section id="makeindex-output-headings-flag"> + <title>headings_flag <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>headings_flag</tertiary> + </indexterm> + <para>&Default; <literal>0</literal></para> + <para>The flag indicating the condition of inserting new + letter header. Default is 0, which means no header. + Positive means insert an uppercase letter between prefix + and suffix. Negative means insert a lowercase letter. + </para> + </section> + + <section id="makeindex-output-symhead-positive"> + <title>symhead_positive <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>symhead_positive</tertiary> + </indexterm> + <para>&Default; <literal>"Symbols"</literal></para> + <para>Heading for symbols to be inserted + if <literal>headings_flag</literal> is positive. + </para> + </section> + + <section id="makeindex-output-symhead-negative"> + <title>symhead_negative <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>symhead_negative</tertiary> + </indexterm> + <para>&Default; <literal>"symbols"</literal></para> + <para>Heading for symbols to be inserted + if <literal>headings_flag</literal> is negative. + </para> + </section> + + <section id="makeindex-output-numhead-positive"> + <title>numhead_positive <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>numhead_positive</tertiary> + </indexterm> + <para>&Default; <literal>"Numbers"</literal></para> + <para>Heading for numbers to be inserted + if <literal>headings_flag</literal> is positive. + </para> + </section> + + <section id="makeindex-output-numhead-negative"> + <title>numhead_negative <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>numhead_negative</tertiary> + </indexterm> + <para>&Default; <literal>"numbers"</literal></para> + <para>Heading for numbers to be inserted + if <literal>headings_flag</literal> is negative. + </para> + </section> + + <section id="makeindex-output-item-0"> + <title>item_0 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>item_0</tertiary> + </indexterm> + <para>&Default; <literal>"\n \\item "</literal></para> + <para>The command to be inserted between two primary + (level 0) items. + </para> + </section> + + <section id="makeindex-output-item-1"> + <title>item_1 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>item_1</tertiary> + </indexterm> + <para>&Default; <literal>"\n \\subitem "</literal></para> + <para>The command to be inserted between two secondary + (level 1) items. + </para> + </section> + + <section id="makeindex-output-item-2"> + <title>item_2 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>item_2</tertiary> + </indexterm> + <para>&Default; <literal>"\n \\subsubitem "</literal></para> + <para>The command to be inserted between two level 2 items.</para> + </section> + + <section id="makeindex-output-item-01"> + <title>item_01 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>item_01</tertiary> + </indexterm> + <para>&Default; <literal>"\n \\subitem "</literal></para> + <para>The command to be inserted between a level 0 item + and a level 1 item. + </para> + </section> + + <section id="makeindex-output-item-x1"> + <title>item_x1 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>item_x1</tertiary> + </indexterm> + <para>&Default; <literal>"\n \\subitem "</literal></para> + <para>The command to be inserted between a level 0 item + and a level 1 item. The difference between this and + previous is that in this case the level 0 item doesn't + have any page numbers. + </para> + </section> + + <section id="makeindex-output-item-12"> + <title>item_12 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>item_12</tertiary> + </indexterm> + <para>&Default; <literal>"\n \\subsubitem "</literal></para> + <para>The command to be inserted between a level 1 item + and a level 2 item. + </para> + </section> + + <section id="makeindex-output-item-x2"> + <title>item_x2 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>item_x2</tertiary> + </indexterm> + <para>&Default; <literal>"\n \\subsubitem "</literal></para> + <para>The command to be inserted between a level 1 item + and a level 2 item. The difference between this and + previous is that in this case the level 1 item doesn't + have any page numbers. + </para> + </section> + + <section id="makeindex-output-delim-0"> + <title>delim_0 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>delim_0</tertiary> + </indexterm> + <para>&Default; <literal>", "</literal></para> + <para>The delimiter to be inserted between a level 0 key + and its first page number. Default is a comma followed + by a blank. + </para> + </section> + + <section id="makeindex-output-delim-1"> + <title>delim_1 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>delim_1</tertiary> + </indexterm> + <para>&Default; <literal>", "</literal></para> + <para>The delimiter to be inserted between a level 1 key + and its first page number. Default is a comma followed + by a blank. + </para> + </section> + + <section id="makeindex-output-delim-2"> + <title>delim_2 <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>delim_2</tertiary> + </indexterm> + <para>&Default; <literal>", "</literal></para> + <para>The delimiter to be inserted between a level 2 key + and its first page number. Default is a comma followed + by a blank. + </para> + </section> + + <section id="makeindex-output-delim-n"> + <title>delim_n <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>delim_n</tertiary> + </indexterm> + <para>&Default; <literal>", "</literal></para> + <para>The delimiter to be inserted between two page numbers + for the same key in any level. Default is a comma followed + by a blank. + </para> + </section> + + <section id="makeindex-output-delim-r"> + <title>delim_r <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>delim_r</tertiary> + </indexterm> + <para>&Default; <literal>"--"</literal></para> + <para>The delimiter to be inserted between the starting and + ending page numbers of a range. + </para> + </section> + + <section id="makeindex-output-delim-t"> + <title>delim_t <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>delim_t</tertiary> + </indexterm> + <para>&Default; <literal>""</literal></para> + <para>The delimiter to be inserted at the end of a page list. + This delimiter has no effect on entries which have no + associated page list. + </para> + </section> + + <section id="makeindex-output-encap-prefix"> + <title>encap_prefix <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>encap_prefix</tertiary> + </indexterm> + <para>&Default; <literal>"\\"</literal></para> + <para>The prefix for the command which encapsulates + the page number. + </para> + </section> + + <section id="makeindex-output-encap-infox"> + <title>encap_infix <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>encap_infix</tertiary> + </indexterm> + <para>&Default; <literal>"{"</literal></para> + <para>The prefix for the command which encapsulates + the page number. + </para> + </section> + + <section id="makeindex-output-encap-suffix"> + <title>encap_suffix <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>encap_suffix</tertiary> + </indexterm> + <para>&Default; <literal>"}"</literal></para> + <para>The suffix for the command which encapsulates + the page number. + </para> + </section> + + <section id="makeindex-output-line-max"> + <title>line_max <number></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>line_max</tertiary> + </indexterm> + <para>&Default; <literal>72</literal></para> + <para>The maximum length of a line in the output + beyond which a line wraps around. + </para> + </section> + + <section id="makeindex-output-indent-space"> + <title>indent_space <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>indent_space</tertiary> + </indexterm> + <para>&Default; <literal>"\t\t"</literal></para> + <para>The space to be inserted in front of a wrapped + line. Default is two tabs. + </para> + </section> + + <section id="makeindex-output-indent-length"> + <title>indent_length <number></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>indent_length</tertiary> + </indexterm> + <para>&Default; <literal>16</literal></para> + <para>The length of indent_space. In the default case + this is 16 (for 2 tabs). + </para> + </section> + + <section id="makeindex-output-suffix-2p"> + <title>suffix_2p <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>suffix_2p</tertiary> + </indexterm> + <para>&Default; <literal>""</literal></para> + <para>Delimiter to replace the range delimiter and + the second page number of a two page list. + When present, it overrides <literal>delim_r</literal>. + </para> + </section> + + <section id="makeindex-output-suffix-3p"> + <title>suffix_3p <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>suffix_3p</tertiary> + </indexterm> + <para>&Default; <literal>""</literal></para> + <para>Delimiter to replace the range delimiter and + the second page number of a three page list. + When present, it overrides <literal>delim_r</literal> + and <literal>suffix_mp</literal>. + </para> + </section> + + <section id="makeindex-output-suffix-mp"> + <title>suffix_mp <string></title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Output Style Specifiers</secondary> + <tertiary>suffix_mp</tertiary> + </indexterm> + <para>&Default; <literal>""</literal></para> + <para>Delimiter to replace the range delimiter and + the second page number of a multiple page list + (three or more pages). When present, it overrides + <literal>delim_r</literal>. + </para> + </section> + + </section> + + </section> + + <section id="makeindex-example"> + <title>Example</title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Example</secondary> + </indexterm> + <para>The following example shows a style file called + <literal>book.isty</literal> which defines a stand-alone + index for a book. By stand-alone, we mean it can be formatted + independent of the main source. + </para> + <para><programlisting>preamble +"\\documentstyle[12pt]{book} +\\begin{document} +\\begin{theindex} +{\\small\n" + +postamble +"\n\n} +\\end{theindex} +\\end{document}\n"</programlisting> + </para> + <para>Suppose a particular book style requires the index + (as well as any chapters) to start from an odd page number. + Given <literal>foo.idx</literal> as the raw index file, the + following command line produces an index in file + <literal>foo-.ind</literal>. + </para> + <para><programlisting>makeindex -s book.isty -o foo-.ind -p odd foo +</programlisting> + </para> + <para>The reason to use a non-default output file name is + to avoid clobbering the source output (presumably + <literal>foo.dvi</literal>) because if the index is in file + <literal>foo.ind</literal>, its output will also be in + <literal>foo.dvi</literal> as a result of separate formatting + using . In the example the index is in + <literal>foo-.ind</literal>, its output will be in + <literal>foo-.dvi</literal> and thus introduces no confusion. + </para> + </section> + + <section id="makeindex-ordering"> + <title>Ordering</title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Ordering</secondary> + </indexterm> + <para>By default <literal>makeindex</literal> assumes word + ordering. The <literal>-l</literal> option turns it into letter + ordering. The only difference is whether a blank is treated as + an effective letter or not. In word ordering, a blank precedes + any letter in the alphabet, whereas in letter ordering, it + doesn't count at all. This is best illustrated by the following + example: + </para> + + <para> + <informaltable frame="none"> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="left"/> + <thead> + <row rowsep="0"> + <entry><emphasis>word order</emphasis></entry> + <entry><emphasis>letter order</emphasis></entry> + </row> + </thead> + <tbody> + <row rowsep="0"> + <entry>sea lion</entry> + <entry>seal</entry> + </row> + <row rowsep="0"> + <entry>seal</entry> + <entry>seal lion</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </para> + + <para>Numbers are sorted in numeric order. For instance,</para> + <para> + <informaltable frame="none"> + <tgroup cols="1"> + <colspec colsep="0" align="left"/> + <tbody> + <row rowsep="0"> + <entry>9 (nine), 123</entry> + </row> + <row rowsep="0"> + <entry>123 10 (ten), see Derek, Bo</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </para> + + <para>Letters are first sorted with uppercase and lowercase + considered identical; then, within identical words the uppercase + letter precedes its lowercase counterpart. + </para> + <para>Patterns lead by a special symbol precede numbers, which + precede patterns lead by a letter. The symbol here refers to + anything not in the union of digits and English alphabet. This + includes those which follow 'z' in the ASCII chart. As a special + case, anything started with a digit but mixed with non-digits + is considered a symbol-leading pattern instead of a number. + </para> + </section> + + <section id="makeindex-special-effects"> + <title>Special Effects</title> + <indexterm> + <primary>Make-Index</primary> + <secondary>Special Effects</secondary> + </indexterm> + <para> In the normal case entries such as + <programlisting>\indexentry{alpha}{1} +\indexentry{alpha!beta}{3} +\indexentry{alpha!beta!gamma}{10}</programlisting> + in the raw index file will be converted to + <programlisting>\item alpha, 1 + \subitem beta, 3 + \subsubitem gamma, 10</programlisting> + in the output index file by &makeindex;. Notice that the level + symbol (<literal>!</literal>) is used to delimit levels of nesting. + </para> + <para>It is possible to make an item appear in a designated form + by using the actual (<literal>@</literal>) operator. + For instance, + <programlisting>\indexentry{alpha@{\it alpha\/}}{1} </programlisting> + will become + <programlisting>\item {\it alpha\/} 1</programlisting> + after the conversion. The idea is that the pattern preceding + <literal>@</literal> is used as sort key, whereas the one + following it is put in the actual result. However, the same key + with and without the actual part are regarded as distinct entries. + </para> + <para>It is also possible to encapsulate a page number with a + designated command using the encap (<literal>|</literal>) + operator. For example, in the default case, + <programlisting>\indexentry{alpha|bold}{1}</programlisting> + will be converted to + <programlisting>\item alpha \bold{1}</programlisting> + where <literal>\bold{n}</literal> will expand to + <literal>{\bf n}</literal>. This allows the encap operator to + be used to set pages in different fonts, thereby conveying more + information about whatever being indexed. For instance, given + the same key the page where its definition appears can be in + one font while where its primary example is given can be in + another, with other ordinary appearances in a third. Notice that + in this example, the three output attributes associated with + page encapsulation <literal>encap_prefix</literal>, + <literal>encap_infix</literal>, and + <literal>encap_suffix</literal> + correspond respectively to backslash, left brace, and right brace. + If this is to be formatted by languages other than , they would + be defined differently. + </para> + <para>By the same token, the <literal>encap</literal> operator + can be used to make cross references in the index. For instance, + <programlisting>\indexentry{alpha|see{beta}}{1}</programlisting> + will become + <programlisting>\item alpha \see{beta}{1}</programlisting> + in the output index file after the conversion, where + <programlisting>\see{beta}{1}</programlisting> + will expand to + <programlisting>{\it see\/} beta</programlisting> + </para> + <para>Notice that in a cross reference like this the page + number disappears. Therefore, where to insert such a command + in the source is immaterial. + </para> + <para>A pair of encap concatenated with + <literal>range_open</literal> (<literal>|(</literal>) and + with <literal>range_close</literal> (<literal>|)</literal>) + creates an explicit page range. That is, + <programlisting>\indexentry{alpha|(}{1} +\indexentry{alpha|)}{5}</programlisting> + will become + <programlisting>\item alpha, 1--5</programlisting> + </para> + <para>Intermediate pages indexed by the same key will be merged + into the range implicitly. This is especially useful when an + entire section about a particular subject is to be indexed, + in which case only the range opening and closing operators need + to be inserted at the beginning and end of the section, respectively. + </para> + <para>This explicit page range formation can also include an + extra command to set the page range in a designated font. Thus + <programlisting>\indexentry{alpha|(bold}{1} +\indexentry{alpha|)}{5}</programlisting> + will become + <programlisting>\item alpha, \bold{1--5}</programlisting> + </para> + <para>A couple of special cases are worth mentioning here. + First, entries like + <programlisting>\indexentry{alpha|(}{1} +\indexentry{alpha|bold}{3} +\indexentry{alpha|)}{5} </programlisting> + will be interpreted as + <programlisting>\item alpha, \bold{3}, 1--5</programlisting> + but with a warning message in the transcript about the + encounter of an inconsistent page encapsulator. Secondly, an + explicit range beginning in a Roman page number and ending in + Arabic is considered an error. In a case like this the range + is broken into two subranges, if possible, one in Roman, + the other in Arabic. For instance, + <programlisting>\indexentry{alpha|(}{i} +\indexentry{alpha}{iv} +\indexentry{alpha}{3} +\indexentry{alpha|)}{7}</programlisting> + will be turned into + <programlisting>\item alpha, 1--iv, 3--7</programlisting> + with a warning message in the transcript complaining about + the illegal range formation. + </para> + <para>Finally, every special symbol mentioned in this section + may be escaped by the quote operator (<literal>"</literal>). + Thus + <programlisting>\indexentry{alpha"@beta}{1} </programlisting> + will actually become + <programlisting>\item alpha@beta, 1</programlisting> + as a result of executing &makeindex;. However, if quote is + preceded by escape (<literal>\</literal>), its following + letter is not escaped. That is, + <programlisting>\indexentry{f\"ur}{1} </programlisting> + means + <programlisting>\item f\"ur, 1</programlisting> + which represents umlaut accented <literal>u</literal> to + the family of processors. + </para> + </section> + +</chapter> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-metafont.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-metafont.xml new file mode 100644 index 00000000000..be33a35809b --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-metafont.xml @@ -0,0 +1,17 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-chapter-metafont.xml 139 2004-08-26 16:58:10Z mw $ --> + +<chapter id="metafont" lang="en"> + <title id="metafont-title">&metafont; (&tbd;)</title> + <indexterm><primary>Metafont</primary></indexterm> + <para>&tbd;</para> +</chapter> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-metapost.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-metapost.xml new file mode 100644 index 00000000000..0da3cea20b8 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-metapost.xml @@ -0,0 +1,340 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-chapter-metapost.xml 139 2004-08-26 16:58:10Z mw $ --> + +<chapter id="metapost" lang="en"> + <title id="metapost-title">&metapost;</title> + <indexterm><primary>&metapost;</primary></indexterm> + + <note> + <para>The contents of this section was taken from + <filename>mpost(1)</filename>. + </para> + </note> + + <para>&metapost; is a programming language much like Knuth's &metafont; + except that it outputs PostScript programs instead of bitmaps. + Borrowed from &metafont; are the basic tools for creating and + manipulating pictures. These include numbers, coordinate pairs, + cubic splines, affine transformations, text strings, and boolean + quantities. Additional features facilitate integrating text and + graphics and accessing special features of PostScript such as clipping, + shading, and dashed lines. Another feature borrowed from &metafont; + is the ability to solve linear equations that are given implicitly, + thus allowing many programs to be written in a largely declarative + style. By building complex operations from simpler ones, &metapost; + achieves both power and exibility. + </para> + + <section id="metapost-options"> + <title id="metapost-options-title">Options</title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + </indexterm> + + <para>&metapost; understands the following command line options.</para> + + <section id="metapost-option-file-line-error-style"> + <title><filename role="nohyphenation">--file-line-error-style</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--file-line-error-style</tertiary> + </indexterm> + <para>Print error messages in the form + <literal>file:line:error</literal> + which is similar to the way many compilers format them. + </para> + </section> + + <section id="metapost-option-help"> + <title><filename role="nohyphenation">--help</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--help</tertiary> + </indexterm> + <para>Print help message and exit.</para> + </section> + + <section id="metapost-option-ini"> + <title><filename role="nohyphenation">--ini</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--ini</tertiary> + </indexterm> + <para>Be <command>inimpost</command>, for dumping bases; this + is implicitly true if the program is called as + <command>inimpost</command>.</para> + </section> + + <section id="metapost-option-intercation"> + <title><filename role="nohyphenation">--interaction mode</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--interaction mode</tertiary> + </indexterm> + <para>Sets the interaction mode. The mode can be one of + <literal>batchmode</literal>, <literal>nonstopmode</literal>, + <literal>scrollmode</literal>, and + <literal>errorstopmode</literal>. + The meaning of these modes is the same as that of the + corresponding commands.</para> + </section> + + <section id="metapost-option-jobname"> + <title><filename role="nohyphenation">--jobname name</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--jobname name</tertiary> + </indexterm> + <para>Use <literal>name</literal> for the job name, instead + of deriving it from the name of the input file.</para> + </section> + + <section id="metapost-option-kpathsea-debug"> + <title><filename role="nohyphenation">--kpathsea-debug bitmask</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--kpathsea-debug bitmask</tertiary> + </indexterm> + <para>Sets path searching debugging flags according to the + <literal>bitmask</literal>. See the Kpathsea manual for details.</para> + </section> + + <section id="metapost-option-mem"> + <title><filename role="nohyphenation">--mem mem</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--mem mem</tertiary> + </indexterm> + <para>Use <literal>mem</literal> as the name of the mem to be + used, instead of the name by which &metapost; was called or a + <literal>%&</literal> line.</para> + </section> + + <section id="metapost-option-parse-first-line"> + <title><filename role="nohyphenation">--parse-first-line</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--parse-first-line</tertiary> + </indexterm> + <para>If the first line of the main input file begins with + <literal>%&</literal> parse it to look for a dump name or a + <literal>--translate-file</literal> option.</para> + </section> + + <section id="metapost-option-progname"> + <title><filename role="nohyphenation">--progname name</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--progname name</tertiary> + </indexterm> + <para>Pretend to be program <literal>name</literal>. + This affects both the format used and the search paths.</para> + </section> + + <section id="metapost-option-recorder"> + <title><filename role="nohyphenation">--recorder</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--recorder</tertiary> + </indexterm> + <para>Enable the filename recorder. This leaves a trace of the files + opened for input and output in a file with extension + <literal>.fls.</literal></para> + </section> + + <section id="metapost-option-T"> + <title><filename role="nohyphenation">-T</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>-T</tertiary> + </indexterm> + <para>Produce TROFF output.</para> + </section> + + <section id="metapost-option-translate-file"> + <title><filename role="nohyphenation">--translate-file tcxname</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--translate-file tcxname</tertiary> + </indexterm> + <para>Use the <literal>tcxname</literal> translation table.</para> + </section> + + <section id="metapost-option-troff"> + <title><filename role="nohyphenation">--troff</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--troff</tertiary> + </indexterm> + <para>As -T.</para> + </section> + + <section id="metapost-option-version"> + <title><filename role="nohyphenation">--version</filename></title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Options</secondary> + <tertiary>--version</tertiary> + </indexterm> + <para>Print version information and exit.</para> + </section> + + </section> + + <section id="metapost-environment"> + <title>Environment</title> + <indexterm> + <primary>MetaPost</primary> + <secondary>Environment</secondary> + </indexterm> + + <para>See the Kpathsearch library documentation (the `Path specifications' + node) for the details of how the environment variables are use when + searching. The <command>kpsewhich</command> utility can be used to + query the values of the variables. + </para> + <para>If the environment variable <literal>TEXMFOUTPUT</literal> + is set, &metapost; attempts to put its output files in it, if + they cannot be put in the current directory. + </para> + <para>Here is a list of the environment variables which affect the + behavior of &metapost;: + <variablelist> + <varlistentry> + <term><literal>MPINPUTS</literal></term> + <listitem> + <indexterm> + <primary>&metapost;</primary> + <secondary>Environment</secondary> + <tertiary>MPINPUTS</tertiary> + </indexterm> + <simpara>Search path for input files.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>MFINPUTS</literal></term> + <listitem> + <indexterm> + <primary>&metapost;</primary> + <secondary>Environment</secondary> + <tertiary>MFINPUTS</tertiary> + </indexterm> + <simpara>Auxiliary search path for input files with + <literal>.mf</literal> extensions.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>MPSUPPORT</literal></term> + <listitem> + <indexterm> + <primary>&metapost;</primary> + <secondary>Environment</secondary> + <tertiary>MPSUPPORT</tertiary> + </indexterm> + <simpara>Directory for various tables for handling + included &tex; and troff.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>MPXCOMMAND</literal></term> + <listitem> + <indexterm> + <primary>&metapost;</primary> + <secondary>Environment</secondary> + <tertiary>MPXCOMMAND</tertiary> + </indexterm> + <simpara>The name of a shell script that converts + embedded typesetting commands to a form that + &metapost; understands. Defaults: + <literal>makempx</literal> for &tex; and + <literal>troffmpx</literal> for troff.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>TEX</literal></term> + <listitem> + <indexterm> + <primary>&metapost;</primary> + <secondary>Environment</secondary> + <tertiary>TEX</tertiary> + </indexterm> + <simpara>The version of &tex; - or &latex; - to use when + processing <command>btex</command> and + <command>verbatimtex</command> commands. + Default &tex;. This version of &metapost; allows you + to use a <literal>`%&format'</literal> line + instead.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>TROFF</literal></term> + <listitem> + <indexterm> + <primary>&metapost;</primary> + <secondary>Environment</secondary> + <tertiary>TROFF</tertiary> + </indexterm> + <simpara>The troff pipeline for <command>btex</command> + and <command>verbatimtex</command> commands. + Default <literal>eqn -d\$\$ | troff</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>MPEDIT</literal></term> + <listitem> + <indexterm> + <primary>&metapost;</primary> + <secondary>Environment</secondary> + <tertiary>MPEDIT</tertiary> + </indexterm> + <simpara>A command template for invoking an editor.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <para>A <literal>.mem</literal> file is a binary file that permits + fast loading of macro packages. &metapost; reads the default + <literal>plain.mem</literal> unless another <literal>.mem</literal> + file is specified at the start of the first line with an + <literal>&</literal> just before it. There is also an + <literal>mfplain.mem</literal> that simulates plain + &metafont; so that &metapost; can read <literal>.mf</literal> + fonts. (Plain Metafont is described in + <emphasis>The Metafontbook</emphasis>). + </para> + <para>Experts can create <literal>.mem</literal> files by + invoking <command>inimpost</command> and giving + macro definitions followed by a dump command. + </para> + <para>The &metapost; language is similar to &metafont;, + but the manual <emphasis>A User's Manual for MetaPost</emphasis> + assumes no knowledge of &metafont;. + &metapost; does not have bitmap output commands or + &metafont;'s online display mechanism.</para> + </section> + +</chapter> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-pdftex.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-pdftex.xml new file mode 100644 index 00000000000..75ea40cfcbd --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-pdftex.xml @@ -0,0 +1,373 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-chapter-pdftex.xml 139 2004-08-26 16:58:10Z mw $ --> + +<chapter id="pdftex" lang="en"> + <title id="pdftex-title">&pdftex;</title> + <indexterm><primary>pdfTeX</primary></indexterm> + + <note> + <para>The contents of this section was taken from + <filename>pdftex(1)</filename>. + </para> + </note> + + <section id="pdftex-options"> + <title id="pdftex-options-title">Options</title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + </indexterm> + + <para>&pdftex; understands the following command line options.</para> + + <section id="pdftex-option-file-line-error-style"> + <title><filename role="nohyphenation">--file-line-error-style</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--file-line-error-style</tertiary> + </indexterm> + <para>Print error messages in the form + <literal>file:line:error</literal> + which is similar to the way many compilers format them. + </para> + </section> + + <section id="pdftex-option-fmt"> + <title><filename role="nohyphenation">--fmt format</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--fmt format</tertiary> + </indexterm> + <para>Use <literal>format</literal> as the name of the format + to be used, instead of the name by which &pdftex; was called + or a <literal>%&</literal> line. + </para> + </section> + + <section id="pdftex-option-help"> + <title><filename role="nohyphenation">--help</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--help</tertiary> + </indexterm> + <para>Print help message and exit.</para> + </section> + + <section id="pdftex-option-ini"> + <title><filename role="nohyphenation">--ini</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--ini</tertiary> + </indexterm> + <para>Be <command>pdfinitex</command>, for dumping formats; this + is implicitly true if the program is called as + <command>pdfinitex</command>. + </para> + </section> + + <section id="pdftex-option-interaction mode"> + <title><filename role="nohyphenation">--interaction mode</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--interaction mode</tertiary> + </indexterm> + <para>Sets the interaction mode. The mode can be one of + <literal>batchmode</literal>, <literal>nonstopmode</literal>, + <literal>scrollmode</literal>, and + <literal>errorstopmode</literal>. + The meaning of these modes is the same as that of the + corresponding <literal>\commands</literal>. + </para> + </section> + + <section id="pdftex-option-ipc"> + <title><filename role="nohyphenation">--ipc</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--ipc</tertiary> + </indexterm> + <para>Send DVI or PDF output to a socket as well as the usual output + file. Whether this option is available is the choice of the + installer. + </para> + </section> + + <section id="pdftex-option-ipc-start"> + <title><filename role="nohyphenation">--ipc-start</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--ipc-start</tertiary> + </indexterm> + <para>As <literal>--ipc</literal>, and starts the server at the + other end as well. Whether this option is available is the + choice of the installer. + </para> + </section> + + <section id="pdftex-option-jobname-name"> + <title><filename role="nohyphenation">--jobname name</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--jobname name</tertiary> + </indexterm> + <para>Use <literal>name</literal> for the job name, instead of + deriving it from the name of the input file. + </para> + </section> + + <section id="pdftex-option-kpathsea-debug"> + <title><filename role="nohyphenation">--kpathsea-debug bitmask</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--kpathsea-debug bitmask</tertiary> + </indexterm> + <para>Sets path searching debugging flags according to the + <literal>bitmask</literal>. See the Kpathsea manual for details. + </para> + </section> + + <section id="pdftex-option-maketex"> + <title><filename role="nohyphenation">--maketex fmt</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--maketex fmt</tertiary> + </indexterm> + <para>Enable <command>mktexfmt</command>, where + <literal>fmt</literal> + must be one of <literal>tex</literal> or <literal>tfm</literal>. + </para> + </section> + + <section id="pdftex-option-no-maketex"> + <title><filename role="nohyphenation">--no-maketex fmt</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--no-maketex fmt</tertiary> + </indexterm> + <para>Disable <command>mktexfmt</command>, where + <literal>fmt</literal> must be one of <literal>tex</literal> + or <literal>tfm</literal>. + </para> + </section> + + <section id="pdftex-option-output-comment"> + <title><filename role="nohyphenation">--output-comment string</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--output-comment string</tertiary> + </indexterm> + <para>Use <literal>string</literal> for the DVI file comment + instead of the date. + </para> + </section> + + <section id="pdftex-option-parse-first-line"> + <title><filename role="nohyphenation">--parse-first-line</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--parse-first-line</tertiary> + </indexterm> + <para>If the first line of the main input file begins with + <literal>%&</literal> parse it + to look for a dump name or a <literal>--translate-file</literal> option. + </para> + </section> + + <section id="pdftex-option-progname"> + <title><filename role="nohyphenation">--progname name</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--progname name</tertiary> + </indexterm> + <para>Pretend to be program <literal>name</literal>. This + affects both the format used and the search paths. + </para> + </section> + + <section id="pdftex-option-recorder"> + <title><filename role="nohyphenation">--recorder</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--recorder</tertiary> + </indexterm> + <para>Enable the filename recorder. This leaves a trace of the files + opened for input and output in a file with extension + <literal>.fls</literal>. + </para> + </section> + + <section id="pdftex-option-shell-escape"> + <title><filename role="nohyphenation">--shell-escape</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--shell-escape</tertiary> + </indexterm> + <para>Enable the <literal>\write18{command}</literal> construct. + The command can be any Bourne shell command. This construct + is normally disallowed for security reasons. + </para> + </section> + + <section id="pdftex-option-translate-file"> + <title><filename role="nohyphenation">--translate-file tcxname</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--translate-file tcxname</tertiary> + </indexterm> + <para>Use the <literal>tcxname</literal> translation table. + </para> + </section> + + <section id="pdftex-option-version"> + <title><filename role="nohyphenation">--version</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>--version</tertiary> + </indexterm> + <para>Print version information and exit.</para> + </section> + + </section> + + <section id="pdftex-environment"> + <title>Environment</title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Environment</secondary> + </indexterm> + <para>See the Kpathsearch library documentation (the `Path specifications' + node) for the details of how the environment variables are used when + searching. The <command>kpsewhich</command> utility can be used to + query the values of the variables. + </para> + <para>One caveat: In most &pdftex; formats, you cannot use ~ in a filename you + give directly to &pdftex;, because ~ is an active character, and hence is + expanded, not taken as part of the filename. Other programs, such as + &metafont;, do not have this problem. + </para> + + <para> + <variablelist> + <varlistentry> + <term><literal>TEXMFOUTPUT</literal></term> + <listitem> + <indexterm> + <primary>&pdftex;</primary> + <secondary>Environment</secondary> + <tertiary>TEXMFOUTPUT</tertiary> + </indexterm> + <simpara>Normally, &pdftex; puts its output files in + the current directory. + If any output file cannot be opened there, it tries to open it + in the directory specified in the environment variable + <literal>TEXMFOUTPUT</literal>. There is no default value + for that variable. For example, + if you say <command>pdftex paper</command> and the + current directory is not writable, if + <literal>TEXMFOUTPUT</literal> has the value + <literal>/tmp</literal>, &pdftex; attempts to + create <literal>/tmp/paper.log</literal> (and + <literal>/tmp/paper.pdf</literal>, if any output is + produced.)</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>TEXINPUTS</literal></term> + <listitem> + <indexterm> + <primary>&pdftex;</primary> + <secondary>Environment</secondary> + <tertiary>TEXINPUTS</tertiary> + </indexterm> + <simpara>Search path for <literal>\input</literal> and + <literal>\openin</literal> files. This should probably + start with ``.'', so that user files are found before system + files. An empty path component will be replaced with the paths + defined in the <filename>texmf.cnf</filename> file. + For example, set <literal>TEXINPUTS</literal> to + <literal>".:/home/usr/tex:"</literal> to prepend the + current direcory and <literal>``/home/user/tex''</literal> + to the standard search path.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>TEXFONTS</literal></term> + <listitem> + <indexterm> + <primary>&pdftex;</primary> + <secondary>Environment</secondary> + <tertiary>TEXFONTS</tertiary> + </indexterm> + <simpara>earch path for font metric + (<literal>.tfm</literal>) + files.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>TEXFORMATS</literal></term> + <listitem> + <indexterm> + <primary>&pdftex;</primary> + <secondary>Environment</secondary> + <tertiary>TEXFORMATS</tertiary> + </indexterm> + <simpara>Search path for format files.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>TEXPOOL</literal></term> + <listitem> + <indexterm> + <primary>&pdftex;</primary> + <secondary>Environment</secondary> + <tertiary>TEXPOOL</tertiary> + </indexterm> + <simpara>Search path for <command>pdfinitex</command> + internal strings.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>TEXEDIT</literal></term> + <listitem> + <indexterm> + <primary>&pdftex;</primary> + <secondary>Environment</secondary> + <tertiary>TEXEDIT</tertiary> + </indexterm> + <simpara>Command template for switching to editor. + The default, usually <command>vi</command>, is set when + &pdftex; is compiled.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + +</chapter> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-tex.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-tex.xml new file mode 100644 index 00000000000..71d4c8cf3b5 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-tex.xml @@ -0,0 +1,13614 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-chapter-tex.xml 146 2005-05-14 15:34:22Z mw $ --> + +<chapter id="tex" lang="en"> + <title id="tex-title">&tex;</title> + + <section id="plaintex"> + <title id="plaintex-title">&plaintex;</title> + <indexterm><primary>PlainTeX</primary></indexterm> + + <section id="plaintex-ovw"> + + <title id="plaintex-ovw-title">&overview;</title> + <para>For a really excellent reference of all &tex; primitive + control sequences see David Bausum's<indexterm><primary>People</primary><secondary>Bausum, David</secondary></indexterm> + <ulink url="http://www.tug.org/utilities/plain/cseq.html"> + <emphasis>&tex; Primitive Control Sequences</emphasis></ulink>. + </para> + </section> + </section> + + + <section id="latex"><title>&latex;</title> + + <note> + <para>The original file <filename>latex2e.texi</filename> contains + the following copyright and permission notice: + </para> + <para> + <quote>Permission is granted to make and distribute + verbatim copies of this manual provided the copyright + notice and this permission notice are preserved on all + copies.</quote> + </para> + <para> + <quote>Permission is granted to copy and distribute modified + versions of this manual under the conditions for verbatim + copying, provided that the entire resulting derived work is + distributed under the terms of a permission notice identical + to this one.</quote> + </para> + </note> + + <section id="opt-latex"> + <title id="opt-latex-title">Options</title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + </indexterm> + + <para>&latex; understands the following command line options.</para> + + <section id="opt-latex-file-line-error-style"> + <title><filename role="nohyphenation">-file-line-error-style</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-file-line-error-style</tertiary> + </indexterm> + <para>Print error messages in the form + <literal>file:line:error</literal>. + </para> + </section> + + <section id="opt-latex-fmt"> + <title><filename role="nohyphenation">-fmt=FMTNAME</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-fmt=FMTNAME</tertiary> + </indexterm> + <para>Use <literal>FMTMAME</literal> instead of program name + or a %& line. + </para> + </section> + + <section id="opt-latex-ini"> + <title><filename role="nohyphenation">-ini</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-ini</tertiary> + </indexterm> + <para>Be <command>initex</command>, for dumping formats; this + is implicitly true if the program is called as + <command>initex</command>. + </para> + </section> + + <section id="opt-latex-interaction mode"> + <title><filename role="nohyphenation">-interaction=STRING</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-interaction=STRING</tertiary> + </indexterm> + <para>Set interaction mode + (<literal>STRING=batchmode/nonstopmode/scrollmode/errorstopmode</literal>). + </para> + </section> + + <section id="opt-latex-ipc"> + <title><filename role="nohyphenation">-ipc</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-ipc</tertiary> + </indexterm> + <para>Send DVI output to a socket as well as the usual output file. + </para> + <para>Note: not available on all systems.</para> + </section> + + <section id="opt-latex-ipc-start"> + <title><filename role="nohyphenation">-ipc-start</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-ipc-start</tertiary> + </indexterm> + <para>As <literal>-ipc</literal>, and also start the server at the + other end. + </para> + <para>Note: not available on all systems.</para> + </section> + + <section id="opt-latex-jobname-name"> + <title><filename role="nohyphenation">-jobname=STRING</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-jobname=STRING</tertiary> + </indexterm> + <para>Set the job name to <literal>STRING</literal>. + </para> + </section> + + <section id="opt-latex-kpathsea-debug"> + <title><filename role="nohyphenation">-kpathsea-debug=NUMBER</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-kpathsea-debug=NUMBER</tertiary> + </indexterm> + <para>Sets path searching debugging flags according to the + bits of <literal>NUMBER</literal>. + </para> + </section> + + <section id="opt-latex-no-maketex"> + <title><filename role="nohyphenation">[-no]-maketex=FMT</filename></title> + <indexterm> + <primary>pdfTeX</primary> + <secondary>Options</secondary> + <tertiary>[-no]-maketex=FMT</tertiary> + </indexterm> + <para>Disable/enable <command>mktexFMT</command> generation + (FMT=tex/tfm). + </para> + </section> + + <section id="opt-latex-mltex"> + <title><filename role="nohyphenation">-mltex</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-mltex</tertiary> + </indexterm> + <para>Enable MLTeX extensions such as <literal>\charsubdef</literal>. + </para> + </section> + + <section id="opt-latex-output-comment"> + <title><filename role="nohyphenation">-output-comment=STRING</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-output-comment=STRING</tertiary> + </indexterm> + <para> use <literal>STRING</literal> for DVI file comment instead of date. + </para> + </section> + + <section id="opt-latex-parse-first-line"> + <title><filename role="nohyphenation">-parse-first-line</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-parse-first-line</tertiary> + </indexterm> + <para>Parse of the first line of the input file. + </para> + </section> + + <section id="opt-latex-progname"> + <title><filename role="nohyphenation">-progname=STRING</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-progname=STRING</tertiary> + </indexterm> + <para>Set program (and fmt) name to <literal>STRING</literal>. + </para> + </section> + + <section id="opt-latex-recorder"> + <title><filename role="nohyphenation">-recorder</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-recorder</tertiary> + </indexterm> + <para>Enable filename recorder. + </para> + </section> + + <section id="opt-latex-shell-escape"> + <title><filename role="nohyphenation">-shell-escape</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-shell-escape</tertiary> + </indexterm> + <para>Enable <literal>\write18{SHELL COMMAND}</literal>. + </para> + </section> + + <section id="opt-latex-src-specials"> + <title><filename role="nohyphenation">-src-specials</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-src-specials</tertiary> + </indexterm> + <para>Insert source specials into the DVI file. + </para> + </section> + + <section id="opt-latex-src-specials-where"> + <title><filename role="nohyphenation">-src-specials=WHERE</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-src-specials=WHERE</tertiary> + </indexterm> + <para>Insert source specials in certain places of + the DVI file. <literal>WHERE</literal> is a comma-separated + value list: <literal>cr display hbox math par parend vbox</literal>. + </para> + </section> + + <section id="opt-latex-translate-file-tcxname"> + <title><filename role="nohyphenation">-translate-file=TCXNAME</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-translate-file=TCXNAME</tertiary> + </indexterm> + <para>Use the <literal>TCX</literal> file <literal>TCXNAME</literal>. + </para> + </section> + + <section id="opt-latex-help"> + <title><filename role="nohyphenation">-help</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-help</tertiary> + </indexterm> + <para>Display this help and exit. + </para> + </section> + + <section id="opt-latex-version"> + <title><filename role="nohyphenation">-version</filename></title> + <indexterm> + <primary>LaTeX</primary> + <secondary>Options</secondary> + <tertiary>-version</tertiary> + </indexterm> + <para>Output version information and exit. + </para> + </section> + + </section> + + + <section id="overview"> + <title id="overview-title">&overview; of &latex; and + Local Guide + </title> + <indexterm><primary>&overview; of LaTeX</primary></indexterm> + <indexterm><primary>LaTeX overview</primary></indexterm> + + <para>The &latex; command typesets a file of text using the &tex; + program and the &latex; Macro package for &tex;. To be more + specific, it processes an input file containing the text + of a document with interspersed commands that + describe how the text should be formatted. It produces at + least three files as output: + </para> + <orderedlist> + <listitem> + <para>A <emphasis>Device Independent</emphasis>, or + <filename>.dvi</filename> file. This contains + commands that can be translated into + commands for a variety of output devices. You + can view the output of &latex; by using a program such as + <literal>xdvi</literal>, + which actually uses the <filename>.dvi</filename> file. + </para> + </listitem> + <listitem> + <para>A <emphasis>transcript</emphasis> or + <filename>.log</filename> file + that contains summary information and + diagnostic messages for any errors discovered in the input file. + </para> + </listitem> + <listitem> + <para>An <emphasis>auxiliary</emphasis> or + <filename>.aux</filename> file. This is used by &latex; itself, for things such as sectioning. + </para> + </listitem> + </orderedlist> + + <para>For a description of what goes on inside &tex;, you should consult + <citetitle>The TeXbook</citetitle> by Donald E. Knuth, + ISBN 0-201-13448-9, published jointly by the American + Mathematical Society and Addison-Wesley Publishing Company. + </para> + <para>For a description of &latex;, you should consult: + </para> + <para><citetitle>&latex;: A Document Preparation System</citetitle>, + by Leslie Lamport,<indexterm><primary>People</primary><secondary>Lamport, Leslie</secondary></indexterm> Addison-Wesley Publishing Company, 2nd edition, 1994. + </para> + <para><citetitle>The &latex; Companion</citetitle>, + by Michel + Goossens,<indexterm><primary>People</primary><secondary>Goossens, Michel</secondary></indexterm> Frank Mittelbach, <indexterm><primary>People</primary><secondary>Mittelbach, Frank</secondary></indexterm> and Alexander Samarin,<indexterm><primary>People</primary><secondary>Samarin, Alexander</secondary></indexterm> Addison-Wesley, 1994. + </para> + + </section> + + + <section id="commands"> + <title id="commands-title">Commands</title> + + <para>A &latex; command begins with the command name, + which consists of a <literal>\</literal> followed by + either (a) a string of letters or (b) a single non-letter. + Arguments contained in square brackets, + <literal>[]</literal>, + are optional while arguments + contained in braces, <literal>{}</literal>, are required. + </para> + <para>NOTE: &latex; is case sensitive. Enter all commands + in lower case unless explicitly directed to do otherwise. + </para> + + + <section id="counters"> + <title id="counters-title">Counters</title> + <indexterm><primary>Counters, a list of</primary></indexterm> + <indexterm><primary>Variables, a list of</primary></indexterm> + + <para>Everything &latex; numbers for you has a counter associated + with it. The name of the counter is the same as the name of + the environment or command that produces the number, except + with no <literal>\</literal> (<literal>enumi</literal> - + <literal>enumiv</literal> are used for + the nested enumerate environment). Below is a list + of the counters used in &latex;'s standard document + classes to control numbering. + </para> + <programlisting> +part paragraph figure enumi +chapter subparagraph table enumii +section page footnote enumiii +subsection equation mpfootnote enumiv +subsubsection</programlisting> + + <bridgehead renderas="sect5" id="cmd-addtocounter"><literal>\addtocounter</literal></bridgehead> + <indexterm><primary>\addtocounter{counter}{value}</primary></indexterm> + + <para>The <literal>\addtocounter</literal> command increments + the <literal>counter</literal> by the + amount specified by the <literal>value</literal> argument. + The <literal>value</literal> argument can be negative. + </para> + + <bridgehead renderas="sect5" id="cmd-alph-title"><literal>\alph{counter}</literal></bridgehead> + <indexterm><primary>\alph</primary></indexterm> + <indexterm><primary>\Alph</primary></indexterm> + + <para>This command causes the value of the + <literal>counter</literal> to be printed in + alphabetic characters. The <literal>\alph</literal> command + uses lower case alphabetic alphabetic characters, i.e., + <literal>a, b, c...</literal> while the + <literal>\Alph</literal> command uses upper case alphabetic + characters, i.e., + <literal>A, B, C...</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-arabic-title"><literal>\arabic{counter}</literal></bridgehead> + <indexterm><primary>\arabic</primary></indexterm> + + <para>The <literal>\arabic</literal> command causes the + value of the <literal>counter</literal> to be + printed in Arabic numbers, i.e., <literal>3</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-fnsymbol-title"><literal>\fnsymbol{counter}</literal></bridgehead> + <indexterm><primary>\fnsymbol</primary></indexterm> + + <para>The <literal>\fnsymbol</literal> command causes the + value of the <literal>counter</literal> to + be printed in a specific sequence of nine symbols that + can be used for numbering footnotes. + </para> + + <para>NB. <literal>counter</literal> must have a value + between 1 and 9 inclusive. + </para> + + <bridgehead renderas="sect5" id="cmd-newcounter-title"><literal>\newcounter{foo}[counter]</literal></bridgehead> + <indexterm><primary>\newcounter</primary></indexterm> + <indexterm><primary>Counters, creating</primary></indexterm> + + <para>The <literal>\newcounter</literal> command defines a new + counter named <literal>foo</literal>. + The counter is initialized to zero. + </para> + <para>The optional argument <literal>[counter]</literal> + causes the counter <literal>foo</literal> to be reset + whenever the counter named in the optional argument is + incremented. + </para> + + <bridgehead renderas="sect5" id="cmd-refstepcounter-title"><literal>\refstepcounter{counter}</literal></bridgehead> + <indexterm><primary>\refstepcounter</primary></indexterm> + + <para>The <literal>\refstepcounter</literal> command works + like <literal>\stepcounter</literal>. + See <link linkend="cmd-stepcounter-title">\stepcounter</link>, + except it also defines the current <literal>\ref</literal> + value to be the result of <literal>\thecounter</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-roman-title"><literal>\roman{counter}</literal></bridgehead> + <indexterm><primary>\roman</primary></indexterm> + <indexterm><primary>\Roman</primary></indexterm> + + <para>This command causes the value of the + <literal>counter</literal> to be printed in + Roman numerals. The <literal>\roman</literal> command + uses lower case Roman + numerals, i.e., <literal>i, ii, iii...</literal>, while + the <literal>\Roman</literal> command + uses upper case Roman numerals, i.e., + <literal>I, II, III...</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-stepcounter-title"><literal>\stepcounter{counter}</literal></bridgehead> + <indexterm><primary>\stepcounter</primary></indexterm> + + <para>The <literal>\stepcounter</literal> command adds + one to the <literal>counter</literal> and + resets all subsidiary counters. + </para> + + <bridgehead renderas="sect5" id="cmd-setcounter-title"><literal>\setcounter{counter}{value}</literal></bridgehead> + <indexterm><primary>\setcounter</primary></indexterm> + <indexterm><primary>Counters, setting</primary></indexterm> + + <para>The <literal>\setcounter</literal> command sets the + value of the <literal>counter</literal> to + that specified by the <literal>value</literal> argument. + </para> + + <bridgehead renderas="sect5" id="cmd-usecounter-title"><literal>\usecounter{counter}</literal></bridgehead> + <indexterm><primary>\usecounter</primary></indexterm> + + <para>The <literal>\usecounter</literal> command is used in + the second argument of the + <literal>list</literal> environment to allow the counter + specified to be used to number the list items. + </para> + + <bridgehead renderas="sect5" id="cmd-value-title"><literal>\value{counter}</literal></bridgehead> + <indexterm><primary>\value</primary></indexterm> + <indexterm><primary>Counters, getting the value of</primary></indexterm> + + <para>The <literal>\value</literal> command produces the + value of the <literal>counter</literal> named + in the mandatory argument. It can be used where &latex; + expects an integer or number, such as the second + argument of a <literal>\setcounter</literal> + or <literal>\addtocounter</literal> command, or in: + </para> +<programlisting> +\hspace{\value{foo}\parindent}</programlisting> + + <para>It is useful for doing arithmetic with counters.</para> + + </section> + + <section id="cross-references"> + <title id="cross-references-title">Cross References</title> + <indexterm><primary>Cross referencing</primary></indexterm> + + <para>One reason for numbering things like figures and + equations is to refer the reader to them, as in + <emphasis>See Figure 3 for more details.</emphasis> + A smarter version of the cross reference commands + is available in the package + <link linkend="varioref"><literal>varioref</literal></link>. + </para> + + <bridgehead renderas="sect5" id="cmd-label-title"><literal>\label{key}</literal></bridgehead> + <indexterm><primary>\label</primary></indexterm> + + <para>A <literal>\label</literal> command appearing in + ordinary text assigns to the + <literal>key</literal> the number of the current sectional + unit; one appearing + inside a numbered environment assigns that number to the + <literal>key</literal>. + </para> + <para>A <literal>key</literal> can consist of any sequence + of letters, digits, or punctuation characters. + Upper and lowercase letters are different. + </para> + <para>To avoid accidentally creating two labels with the same + name, it is common to use labels consisting of a prefix and + a suffix separated by a colon. The prefixes + conventionally used are + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>cha</literal> for chapters</simpara> + </listitem> + <listitem> + <simpara><literal>sec</literal> + for lower-level sectioning commands + </simpara> + </listitem> + <listitem> + <simpara><literal>fig</literal> for figures + </simpara> + </listitem> + <listitem> + <simpara><literal>tab</literal> for tables + </simpara> + </listitem> + <listitem> + <simpara><literal>eq</literal> for equations + </simpara> + </listitem> + </itemizedlist> + + <para>Thus, a label for a figure would look like + <literal>fig:bandersnatch</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-pageref"><literal>\pageref{key}</literal></bridgehead> + <indexterm><primary>\pageref</primary></indexterm> + <indexterm><primary>Cross referencing using page number</primary></indexterm> + + <para>The <literal>\pageref</literal> command produces the + page number of the place in the + text where the corresponding <literal>\label</literal> + command appears. ie. where + <literal>\label{key}</literal> appears. + For a smart version see + <link linkend="cmd-vpageref"><literal>\vpageref</literal></link>. + </para> + + + <bridgehead renderas="sect5" id="cmd-ref-title"><literal>\ref{key}</literal></bridgehead> + <indexterm><primary>\ref</primary></indexterm> + <indexterm><primary>Cross referencing using section number</primary></indexterm> + + <para>The <literal>\ref</literal> command produces the + number of the sectional unit, + equation number, ... of the corresponding + <literal>\label</literal> command. For a smart + version see <link linkend="cmd-vref">\vref</link>. + </para> + + </section> + + <section id="definitions"> + <title id="definitions-title">Definitions</title> + + <!-- FIXME: workaround for following bridgehead--> + + <bridgehead renderas="sect5" id="cmd-newcommand-title"><literal>\newcommand</literal></bridgehead> + <indexterm><primary>\newcommand</primary></indexterm> + <indexterm><primary>Commands, defining new ones</primary></indexterm> + <indexterm><primary>Defining a new command</primary></indexterm> + +<programlisting> +\newcommand{cmd}[args]{definition} +\newcommand{cmd}[args][default]{definition} +\renewcommand{cmd}[args]{definition} +\renewcommand{cmd}[args][default]{definition}</programlisting> + + <para>These commands define (or redefine) a command.</para> + <table frame="none"> + <title>Options for <literal>\newcommand</literal></title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row role="db2latex:rowvspace" rowsep="0"> + <entry>cmd</entry> + <entry>A command name beginning with a + <literal>\</literal>. For + <literal>\newcommand</literal> it + must not be already defined and must not begin + with <literal>\end</literal>; for + <literal>\renewcommand</literal> it must already + be defined. + </entry> + </row> + <row role="db2latex:rowvspace" rowsep="0"> + <entry>args</entry> + <entry>An integer from 1 to 9 denoting the number of + arguments of the command being defined. + The default is for the command to have no arguments. + </entry> + </row> + <row role="db2latex:rowvspace" rowsep="0"> + <entry>def</entry> + <entry>If this optional parameter is present, it + means that the command's first argument is + optional. The default value of the optional + argument is <literal>def</literal>. + </entry> + </row> + <row role="db2latex:rowvspace" rowsep="0"> + <entry>definition</entry> + <entry>The text to be substituted for every + occurrence of <literal>cmd</literal>; a + parameter of the form <literal>#n</literal> in + <literal>cmd</literal> is replaced by the text of + the nth argument when this substitution takes place. + </entry> + </row> + </tbody> + </tgroup> + </table> + + <bridgehead renderas="sect5" id="cmd-newenvironment-title"><literal>\newenvironment</literal></bridgehead> + <indexterm><primary>\newenvironment</primary></indexterm> + <indexterm><primary>Environments, defining</primary></indexterm> + <indexterm><primary>Defining new environments</primary></indexterm> + +<programlisting> +\newenvironment{nam}[args]{begdef}{enddef} +\newenvironment{nam}[args][default]{begdef}{enddef} +\renewenvironment{nam}[args]{begdef}{enddef}</programlisting> + + <para>These commands define or redefine an environment.</para> + <table frame="none"> + <title>Options for <literal>\newenvironment</literal></title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"> + <entry>nam</entry> + <entry>The name of the environment. For + <literal>\newenvironment</literal> there must be + no currently defined environment by that name, + and the command + <literal>\nam</literal> must be undefined. + For <literal>\renewenvironment</literal> the + environment must already be defined. + </entry> + </row> + <row rowsep="0"> + <entry>args</entry> + <entry>An integer from 1 to 9 denoting the number + of arguments of the newly-defined environment. + The default is no arguments. Arguments can only + be used in te <literal>{begdef}</literal> part. + </entry> + </row> + <row rowsep="0"> + <entry>default</entry> + <entry>If this is specified, the first argument is + optional, and <literal>default</literal> + gives the default value for that argument. + </entry> + </row> + <row rowsep="0"> + <entry>begdef</entry> + <entry>The text substituted for every occurrence of + <literal>\begin{nam}</literal>; a + parameter of the form <literal>#n</literal> in + <literal>cmd</literal> is replaced by the text of + the nth argument when this substitution takes place. + </entry> + </row> + <row rowsep="0"> + <entry>enddef</entry> + <entry>The text substituted for every occurrence + of <literal>\end{nam}</literal>. It may + not contain any argument parameters. + </entry> + </row> + </tbody> + </tgroup> + </table> + + <bridgehead renderas="sect5" id="cmd-newtheorem-title"><literal>\newtheorem</literal></bridgehead> + <indexterm><primary>\newtheorem</primary></indexterm> + <indexterm><primary>Theorems, defining</primary></indexterm> + <indexterm><primary>Defining new theorems</primary></indexterm> + + <programlisting>\newtheorem{env_name}{caption}[within] +\newtheorem{env_name}[numbered_like]{caption}</programlisting> + + <para>This command defines a theorem-like environment.</para> + <table frame="none"> + <title>Options for <literal>\newtheorem</literal></title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"> + <entry>env_name</entry> + <entry>The name of the environment to be defined. + A string of letters. It must + not be the name of an existing environment or counter. + </entry> + </row> + <row rowsep="0"> + <entry>caption</entry> + <entry>The text printed at the beginning of the + environment, right before the + number. This may simply say + <emphasis>Theorem</emphasis>, for example. + </entry> + </row> + <row rowsep="0"> + <entry>within</entry> + <entry>The name of an already defined counter, usually + of a sectional unit. Provides a means of + resetting the new theorem counter + <emphasis role="bold">within</emphasis> + the sectional unit. + </entry> + </row> + <row rowsep="0"> + <entry>numbered_like</entry> + <entry>The name of an already defined theorem-like environment. + </entry> + </row> + </tbody> + </tgroup> + </table> + + <para>The <literal>\newtheorem</literal> command may have at + most one optional argument. + </para> + + <bridgehead renderas="sect5" id="cmd-newfont-title"><literal>\newfont</literal></bridgehead> + <indexterm><primary>\newfont</primary></indexterm> + <indexterm><primary>Fonts, new commands for</primary></indexterm> + <indexterm><primary>Defining new fonts</primary></indexterm> + + <para><literal>\newfont{cmd}{font_name}</literal> + </para> + <para>Defines the command name <literal>cmd</literal>, which + must not be currently + defined, to be a declaration that selects the font named + <literal>font_name</literal> to be the current font. + </para> + + </section> + + <section id="document-classes"> + <title id="document-classes-title">Document Classes</title> + <indexterm><primary>Document Classes</primary></indexterm> + <indexterm><primary>Classes of document</primary></indexterm> + <indexterm><primary>article class</primary></indexterm> + <indexterm><primary>report class</primary></indexterm> + <indexterm><primary>book class</primary></indexterm> + <indexterm><primary>letter class</primary></indexterm> + <indexterm><primary>\documentclass</primary></indexterm> + + <para>Valid &latex; document classes include: + </para> + <itemizedlist spacing="compact"> + <listitem><simpara>article</simpara> + </listitem> + <listitem><simpara>report</simpara> + </listitem> + <listitem><simpara>letter</simpara> + </listitem> + <listitem><simpara>book</simpara> + </listitem> + <listitem><simpara>slides</simpara> + </listitem> + </itemizedlist> + + <para>Other document classes are often available. + See <link linkend="overview">&overview;</link>, for details. + They are selected with the following command: + </para> + <para><literal>\documentclass [options] {class}</literal> + </para> + <para>All the standard classes (except slides) accept the + following options + for selecting the typeface size + (<literal>10pt</literal> is default): + </para> + <para><literal>10pt, 11pt, 12pt</literal></para> + <para>All classes accept these options for selecting the + paper size (default is letter): + </para> + <para>a4paper, a5paper, b5paper, letterpaper, legalpaper, + executivepaper + </para> + <para>Miscellaneous options: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara>landscape --- selects landscape format. + Default is portrait. + </simpara> + </listitem> + <listitem> + <simpara>titlepage, notitlepage --- selects if there should + be a separate title page. + </simpara> + </listitem> + <listitem> + <simpara>leqno --- equation number on left side of equations. + Default is right side. + </simpara> + </listitem> + <listitem> + <simpara>fleqn --- displayed formulas flush left. + Default is centered. + </simpara> + </listitem> + <listitem> + <simpara>openbib --- use <emphasis>open</emphasis> + bibliography format. + </simpara> + </listitem> + <listitem> + <simpara>draft, final --- mark/do not mark overfull + boxes with a rule. Default is final. + </simpara> + </listitem> + </itemizedlist> + + <para>These options are not available with the slides class: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara>oneside, twoside --- selects one- or twosided + layout. Default is + oneside, except for the book class. + </simpara> + </listitem> + <listitem> + <simpara>openright, openany --- determines if a chapter + should start on a + right-hand page. Default is openright for book. + </simpara> + </listitem> + <listitem> + <simpara>onecolumn, twocolumn --- one or two columns. + Defaults to one column. + </simpara> + </listitem> + </itemizedlist> + + <para>The slides class offers the option + <literal>clock</literal> for printing the time at + the bottom of each note. + </para> + <para>If you specify more than one option, they must be + separated by a comma. + </para> + <para>Additional packages are loaded by a + </para> + <para id="usepackage-linkend"> + <literal>\usepackage[options]{pkg}</literal> + <indexterm><primary>\usepackage</primary></indexterm> + </para> + <para>command. If you specify more than one package, they + must be separated by a comma. + <indexterm><primary>Packages, loading</primary></indexterm> + <indexterm><primary>Loading additional packages</primary></indexterm> + </para> + <para>Any options given in the <literal>\documentclass</literal> + command that are unknown + by the selected document class are passed on to the packages + loaded with <literal>\usepackage</literal>. + <indexterm><primary>Global options</primary></indexterm> + <indexterm><primary>Options, global</primary></indexterm> + </para> + + <indexterm><primary>Layout commands</primary></indexterm> + + </section> + + <section id="layout"> + <title id="layout-title">Layout</title> + + <para>Miscellaneous commands for controlling the general + layout of the page. + </para> + + <bridgehead renderas="sect5" id="cmd-flushbottom-title"><literal>\flushbottom</literal></bridgehead> + <indexterm><primary>\flushbottom</primary></indexterm> + + <para>The <literal>\flushbottom</literal> declaration makes + all text pages the same + height, adding extra vertical space when necessary to fill + out the page. + </para> + <para>This is the standard if twocolumn mode is selected. + </para> + + <bridgehead renderas="sect5" id="cmd-onecolumn-title"><literal>\onecolumn</literal></bridgehead> + <indexterm><primary>\onecolumn</primary></indexterm> + + <para>The <literal>\onecolumn</literal> declaration starts + a new page and produces single-column output. + </para> + + <bridgehead renderas="sect5" id="cmd-raggedbottom-title"><literal>\raggedbottom</literal></bridgehead> + <indexterm><primary>\raggedbottom</primary></indexterm> + + <para>The <literal>\raggedbottom</literal> declaration + makes all pages the height of the + text on that page. No extra vertical space is added. + </para> + + <bridgehead renderas="sect5" id="cmd-twocolumn-title"><literal>\twocolumn</literal></bridgehead> + <indexterm><primary>\twocolumn</primary></indexterm> + <indexterm><primary>Multicolumn text</primary></indexterm> + + <para><literal>\twocolumn[text]</literal> + </para> + <para>The <literal>\twocolumn</literal> declaration starts + a new page and produces + two-column output. If the optional <literal>text</literal> + argument is present, it + is typeset in one-column mode. + </para> + + </section> + + <!-- FIXME --> + + <section id="env-latex"> + <title id="env-latex-title">Environments</title> + <indexterm><primary>Environments</primary></indexterm> + <indexterm><primary>\begin</primary></indexterm> + <indexterm><primary>\end</primary></indexterm> + + <para>&latex; provides a number of different paragraph-making + environments. + Each environment begins and ends in the same manner. + </para> + <programlisting> +\begin{environment-name} + . + . + . +\end{environment-name}</programlisting> + + <bridgehead renderas="sect5" id="env-array">array</bridgehead> + <indexterm><primary>Arrays, math</primary></indexterm> + <indexterm><primary>array</primary></indexterm> + + <programlisting> +\begin{array}{col1col2...coln} +column 1 entry & column 2 entry ... & column n entry \\ + . + . + . +\end{array}</programlisting> + + <para>Math arrays are produced with the array environment. + It has a single + mandatory argument describing the number of columns and + the alignment within them. Each column, + <literal>coln</literal>, is specified by a single letter + that tells how items in that row should be formatted. + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>c</literal> --- for centered + </simpara> + </listitem> + <listitem> + <simpara><literal>l</literal> --- for flush left + </simpara> + </listitem> + <listitem> + <simpara><literal>r</literal> --- for flush right + </simpara> + </listitem> + </itemizedlist> + + <para>Column entries must be separated by an + <literal>&</literal>. Column entries may + include other &latex; commands. Each row of the array + must be terminated + with the string <literal>\\</literal>. + </para> + <para>Note that the <literal>array</literal> environment + can only be used in math mode, so + normally it is used inside an <literal>equation</literal> + environment. + </para> + + <bridgehead renderas="sect5" id="env-center"><literal>center</literal></bridgehead> + <indexterm><primary>center</primary></indexterm> + <indexterm><primary>Centering text, environment for</primary></indexterm> + + <programlisting> +\begin{center} +Text on line 1 \\ +Text on line 2 \\ + . + . + . +\end{center}</programlisting> + + <para>The <literal>center</literal> environment allows you to + create a paragraph consisting of lines that are + centered within the left and right margins on + the current page. Each line must be terminated with the string + <literal>\\</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-centering"><literal>\centering</literal></bridgehead> + <indexterm><primary>\centering</primary></indexterm> + <indexterm><primary>Centering text</primary></indexterm> + <indexterm><primary>Formatting Text</primary></indexterm> + + <para>This declaration corresponds to the + <literal>center</literal> environment. This + declaration can be used inside an environment such as + <literal>quote</literal> or in + a <literal>parbox</literal>. The text of a figure or + table can be centered on the + page by putting a <literal>\centering</literal> command + at the beginning of the + figure or table environment. + </para> + <para>Unlike the <literal>center</literal> environment, + the <literal>\centering</literal> command does + not start a new paragraph; it simply changes how &latex; + formats paragraph + units. To affect a paragraph unit's format, the scope of the + declaration must contain the blank line or + <literal>\end</literal> command (of an + environment like quote) that ends the paragraph unit. + </para> + + + <bridgehead renderas="sect5" id="env-description"><literal>description</literal></bridgehead> + <indexterm><primary>description</primary></indexterm> + <indexterm><primary>Labelled lists, creating</primary></indexterm> + + <programlisting> +\begin{description} +\item [label] First item +\item [label] Second item + . + . + . +\end{description}</programlisting> + + <para>The <literal>description</literal> environment is + used to make labelled lists. The + <literal>label</literal> is bold face and flushed right. + </para> + + <bridgehead renderas="sect5" id="env-enumerate"><literal>enumerate</literal></bridgehead> + <indexterm><primary>enumerate</primary></indexterm> + <indexterm><primary>Lists of items, numbered</primary></indexterm> + + <programlisting> +\begin{enumerate} +\item First item +\item Second item + . + . + . +\end{enumerate}</programlisting> + + <para>The <literal>enumerate</literal> environment produces + a numbered list. Enumerations can be nested within + one another, up to four levels deep. They can also be + nested within other paragraph-making environments. + </para> + <para>Each item of an enumerated list begins with an + <literal>\item</literal> command. + There must be at least one <literal>\item</literal> + command within the environment. + </para> + <para>The <literal>enumerate</literal> environment uses the + <literal>enumi</literal> through + <literal>enumiv</literal> counters + (see <link linkend="counters">Counters</link>). + The type of numbering can be + changed by redefining <literal>\theenumi</literal> etc. + </para> + + <bridgehead renderas="sect5" id="env-eqnarray"><literal>eqnarray</literal></bridgehead> + <indexterm><primary>eqnarray</primary></indexterm> + <indexterm><primary>Equations, aligning</primary></indexterm> + <indexterm><primary>Aligning Equations</primary></indexterm> + + <programlisting> +\begin{eqnarray} +math formula 1 \\ +math formula 2 \\ + . + . + . +\end{eqnarray}</programlisting> + + <para>The <literal>eqnarray</literal> environment is used + to display a sequence of + equations or inequalities. It is very much like a three-column + <literal>array</literal> environment, with consecutive + rows separated by <literal>\\</literal> + and consecutive items within a row separated by an + <literal>&</literal>. + </para> + <para>An equation number is placed on every line unless that + line has a <literal>\nonumber</literal> command. + </para> + <indexterm><primary>\lefteqn</primary></indexterm> + + <para>The command <literal>\lefteqn</literal> is used for + splitting long formulas across + lines. It typesets its argument in display style flush + left in a box of zero width. + </para> + + <bridgehead renderas="sect5" id="env-equation"><literal>equation</literal></bridgehead> + <indexterm><primary>equation</primary></indexterm> + <indexterm><primary>Equations, environment for</primary></indexterm> + <indexterm><primary>Formulae, environment for</primary></indexterm> + + <programlisting> +\begin{equation} + math formula +\end{equation}</programlisting> + + <para>The <literal>equation</literal> environment centers + your equation on the page and places + the equation number in the right margin. + </para> + + <bridgehead renderas="sect5" id="env-figure"><literal>figure</literal></bridgehead> + <indexterm><primary>figure</primary></indexterm> + <indexterm><primary>Inserting figures</primary></indexterm> + + <programlisting> +\begin{figure}[placement] + + body of the figure + +\caption{figure title} +\end{figure}</programlisting> + + <indexterm><primary>\caption</primary></indexterm> + <para>Figures are objects that are not part of the + normal text, and are + usually <emphasis>floated</emphasis> to a convenient + place, like the top of a page. + Figures will not be split between two pages. + </para> + <para>The optional argument <literal>[placement]</literal> + determines where &latex; will try + to place your figure. There are four places where + &latex; can possibly put a float: + </para> + <orderedlist> + <listitem> + <para><literal>h</literal> (Here) - at the position + in the text where the figure + environment appears. + </para> + </listitem> + <listitem> + <para><literal>t</literal> (Top) - at the top of a text page. + </para> + </listitem> + <listitem> + <para><literal>b</literal> (Bottom) - at the bottom + of a text page. + </para> + </listitem> + <listitem> + <para><literal>p</literal> (Page of floats) - on a + separate float page, which is a page + containing no text, only floats. + </para> + </listitem> + </orderedlist> + + <para>The standard report and article classes use the + default placement <literal>tbp</literal>. + </para> + <para>The body of the figure is made up of whatever text, + &latex; commands, etc. + you wish. The <literal>\caption</literal> command + allows you to title your figure. + </para> + + <bridgehead renderas="sect5" id="env-flushleft"><literal>flushleft</literal></bridgehead> + <indexterm><primary>flushleft</primary></indexterm> + <indexterm><primary>Left-justifying text, environment for</primary></indexterm> + <indexterm><primary>Ragged right text, environment for</primary></indexterm> + + <programlisting> +\begin{flushleft} +Text on line 1 \\ +Text on line 2 \\ + . + . + . +\end{flushleft}</programlisting> + + <para>The <literal>flushleft</literal> environment allows + you to create a paragraph + consisting of lines that are flushed left, to the + left-hand margin. + Each line must be terminated with the string + <literal>\\</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-raggedright"><literal>\raggedright</literal></bridgehead> + <indexterm><primary>\raggedright</primary></indexterm> + <indexterm><primary>Ragged right text</primary></indexterm> + <indexterm><primary>Left-justifying text</primary></indexterm> + <indexterm><primary>Justification, ragged right</primary></indexterm> + + <para>This declaration corresponds to the + <literal>flushleft</literal> environment. This + declaration can be used inside an environment such + as <literal>quote</literal> or in + a <literal>parbox</literal>. + </para> + <para>Unlike the <literal>flushleft</literal> + environment, the <literal>\raggedright</literal> command + does not start a new paragraph; it simply changes + how &latex; formats + paragraph units. To affect a paragraph unit's format, + the scope of the + declaration must contain the blank line or + <literal>\end</literal> command (of an + environment like quote) that ends the paragraph unit. + </para> + + <bridgehead renderas="sect5" id="env-flushright"><literal>flushright</literal></bridgehead> + <indexterm><primary>flushright</primary></indexterm> + <indexterm><primary>Ragged left text, environment for</primary></indexterm> + <indexterm><primary>Right-justifying text, environment for</primary></indexterm> + + <programlisting> +\begin{flushright} +Text on line 1 \\ +Text on line 2 \\ + . + . + . +\end{flushright}</programlisting> + + <para>The <literal>flushright</literal> environment allows + you to create a paragraph + consisting of lines that are flushed right, to the + right-hand margin. Each line must be terminated with + the string <literal>\\</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-raggedleft"><literal>\raggedleft</literal></bridgehead> + <indexterm><primary>\raggedleft</primary></indexterm> + <indexterm><primary>Ragged left text</primary></indexterm> + <indexterm><primary>Justification, ragged left</primary></indexterm> + <indexterm><primary>Right-justifying text</primary></indexterm> + + <para>This declaration corresponds to the + <literal>flushright</literal> environment. This + declaration can be used inside an environment such as + <literal>quote</literal> or in + a <literal>parbox</literal>. + </para> + <para>Unlike the <literal>flushright</literal> + environment, the <literal>\raggedleft</literal> command + does not start a new paragraph; it simply changes + how &latex; formats + paragraph units. To affect a paragraph unit's format, + the scope of the + declaration must contain the blank line or + <literal>\end</literal> command (of an + environment like quote) that ends the paragraph unit. + </para> + + <bridgehead renderas="sect5" id="env-itemize"><literal>itemize</literal></bridgehead> + <indexterm><primary>itemize</primary></indexterm> + <indexterm><primary>\item</primary></indexterm> + <indexterm><primary>Lists of items</primary></indexterm> + + <programlisting> +\begin{itemize} +\item First item +\item Second item + . + . + . +\end{itemize}</programlisting> + + <para>The <literal>itemize</literal> environment produces + a <emphasis>bulleted</emphasis> list. Itemizations + can be nested within one another, up to four levels deep. + They can also + be nested within other paragraph-making environments. + </para> + <para>Each item of an <literal>itemized</literal> list + begins with an <literal>\item</literal> command. + There must be at least one <literal>\item</literal> + command within the environment. + </para> + <para>The <literal>itemize</literal> environment uses the + <literal>itemi</literal> through + <literal>itemiv</literal> counters (see + <link linkend="counters">Counters</link>). The type of + numbering can be + changed by redefining <literal>\theitemi</literal> etc. + </para> + + <bridgehead renderas="sect5" id="env-letter"><literal>letter</literal></bridgehead> + <indexterm><primary>letter</primary></indexterm> + + <para>This environment is used for creating letters. + See <link linkend="letters">Letters</link>. + </para> + + <bridgehead renderas="sect5" id="env-list"><literal>list</literal></bridgehead> + <indexterm><primary>list</primary></indexterm> + <indexterm><primary>Lists of items, generic</primary></indexterm> + + <para>The <literal>list</literal> environment is a generic + environment which is used for + defining many of the more specific environments. It is + seldom used in documents, but often in macros. + </para> + <programlisting> +\begin{list}{label}{spacing} +\item First item +\item Second item + . + . + . +\end{list}</programlisting> + + <para>The <literal>{label}</literal> argument specifies how + items should be labelled. + This argument is a piece of text that is inserted in a box + to form the label. This argument can and usually does + contain other &latex; commands. + </para> + <para>The <literal>{spacing}</literal> argument contains + commands to change the spacing + parameters for the list. This argument will most often + be null, i.e., + <literal>{}</literal>. This will select all default + spacing which should suffice + for most cases. + </para> + + <bridgehead renderas="sect5" id="env-minipage"><literal>minipage</literal></bridgehead> + <indexterm><primary>minipage</primary></indexterm> + <indexterm><primary>Footnotes in figures</primary></indexterm> + <indexterm><primary>Figures, footnotes in</primary></indexterm> + <indexterm><primary>Minipage, creating a</primary></indexterm> + + <programlisting> +\begin{minipage}[position][height][inner-pos]{width} + text +\end{minipage}</programlisting> + + <para>The <literal>minipage</literal> environment is similar + to a <literal>\parbox</literal> command. + It takes the same optional <literal>position</literal> + argument and mandatory + <literal>width</literal> argument. You may use other + paragraph-making environments + inside a minipage. + </para> + <para>Footnotes in a <literal>minipage</literal> environment + are handled in a way that is + particularly useful for putting footnotes in figures or + tables. + A <literal>\footnote</literal> or + <literal>\footnotetext</literal> command puts the footnote at + the bottom of the minipage instead of at the bottom of the + page, and it + uses the <literal>mpfootnote</literal> counter instead of + the ordinary + <literal>footnote</literal> counter See + <link linkend="counters">Counters</link>. + </para> + <para>NOTE: Don't put one minipage inside another if you are + using footnotes; + they may wind up at the bottom of the wrong minipage. + </para> + + <bridgehead renderas="sect5" id="env-picture"><literal>picture</literal></bridgehead> + <indexterm><primary>picture</primary></indexterm> + <indexterm><primary>Creating pictures</primary></indexterm> + <indexterm><primary>Pictures, creating</primary></indexterm> + + <programlisting> +\begin{picture}(width,height)(x offset,y offset) + . + . + picture commands + . + . +\end{picture}</programlisting> + + <para>The <literal>picture</literal> environment allows you + to create just about any kind + of picture you want containing text, lines, arrows and + circles. You tell &latex; where to put things in the picture + by specifying their coordinates. A coordinate is a number + that may have a decimal point and a minus sign --- a number + like <literal>5</literal>, <literal>2.3</literal> or + <literal>-3.1416</literal>. A coordinate specifies a length + in multiples of the unit length + <literal>\unitlength</literal>, so if + <literal>\unitlength</literal> has been set to + <literal>1cm</literal>, + then the coordinate 2.54 specifies a length of + 2.54 centimetres. You can change the value of + <literal>\unitlength</literal> anywhere you want, using the + <literal>\setlength</literal> command, but strange things + will happen if you try + changing it inside the picture environment. + </para> + <para>A position is a pair of coordinates, such as + <literal>(2.4,-5)</literal>, specifying + the point with x-coordinate <literal>2.4</literal> + and y-coordinate <literal>-5</literal>. + Coordinates are specified in the usual way with + respect to an origin, which is normally at the + lower-left corner of the picture. Note that + when a position appears as an argument, it is + not enclosed in braces; + the parentheses serve to delimit the argument. + </para> + <para>The <literal>picture</literal> environment has one + mandatory argument, which is a + <literal>position</literal>. It specifies the size of + the picture. The environment + produces a rectangular box with width and height determined + by this argument's x- and y-coordinates. + </para> + <para>The <literal>picture</literal> environment also has + an optional <literal>position</literal> + argument, following the <literal>size</literal> argument, + that can change the + origin. (Unlike ordinary optional arguments, this argument + is not contained in square brackets.) The optional + argument gives the coordinates of the point at the + lower-left corner of the picture (thereby determining + the origin). For example, if <literal>\unitlength</literal> + has been set to <literal>1mm</literal>, the command + <programlisting> +\begin{picture}(100,200)(10,20)</programlisting> + produces a picture of width 100 millimetres and height 200 + millimetres, whose lower-left corner is the point (10,20) + and whose upper-right corner is therefore the point + (110,220). When you first draw a picture, you will + omit the optional argument, leaving the origin + at the lower-left corner. If you then want to modify + your picture by shifting everything, you just add the + appropriate optional argument. + </para> + <para>The environment's mandatory argument determines the + nominal size of the picture. This need bear no relation + to how large the picture really is; + &latex; will happily allow you to put things outside the + picture, or even off the page. The picture's nominal + size is used by &latex; in determining + how much room to leave for it. + </para> + <para>Everything that appears in a picture is drawn by + the <literal>\put</literal> + command. The command + <programlisting> +\put (11.3,-.3){...}</programlisting> + puts the object specified by <literal>...</literal> + in the picture, with its + reference point at coordinates (11.3,-.3). + The reference points for + various objects will be described below. + </para> + <para>The <literal>\put</literal> command creates an + <emphasis role="bold">LR box</emphasis>. You can put anything + in the text argument of the <literal>\put</literal> + command that you'd put into the + argument of an <literal>\mbox</literal> and related + commands. When you do this, the + reference point will be the lower left corner of the box. + </para> + <para>Picture commands: + </para> + + <bridgehead renderas="sect5" id="cmd-circle"><literal>\circle{diameter}, \circle*{diameter}</literal></bridgehead> + <indexterm><primary>\circle</primary></indexterm> + + <para>The <literal>\circle</literal> command produces a + circle with a diameter as close to + the specified one as possible. If the + <literal>*</literal>-form of the command is + used, &latex; draws a solid circle. + </para> + <para>Note that only circles up to 40 pt can be drawn. + </para> + + <bridgehead renderas="sect5" id="cmd-dashbox"><literal>\dashbox</literal></bridgehead> + <indexterm><primary>\dashbox</primary></indexterm> + + <para>Draws a box with a dashed line. + </para> + <para><literal>\dashbox{dash_length}(width,height){...}</literal> + </para> + <para>The <literal>\dashbox</literal> has an extra + argument which specifies the width of + each dash. A dashed box looks best when the + <literal>width</literal> and + <literal>height</literal> are multiples of the + <literal>dash_length</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-frame"><literal>\frame{...}</literal></bridgehead> + <indexterm><primary>\frame</primary></indexterm> + + <para>The <literal>\frame</literal> command puts a + rectangular frame around the object + specified in the argument. The reference point + is the bottom left corner of the frame. No extra + space is put between the frame and the object. + </para> + + <bridgehead renderas="sect5" id="cmd-framebox-op-picture-cp"><literal>\framebox(width,height)[position]{...}</literal></bridgehead> + <indexterm><primary>\framebox</primary></indexterm> + + <para>The <literal>\framebox</literal> command is exactly + the same as the <literal>\makebox</literal> + command, except that it puts a frame around the + outside of the box that it creates. + </para> + <para>The <literal>framebox</literal> command produces + a rule of thickness + <literal>\fboxrule</literal>, and leaves a space + <literal>\fboxsep</literal> between the rule + and the contents of the box. + </para> + + <bridgehead renderas="sect5" id="cmd-line"><literal>\line(x slope,y slope){length}</literal></bridgehead> + <indexterm><primary>\line</primary></indexterm> + + <para>The <literal>\line</literal> command draws a + line of the specified <literal>length</literal> and + <literal>slope</literal>. + </para> + <para>Note that &latex; can only draw lines with + slope = x/y, where x and y + have integer values from -6 through 6. + </para> + + <bridgehead renderas="sect5" id="cmd-linethickness"><literal>\linethickness{dimension}</literal></bridgehead> + <indexterm><primary>\linethickness</primary></indexterm> + + <para>Declares the thickness of horizontal and vertical + lines in a picture + environment to be <literal>dimension</literal>, + which must be a positive length. It + does not affect the thickness of slanted lines + and circles, or the quarter circles drawn by + <literal>\oval</literal> to form the corners of an oval. + </para> + + <bridgehead renderas="sect5" id="cmd-makebox-op-picture-cp"><literal>\makebox(width,height)[position]{...}</literal></bridgehead> + <indexterm><primary>\makebox (picture)</primary></indexterm> + + <para>The <literal>\makebox</literal> command for the + picture environment is similar to + the normal <literal>\makebox</literal> command except + that you must specify a + <literal>width</literal> and <literal>height</literal> + in multiples of <literal>\unitlength</literal>. + </para> + <para>The optional argument, <literal>[position]</literal>, + specifies the quadrant that your text appears in. + You may select up to two of the following: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>t</literal> - Moves the item to the + top of the rectangle + </simpara> + </listitem> + <listitem> + <simpara><literal>b</literal> - Moves the item to the bottom + </simpara> + </listitem> + <listitem> + <simpara><literal>l</literal> - Moves the item to the left + </simpara> + </listitem> + <listitem> + <simpara><literal>r</literal> - Moves the item to the right + </simpara> + </listitem> + </itemizedlist> + + <para>See <link linkend="cmd-makebox">\makebox</link>. + </para> + + <bridgehead renderas="sect5" id="cmd-multiput"><literal>\multiput(x coord,y coord)(delta x,delta y){number of copies}{object}</literal></bridgehead> + <indexterm><primary>\multiput</primary></indexterm> + + <para>The <literal>\multiput</literal> command can be + used when you are putting the same + object in a regular pattern across a picture. + </para> + + <bridgehead renderas="sect5" id="cmd-oval"><literal>\oval(width,height)[portion]</literal></bridgehead> + <indexterm><primary>\oval</primary></indexterm> + + <para>The <literal>\oval</literal> command produces + a rectangle with rounded corners. The + optional argument, <literal>[portion]</literal>, + allows you to select part of the + oval. + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>t</literal> - Selects the top portion + </simpara> + </listitem> + <listitem> + <simpara><literal>b</literal> - Selects the bottom portion + </simpara> + </listitem> + <listitem> + <simpara><literal>r</literal> - Selects the right portion + </simpara> + </listitem> + <listitem> + <simpara><literal>l</literal> - Selects the left portion + </simpara> + </listitem> + </itemizedlist> + + <para>Note that the <emphasis>corners</emphasis> of + the oval are made + with quarter circles with + a maximum radius of 20 pt, so large + <emphasis>ovals</emphasis> will + look more like boxes with rounded corners. + </para> + + <bridgehead renderas="sect5" id="cmd-put"><literal>\put(x coord,y coord){ ... }</literal></bridgehead> + <indexterm><primary>\put</primary></indexterm> + + <para>The <literal>\put</literal> command places the + item specified by the mandatory + argument at the given coordinates. + </para> + + <bridgehead renderas="sect5" id="cmd-shortstack"><literal>\shortstack[position]{... \\ ... \\ ...}</literal></bridgehead> + <indexterm><primary>\shortstack</primary></indexterm> + + <para>The <literal>\shortstack</literal> command produces + a stack of objects. The valid + positions are: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>r</literal> - Moves the objects to the + right of the stack + </simpara> + </listitem> + <listitem> + <simpara><literal>l</literal> - Moves the objects to + the left of the stack + </simpara> + </listitem> + <listitem> + <simpara><literal>c</literal> - Moves the objects to + the centre of the stack (default) + </simpara> + </listitem> + </itemizedlist> + + <bridgehead renderas="sect5" id="cmd-vector"><literal>\vector(x slope,y slope){length}</literal></bridgehead> + <indexterm><primary>\vector</primary></indexterm> + + <para>The <literal>\vector</literal> command draws a + line with an arrow of the specified + length and slope. The <literal>x</literal> and + <literal>y</literal> values must lie between -4 + and +4, inclusive. + </para> + + <bridgehead renderas="sect5" id="env-quotation"><literal>quotation</literal></bridgehead> + <indexterm><primary>quotation</primary></indexterm> + <indexterm><primary>Quoted text with paragraph indentation, displaying</primary></indexterm> + <indexterm><primary>Displaying quoted text with paragraph indentation</primary></indexterm> + + <programlisting> +\begin{quotation} + text +\end{quotation}</programlisting> + + <para>The margins of the <literal>quotation</literal> + environment are indented on the left + and the right. The text is justified at both margins + and there is paragraph indentation. Leaving a blank + line between text produces a new paragraph. + </para> + + <bridgehead renderas="sect5" id="env-quote"><literal>quote</literal></bridgehead> + <indexterm><primary>quote</primary></indexterm> + <indexterm><primary>Quoted text, displaying</primary></indexterm> + <indexterm><primary>Displaying quoted text</primary></indexterm> + + <programlisting> +\begin{quote} + text +\end{quote}</programlisting> + + <para>The margins of the <literal>quote</literal> + environment are indented on the left and + the right. The text is justified at both margins. + Leaving a blank line between text produces a new paragraph. + </para> + + <bridgehead renderas="sect5" id="env-tabbing"><literal>tabbing</literal></bridgehead> + <indexterm><primary>tabbing</primary></indexterm> + <indexterm><primary>Tab stops, using</primary></indexterm> + <indexterm><primary>Lining text up in columns using tab stops</primary></indexterm> + + <programlisting>\begin{tabbing} +text \= more text \= still more text \= last text \\ +second row \> \> more \\ + . + . + . +\end{tabbing}</programlisting> + + <para>The <literal>tabbing</literal> environment provides + a way to align text in columns. + It works by setting tab stops and tabbing to them much + the way you do + with an ordinary typewriter. + </para> + <para>It is best suited for cases where the width of each + column is constant and known in advance. + </para> + <para>This environment can be broken across pages, + unlike the <literal>tabular</literal> + environment. + </para> + <para>The following commands can be used inside a + <literal>tabbing</literal> environment: + </para> + <table frame="none"> + <title>Commands in a <literal>tabbing</literal> environment</title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"><entry>\= + <indexterm><primary>\=</primary></indexterm> + </entry> + <entry> + Sets a tab stop at the current position. + </entry> + </row> + <row rowsep="0"><entry>\> + <indexterm><primary>\></primary></indexterm> + </entry> + <entry> + Advances to the next tab stop. + </entry> + </row> + <row rowsep="0"><entry>\< + <indexterm><primary>\< </primary></indexterm> + </entry> + <entry> + This command allows you to put something to the + left of the + local margin without changing the margin. + Can only be used at the start of the line. + </entry> + </row> + <row rowsep="0"><entry>\+ + <indexterm><primary>\+</primary></indexterm> + </entry> + <entry> + Moves the left margin of the next and all the + following commands one tab stop to the right. + </entry> + </row> + <row rowsep="0"><entry>\- + <indexterm><primary>\- (tabbing) </primary></indexterm> + </entry> + <entry> + Moves the left margin of the next and all the + following commands one tab stop to the left. + </entry> + </row> + <row rowsep="0"><entry>\' + <indexterm><primary>\' (tabbing)</primary></indexterm> + </entry> + <entry> + Moves everything that you have typed so far in the + current column, i.e. everything from the most recent + <literal>\></literal>, + <literal>\<</literal>, <literal>\'</literal>, + <literal>\\</literal>, or <literal>\kill</literal> + command, to the right + of the previous column, flush against the current + column's tab stop. + </entry> + </row> + <row rowsep="0"><entry>\` + <indexterm><primary>\` (tabbing)</primary></indexterm> + </entry> + <entry> + Allows you to put text flush right against any + tab stop, including tab + stop 0. However, it can't move text to the right + of the last column + because there's no tab stop there. + The <literal>\`</literal> command moves all the + text that follows it, up to the + <literal>\\</literal> or <literal>\end{tabbing}</literal> + command that ends the line, to the right + margin of the tabbing environment. + There must be no <literal>\></literal> or + <literal>\'</literal> command between + the <literal>\`</literal> and the command that + ends the line. + </entry> + </row> + <row rowsep="0"><entry>\kill + <indexterm><primary>\kill</primary></indexterm> + </entry> + <entry> + Sets tab stops without producing + text. Works just like <literal>\\</literal> + except that it throws away the + current line instead of producing output for it. + The effect of any + <literal>\=</literal>, <literal>\+</literal> or + <literal>\-</literal> commands in that line remain in + effect. + </entry> + </row> + <row rowsep="0"><entry>\pushtabs + <indexterm><primary>\pushtabs</primary></indexterm> + </entry> + <entry> + Saves all current tab stop positions. Useful for + temporarily changing tab stop positions in the + middle of a + <literal>tabbing</literal> environment. + </entry> + </row> + <row rowsep="0"><entry>\poptabs + <indexterm><primary>\poptabs</primary></indexterm> + </entry> + <entry> + Restores the tab stop positions saved by the + last <literal>\pushtabs</literal>. + </entry> + </row> + <row rowsep="0"><entry>\a + <indexterm><primary>\a</primary></indexterm> + </entry> + <entry> + In a <literal>tabbing</literal> environment, + the commands <literal>\=</literal>, + <literal>\'</literal> and + <literal>\`</literal> do not produce accents as + normal. Instead, the commands + <literal>\a=</literal>, <literal>\a'</literal> + and <literal>\a`</literal> are used. + </entry> + </row> + </tbody> + </tgroup> + </table> + + <para>This example typesets a Pascal function in a + traditional format: + </para> + <programlisting>\begin{tabbing} +function \= fact(n : integer) : integer;\\ + \> begin \= \+ \\ + \> if \= n $>$ 1 then \+ \\ + fact := n * fact(n-1) \- \\ + else \+ \\ + fact := 1; \-\- \\ + end;\\ +\end{tabbing}</programlisting> + + <bridgehead renderas="sect5" id="env-table"><literal>table</literal></bridgehead> + <indexterm><primary>table</primary></indexterm> + <indexterm><primary>Tables, creating</primary></indexterm> + <indexterm><primary>Creating tables</primary></indexterm> + + <programlisting> +\begin{table}[placement] + + body of the table + +\caption{table title} +\end{table}</programlisting> + + <para>Tables are objects that are not part of the + normal text, and are + usually <emphasis>floated</emphasis> to a + convenient place, + like the top of a page. + Tables will not be split between two pages. + </para> + <para>The optional argument <literal>[placement]</literal> + determines where &latex; will try + to place your table. There are four places where + &latex; can possibly put a float: + </para> + + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>h</literal> : Here - at the position + in the text where the table environment appears. + </simpara> + </listitem> + <listitem> + <simpara><literal>t</literal> : Top - at the top of a text page. + </simpara> + </listitem> + <listitem> + <simpara><literal>b</literal> : Bottom - at the bottom of + a text page. + </simpara> + </listitem> + <listitem> + <simpara><literal>p</literal> : Page of floats - on + a separate float page, which is a page + containing no text, only floats. + </simpara> + </listitem> + </itemizedlist> + + <para>The standard <literal>report</literal> and + <literal>article</literal> classes use the default + placement <literal>[tbp]</literal>. + </para> + <para>The body of the table is made up of whatever + text, &latex; commands, etc., + you wish. The <literal>\caption</literal> command + allows you to title your table. + </para> + + <bridgehead renderas="sect5" id="env-tabular"><literal>tabular</literal></bridgehead> + <indexterm><primary>tabular</primary></indexterm> + <indexterm><primary>Lines in tables</primary></indexterm> + <indexterm><primary>Lining text up in tables</primary></indexterm> + + <programlisting> +\begin{tabular}[pos]{cols} +column 1 entry & column 2 entry ... & column n entry \\ + . + . + . +\end{tabular}</programlisting> + + <para> or + </para> + <programlisting> +\begin{tabular*}{width}[pos]{cols} +column 1 entry & column 2 entry ... & column n entry \\ + . + . + . +\end{tabular*}</programlisting> + + <para>These environments produce a box consisting of a + sequence of rows of + items, aligned vertically in columns. The mandatory and optional + arguments consist of: + </para> + <table frame="none"> + <title>Commands used inside a <literal>tabular</literal> environment</title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"><entry>width + </entry> + <entry>Specifies the width of the + <literal>tabular*</literal> environment. There must be + rubber space between columns that can stretch + to fill out the specified width. + </entry> + </row> + <row rowsep="0"><entry>pos + </entry> + <entry>Specifies the vertical position; default + is alignment on the centre of the environment. + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>t</literal> - align on top row + </simpara> + </listitem> + <listitem> + <simpara><literal>b</literal> - align on bottom row + </simpara> + </listitem> + </itemizedlist> + </entry> + </row> + <row rowsep="0"><entry>cols + </entry> + <entry>Specifies the column formatting. + It consists of a sequence of the + following specifiers, corresponding to the + sequence of columns and intercolumn material. + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>l</literal> - A column of + left-aligned items. + </simpara> + </listitem> + <listitem> + <simpara><literal>r</literal> - A column of + right-aligned items. + </simpara> + </listitem> + <listitem> + <simpara><literal>c</literal> - A column of + centred items. + </simpara> + </listitem> + <listitem> + <simpara><literal>|</literal> - A vertical line + the full height and depth of the environment. + </simpara> + </listitem> + <listitem> + <simpara><literal>@{text}</literal> - This inserts + <literal>text</literal> in every row. + An @-expression suppresses the intercolumn + space normally inserted between columns; any + desired space between the inserted text and + the adjacent items must be included in text. + An <literal>\extracolsep{wd}</literal> + command in an + @-expression causes an extra space of width + <literal>wd</literal> to appear to the + left of all subsequent columns, until + countermanded by another + <literal>\extracolsep</literal> command. + Unlike ordinary intercolumn space, this + extra space is not suppressed by an + @-expression. An + <literal>\extracolsep</literal> + command can be used only in an @-expression in the + <literal>cols</literal> argument. + </simpara> + </listitem> + <listitem> + <simpara><literal>p{wd}</literal> - Produces a + column with each item typeset in a parbox of + width <literal>wd</literal>, as if it were + the argument of a <literal>\parbox[t]{wd}</literal> + command. However, a <literal>\\</literal> + may not appear in the item, except in the + following situations: + </simpara> + <orderedlist> + <listitem> + <simpara>inside an environment like + <literal>minipage</literal>, + <literal>array</literal>, or + <literal>tabular</literal>. + </simpara> + </listitem> + <listitem> + <simpara>inside an explicit + <literal>\parbox</literal>. + </simpara> + </listitem> + <listitem> + <simpara>in the scope of a + <literal>\centering</literal>, + <literal>\raggedright</literal>, or + <literal>\raggedleft</literal> + declaration. The latter declarations + must appear inside braces or an + environment when used in a + <literal>p</literal>-column element. + </simpara> + </listitem> + </orderedlist> + </listitem> + <listitem> + <simpara><literal>*{num}{cols}</literal> + - Equivalent to <literal>num</literal> copies of + <literal>cols</literal>, where + <literal>num</literal> is any positive + integer and <literal>cols</literal> is + any list of column-specifiers, which may + contain another + <literal>*-expression</literal>. + </simpara> + </listitem> + </itemizedlist> + </entry> + </row> + </tbody> + </tgroup> + </table> + + <para>These commands can be used inside a + <literal>tabular</literal> environment: + </para> + + <bridgehead renderas="sect5" id="cmd-cline"><literal>\cline{i-j}</literal></bridgehead> + <indexterm><primary>\cline</primary></indexterm> + + <para>The <literal>\cline</literal> command draws horizontal + lines across the columns + specified, beginning in column <literal>i</literal> + and ending in column <literal>j</literal>, + which are identified in the mandatory argument. + </para> + + <bridgehead renderas="sect5" id="cmd-hline"><literal>\hline</literal></bridgehead> + <indexterm><primary>\hline</primary></indexterm> + + <para>The <literal>\hline</literal> command will draw + a horizontal line the width of the + table. It's most commonly used to draw a line at + the top, bottom, and + between the rows of the table. + </para> + + <bridgehead renderas="sect5" id="cmd-multicolumn"><literal>\multicolumn</literal></bridgehead> + <indexterm><primary>\multicolumn</primary></indexterm> + + <para><literal>\multicolumn{cols}{pos}{text}</literal> + </para> + + <para>The <literal>\multicolumn</literal> is used to + make an entry that spans several + columns. The first mandatory argument, + <literal>cols</literal>, specifies the + number of columns to span. The second mandatory + argument, <literal>pos</literal>, + specifies the formatting of the entry; + <literal>c</literal> for centred, <literal>l</literal> + for flushleft, <literal>r</literal> for flushright. + The third mandatory argument, + <literal>text</literal>, specifies what text is to make + up the entry. + </para> + + <bridgehead renderas="sect5" id="cmd-vline"><literal>\vline</literal></bridgehead> + <indexterm><primary>\vline</primary></indexterm> + + <para>The <literal>\vline</literal> command will draw + a vertical line extending the full + height and depth of its row. An <literal>\hfill</literal> + command can be used to + move the line to the edge of the column. + It can also be used in an @-expression. + </para> + + <bridgehead renderas="sect5" id="env-thebibliography"><literal>thebibliography</literal></bridgehead> + <indexterm><primary>thebibliography</primary></indexterm> + <indexterm><primary>Bibliography, creating (manually)</primary></indexterm> + + <programlisting> +\begin{thebibliography}{widest-label} +\bibitem[label]{cite_key} + . + . + . +\end{thebibliography}</programlisting> + + <para>The <literal>thebibliography</literal> environment + produces a bibliography or reference list. + In the <literal>article</literal> class, this reference + list is labelled <emphasis>References</emphasis>; + in the + <literal>report</literal> class, it is labelled + <emphasis>Bibliography</emphasis>. + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>widest-label</literal>: Text that, + when printed, is approximately as wide + as the widest item label produces by the + <literal>\bibitem</literal> commands. + </simpara> + </listitem> + </itemizedlist> + + <bridgehead renderas="sect5" id="cmd-bibitem"><literal>\bibitem[label]{cite_key}</literal></bridgehead> + <indexterm><primary>\bibitem</primary></indexterm> + + <para>The <literal>\bibitem</literal> command generates + an entry labelled by <literal>label</literal>. + If the <literal>label</literal> argument is + missing, a number is generated as the + <literal>label</literal>, using the + <literal>enumi</literal> counter. + The <literal>cite_key</literal> is + any sequence of letters, numbers, and punctuation + symbols not containing a comma. + This command writes an entry on the + <filename>.aux</filename> file containing + <literal>cite_key</literal> and the item's + <literal>label</literal>. When this + <filename>.aux</filename> file is read by the + <literal>\begin{document}</literal> command, the + item's <literal>label</literal> is associated + with <literal>cite_key</literal>, causing the + reference to <literal>cite_key</literal> by a + <literal>\cite</literal> command to produce the + associated <literal>label</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-cite"><literal>\cite[text]{key_list}</literal></bridgehead> + <indexterm><primary>\cite</primary></indexterm> + + <para>The <literal>key_list</literal> argument + is a list of citation keys. This command + generates an in-text citation to the references + associated with the keys + in <literal>key_list</literal> by entries on + the <filename>.aux</filename> file read by the + <literal>\begin{document}</literal> command. + </para> + <para>The optional <literal>text</literal> argument + will appear after the citation, + i.e. <literal>\cite[p.~2f.]{knuth}</literal> might + produce `[Knuth, p. 2]'. + </para> + <para> + <indexterm> + <primary>cite.sty</primary> + </indexterm> + The package <literal>cite.sty</literal> + allows a line break in the <literal>\cite</literal> + reference and can sort numerical entries. + </para> + <para> + <indexterm> + <primary>overcite.sty</primary> + </indexterm> + <literal>overcite.sty</literal> makes + citations like footnotes. + </para> + + <bridgehead renderas="sect5" id="cmd-nocite"><literal>\nocite{key_list}</literal></bridgehead> + <indexterm><primary>\nocite</primary></indexterm> + + <para>The <literal>\nocite</literal> command produces + no text, but writes <literal>key_list</literal>, + which is a list of one or more citation keys, on + the <filename>.aux</filename> file. + <literal>\nocite{*}</literal> uses all entries from + the &bibtex; database. + </para> + + <bridgehead renderas="sect5" id="using-bibtex">Using BibTeX</bridgehead> + <indexterm><primary>Using BibTeX</primary></indexterm> + <indexterm> + <primary>BibTeX</primary> + <secondary>using</secondary> + </indexterm> + <indexterm><primary>Bibliography, creating (automatically)</primary></indexterm> + <indexterm><primary>\bibliographystyle</primary></indexterm> + <indexterm><primary>\bibliography</primary></indexterm> + + <para>If you use the BibTeX program by Oren Patashnik + (highly recommended if you need a bibliography of + more than a couple of titles) to maintain + your bibliography, you don't use the + <literal>thebibliography</literal> + environment. Instead, you include the lines + </para> + <programlisting> +\bibliographystyle{style} +\bibliography{bibfile}</programlisting> + + <para>where <literal>style</literal> refers to a + file <literal>style.bst</literal>, which defines how + your citations will look. + </para> + <table frame="none"> + <title>Standard styles distributed with BibTeX</title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"><entry>alpha + </entry> + <entry>Sorted alphabetically. Labels are + formed from name of author and year of publication. + </entry> + </row> + <row rowsep="0"><entry>plain + </entry> + <entry>Sorted alphabetically. Labels are numeric. + </entry> + </row> + <row rowsep="0"><entry>unsrt + </entry> + <entry>Like <literal>plain</literal>, but entries + are in order of citation. + </entry> + </row> + <row rowsep="0"><entry>abbrv + </entry> + <entry>Like <literal>plain</literal>, but more + compact labels. + </entry> + </row> + </tbody> + </tgroup> + </table> + + <para>In addition, numerous other BibTeX style + files exist tailored to the + demands of various publications. + </para> + <para>The argument to <literal>\bibliography</literal> + refers to the file + <literal>bibfile.bib</literal>, which should contain + your database in BibTeX + format. Only the entries referred to via + <literal>\cite</literal> and <literal>\nocite</literal> + will be listed in the bibliography. + </para> + + <bridgehead renderas="sect5" id="env-theorem"><literal>theorem</literal></bridgehead> + <indexterm><primary>theorem</primary></indexterm> + <indexterm><primary>Theorems, typesetting</primary></indexterm> + + <programlisting> +\begin{theorem} + theorem text +\end{theorem}</programlisting> + + <para>The <literal>theorem</literal> environment + produces <emphasis>Theorem x</emphasis> in + boldface followed by your theorem text. + </para> + + <bridgehead renderas="sect5" id="env-titlepage"><literal>titlepage</literal></bridgehead> + <indexterm><primary>titlepage</primary></indexterm> + <indexterm><primary>Making a title page</primary></indexterm> + <indexterm><primary>Title pages, creating</primary></indexterm> + + <programlisting> +\begin{titlepage} + text +\end{titlepage}</programlisting> + + <para>The <literal>titlepage</literal> environment creates + a title page, i.e. a page with no + printed page number or heading. It also causes the following + page to be numbered page one. Formatting the title page + is left to you. The + <literal>\today</literal> command comes in handy for title pages. + <indexterm><primary>\today</primary></indexterm> + </para> + <para>Note that you can use the + <literal>\maketitle</literal> (see + <link linkend="cmd-maketitle">\maketitle</link>) command to + produce a standard title page. + </para> + + <bridgehead renderas="sect5" id="env-verbatim"><literal>verbatim</literal></bridgehead> + <indexterm><primary>verbatim</primary></indexterm> + <indexterm><primary>Simulating typed text</primary></indexterm> + <indexterm><primary>Typed text, simulating</primary></indexterm> + <indexterm><primary>Programs, typesetting</primary></indexterm> + <indexterm><primary>Computer programs, typesetting</primary></indexterm> + + <programlisting> +\begin{verbatim} + text +\end{verbatim}</programlisting> + + <para>The <literal>verbatim</literal> environment is a + paragraph-making environment that + gets &latex; to print exactly what you type in. + It turns &latex; into a + typewriter with carriage returns and blanks having the + same effect that + they would on a typewriter. + </para> + + <bridgehead renderas="sect5" id="cmd-verb"><literal>\verb char literal_text char</literal> <literal>\verb*char literal_text char</literal></bridgehead> + <indexterm><primary>\verb</primary></indexterm> + <indexterm><primary>Verbatim text</primary></indexterm> + + <para>Typesets <literal>literal_text</literal> + exactly as typed, including special + characters and spaces, using a typewriter + (<literal>\tt</literal>) type style. + There may be no space between + <literal>\verb</literal> or <literal>\verb*</literal> and + <literal>char</literal> (space is shown here only + for clarity). The <literal>*-form</literal> + differs only in that spaces are printed + </para> + + <bridgehead renderas="sect5" id="env-verse"><literal>verse</literal></bridgehead> + <indexterm><primary>verse</primary></indexterm> + <indexterm><primary>Poetry, an environment for</primary></indexterm> + + <programlisting> +\begin{verse} + text +\end{verse}</programlisting> + + <para>The <literal>verse</literal> environment is designed + for poetry, though you may find + other uses for it. + </para> + <para>The margins are indented on the left and the right. + Separate the lines + of each stanza with <literal>\\</literal>, and use one or + more blank lines to + separate the stanzas. + </para> + + </section> + + <!-- FIXME --> + + <section id="footnotes"> + <title id="footnotes-title">Footnotes</title> + <indexterm><primary>Footnotes, creating</primary></indexterm> + + <para>Footnotes can be produced in one of two ways. They can be + produced with one command, the <literal>\footnote</literal> + command. They can also + be produced with two commands, the + <literal>\footnotemark</literal> and the + <literal>\footnotetext</literal> commands. + See the specific command for information + on why you would use one over the other. + </para> + + <bridgehead renderas="sect5" id="cmd-cmd-footnote"><literal>\footnote[number]{text}</literal></bridgehead> + <indexterm><primary>\footnote</primary></indexterm> + + <para>The <literal>\footnote</literal> command places + the numbered footnote <literal>text</literal> at + the bottom of the current page. The optional argument, + <literal>number</literal>, + is used to change the default footnote number. + This command can only be + used in outer paragraph mode; i.e., you cannot use + it in sectioning + commands like <literal>\chapter</literal>, in figures, + tables or in a <literal>tabular</literal> environment. + </para> + + <bridgehead renderas="sect5" id="cmd-footnotemark"><literal>\footnotemark</literal></bridgehead> + <indexterm><primary>\footnotemark</primary></indexterm> + + <para>The <literal>\footnotemark</literal> command puts + the footnote <literal>number</literal> in the + text. This command can be used in inner paragraph mode. + The text of the footnote is supplied by the + <literal>\footnotetext</literal> command. + </para> + <para>This command can be used to produce several + consecutive footnote markers + referring to the same footnote by using + </para> + <para><literal>\footnotemark[\value{footnote}]</literal> + </para> + <para>after the first <literal>\footnote</literal> command. + </para> + + <bridgehead renderas="sect5" id="cmd-footnotetext"><literal>\footnotetext[number]{text}</literal></bridgehead> + <indexterm><primary>\footnotetext</primary></indexterm> + + <para>The <literal>\footnotetext</literal> command + produces the <literal>text</literal> to be placed + at the bottom of the page. This command can come + anywhere after the + <literal>\footnotemark</literal> command. + The <literal>\footnotetext</literal> command must + appear in outer paragraph mode. + </para> + <para>The optional argument, <literal>number</literal>, + is used to change the default + footnote number. + </para> + + </section> + + + <section id="lengths"> + <title id="lengths-title">Lengths</title> + <indexterm><primary>Lengths, defining and using</primary></indexterm> + + <para>A <literal>length</literal> is a measure of distance. Many + &latex; commands take a length as an argument. + </para> + + + <bridgehead renderas="sect5" id="cmd-newlength"><literal>\newlength</literal></bridgehead> + <indexterm><primary>\newlength</primary></indexterm> + <indexterm><primary>Lengths, defining a new</primary></indexterm> + + <para><literal>\newlength{\gnat}</literal> + </para> + <para>The <literal>\newlength</literal> command defines the + mandatory argument, <literal>\gnat</literal>, as a + <literal>length</literal> command with a value of + <literal>0in</literal>. An error occurs if a + <literal>\gnat</literal> command already exists. + </para> + + <bridgehead renderas="sect5" id="cmd-setlength"><literal>\setlength</literal></bridgehead> + <indexterm><primary>\setlength</primary></indexterm> + <indexterm><primary>Lengths, setting value of</primary></indexterm> + + <para><literal>\setlength{\gnat}{length}</literal></para> + <para>The <literal>\setlength</literal> command is used to set + the value of a <literal>length</literal> command. The + <literal>length</literal> argument can be expressed in any + terms of length &latex; understands, i.e., inches + (<literal>in</literal>), millimetres + (<literal>mm</literal>), points (<literal>pt</literal>), + etc. + </para> + + <bridgehead renderas="sect5" id="cmd-addtolength"><literal>\addtolength</literal></bridgehead> + <indexterm><primary>\addtolength</primary></indexterm> + <indexterm><primary>Lengths, adding to</primary></indexterm> + + <para><literal>\addtolength{\gnat}{length}</literal></para> + <para>The <literal>\addtolength</literal> command increments + <emphasis>length command</emphasis> by the amount + specified in the + <literal>length</literal> argument. + It can be a negative amount. + </para> + + <bridgehead renderas="sect5" id="cmd-settodepth"><literal>\settodepth</literal></bridgehead> + <indexterm><primary>\settodepth</primary></indexterm> + + <para><literal>\settodepth{\gnat}{text}</literal></para> + <para>The <literal>\settodepth</literal> command sets the + value of a <literal>length</literal> command equal to the + depth of the <literal>text</literal> argument. + </para> + + <bridgehead renderas="sect5" id="cmd-settoheight"><literal>\settoheight</literal></bridgehead> + <indexterm><primary>\settoheight</primary></indexterm> + + <para><literal>\settoheight{\gnat}{text}</literal></para> + <para>The <literal>\settoheight</literal> command sets the + value of a <literal>length</literal> command equal to the + height of the <literal>text</literal> argument. + </para> + + <bridgehead renderas="sect5" id="cmd-settowidth"><literal>\settowidth</literal></bridgehead> + <indexterm><primary>\settowidth</primary></indexterm> + + <para><literal>\settowidth{\gnat}{text}</literal></para> + <para>The <literal>\settowidth</literal> command sets the + value of a <literal>length</literal> command equal to the + width of the <literal>text</literal> argument. + </para> + + <bridgehead renderas="sect5" id="predefined-lengths-title"><literal>Predefined lengths</literal></bridgehead> + <indexterm><primary>Lengths, predefined</primary></indexterm> + <indexterm><primary>Predefined lengths</primary></indexterm> + + <para id="cmd-length-pre-width"><literal>\width</literal> + <indexterm><primary>\width</primary></indexterm> + </para> + <para id="cmd-length-pre-height"><literal>\height</literal> + <indexterm><primary>\height</primary></indexterm> + </para> + <para id="cmd-length-pre-depth"><literal>\depth</literal> + <indexterm><primary>\depth</primary></indexterm> + </para> + <para id="cmd-length-pre-totalheight"><literal>\totalheight</literal> + <indexterm><primary>\totalheight</primary></indexterm> + </para> + <para>These length parameters can be used in the arguments of + the box-making commands See + <link linkend="spaces-and-boxes">Spaces & + Boxes</link>. + They + specify the natural width etc. of the text in the box. + <literal>\totalheight</literal> equals + <literal>\height</literal> + <literal>\depth</literal>. To + make a box with the text stretched to double the natural + size, e.g., say + </para> + <para><literal>\makebox[2\width]{Get a stretcher}</literal> + </para> + + </section> + + <section id="letters"> + <title id="letters-title">Letters</title> + <indexterm><primary>Letters</primary></indexterm> + <indexterm><primary>Creating letters</primary></indexterm> + + <para>You can use &latex; to typeset letters, both personal and + business. The <literal>letter</literal> document class is + designed to make a number of letters at once, although you can + make just one if you so desire. + </para> + <para>Your <filename>.tex</filename> source file has the same + minimum commands as the other document classes, i.e., you must + have the following commands as a minimum: + </para> + <programlisting> +\documentclass{letter} +\begin{document} + ... letters ... +\end{document}</programlisting> + + <para>Each letter is a <literal>letter</literal> environment, + whose argument is the name and address of the recipient. For + example, you might have: + </para> + <programlisting> +\begin{letter}{Mr. Joe Smith\\ 2345 Princess St.\\ Edinburgh, EH1 1AA} + ... +\end{letter}</programlisting> + + <para>The letter itself begins with the + <literal>\opening</literal> command. The text of the letter + follows. It is typed as ordinary &latex; input. Commands that + make no sense in a letter, like <literal>\chapter</literal>, + do not work. The letter closes with a + <literal>\closing</literal> command. + </para> + <para>After the <literal>closing</literal>, you can have + additional material. The <literal>\cc</literal> command + produces the usual <emphasis>cc: ...</emphasis>. + There's also a similar + <literal>\encl</literal> command for a list of enclosures. + With both these commands, use <literal>\\</literal> to + separate the items. + </para> + <para>These commands are used with the + <literal>letter</literal> class: + </para> + + <bridgehead renderas="sect5" id="cmd-address">\address</bridgehead> + <indexterm><primary>\address</primary></indexterm> + + <para><literal>\address{Return address}</literal> + </para> + <para>The return address, as it should appear on the letter + and the envelope. Separate lines of the address should be + separated by <literal>\\</literal> commands. If you do not + make an <literal>\address</literal> declaration, then the + letter will be formatted for copying onto your + organisation's standard letterhead. (See + <link linkend="overview">&overview;</link>, for details on your + local implementation). If you give an + <literal>\address</literal> declaration, then the letter + will be formatted as a personal letter. + </para> + + <bridgehead renderas="sect5" id="cmd-cc">\cc</bridgehead> + <indexterm><primary>\cc</primary></indexterm> + <indexterm><primary>Cc list</primary></indexterm> + + <para><literal>\cc{Kate Schechter\\Rob McKenna}</literal> + </para> + <para>Generate a list of other persons the letter was sent to. + Each name is printed on a separate line. + </para> + + <bridgehead renderas="sect5" id="cmd-closing">\closing</bridgehead> + <indexterm><primary>\closing</primary></indexterm> + <indexterm><primary>Letters, ending</primary></indexterm> + + <para><literal>\closing{text}</literal> + </para> + <para>The letter closes with a <literal>\closing</literal> + command, i.e., + <programlisting>\closing{Best Regards,}</programlisting> + </para> + + <bridgehead renderas="sect5" id="cmd-encl">\encl</bridgehead> + <indexterm><primary>\encl</primary></indexterm> + <indexterm><primary>Enclosed material</primary></indexterm> + + <para><literal>\encl{CV\\Certificates}</literal> + </para> + <para>Generate a list of enclosed material. + </para> + + <bridgehead renderas="sect5" id="cmd-location">\location</bridgehead> + <indexterm><primary>\location</primary></indexterm> + + <para><literal>\location{address}</literal> + </para> + <para>This modifies your organisation's standard address. + This only appears if the <literal>firstpage</literal> + pagestyle is selected. + </para> + + <bridgehead renderas="sect5" id="cmd-makelabels">\makelabels</bridgehead> + <indexterm><primary>\makelabels</primary></indexterm> + + <para><literal>\makelabels{number}</literal> + </para> + <para>If you issue this command in the preamble, &latex; will + create a sheet of address labels. This sheet will be output + before the letters. + </para> + + <bridgehead renderas="sect5" id="cmd-name">\name</bridgehead> + <indexterm><primary>\name</primary></indexterm> + + <para><literal>\name{June Davenport}</literal> + </para> + <para>Your name, used for printing on the envelope together + with the return address. + </para> + + <bridgehead renderas="sect5" id="cmd-opening">\opening</bridgehead> + <indexterm><primary>\opening</primary></indexterm> + <indexterm><primary>Letters, starting</primary></indexterm> + + <para><literal>\opening{text}</literal> + </para> + <para>The letter begins with the <literal>\opening</literal> + command. The mandatory argument, <literal>text</literal>, + is whatever text you wish to start your letter, i.e., + <programlisting>\opening{Dear Joe,} </programlisting> + </para> + + <bridgehead renderas="sect5" id="cmd-ps">\ps</bridgehead> + <indexterm><primary>\ps</primary></indexterm> + + <para><literal>\ps</literal> + </para> + <para>Use this command before a postscript. + </para> + + <bridgehead renderas="sect5" id="cmd-signature">\signature</bridgehead> + <indexterm><primary>\signature</primary></indexterm> + + <para><literal>\signature{Harvey Swick}</literal> + </para> + <para>Your name, as it should appear at the end of the letter + underneath the space for your signature. Items that should + go on separate lines should be separated by + <literal>\\</literal> commands. + </para> + + <bridgehead renderas="sect5" id="cmd-startbreaks">\startbreaks</bridgehead> + <indexterm><primary>\startbreaks</primary></indexterm> + + <para><literal>\startbreaks</literal> + </para> + <para>Used after a <literal>\stopbreaks</literal> command to + allow page breaks again. + </para> + + <bridgehead renderas="sect5" id="cmd-stopbreaks">\stopbreaks</bridgehead> + <indexterm><primary>\stopbreaks</primary></indexterm> + + <para><literal>\stopbreaks</literal> + </para> + <para>Inhibit page breaks until a + <literal>\startbreaks</literal> command occurs. + </para> + + <bridgehead renderas="sect5" id="cmd-telephone">\telephone</bridgehead> + <indexterm><primary>\telephone</primary></indexterm> + + <para><literal>\telephone{number}</literal> + </para> + <para>This is your telephone number. This only appears if the + <literal>firstpage</literal> pagestyle is selected. + </para> + + </section> + + <section id="line-and-page-breaking"> + <title id="line-and-page-breaking-title">Line & Page Breaking</title> + <indexterm><primary>Page Breaking</primary></indexterm> + <indexterm><primary>Line Breaking</primary></indexterm> + <indexterm><primary>Page Formatting</primary></indexterm> + + <para>The first thing &latex; does when processing ordinary text + is to translate your input file into a string of glyphs and + spaces. To produce a printed document, this string must be + broken into lines, and these lines must be broken into pages. + In some environments, you do the line breaking yourself with + the <literal>\\</literal> command, but &latex; usually does it + for you. + </para> + + <bridgehead renderas="sect5" id="cmd-bslash">\\</bridgehead> + <indexterm><primary>\\</primary></indexterm> + <indexterm><primary>New line, starting</primary></indexterm> + + <para><literal>\\[extra-space], \\*[extra-space]</literal> + </para> + <para>The <literal>\\</literal> command tells &latex; to start a + new line. It has an optional argument, + <literal>extra-space</literal>, that specifies how much + extra vertical space is to be inserted before the next line. + This can be a negative amount. + </para> + <para>The <literal>\\*</literal> command is the same as the + ordinary <literal>\\</literal> command except that it tells + &latex; not to start a new page after the line. + </para> + + <bridgehead renderas="sect5" id="cmd-dash-op-hyphenation-cp">\-</bridgehead> + <indexterm><primary>\- (hyphenation)</primary></indexterm> + <indexterm><primary>Hyphenation, forcing</primary></indexterm> + + <para>The <literal>\-</literal> command tells &latex; that it + may hyphenate the word at that point. &latex; is very good at + hyphenating, and it will usually find all correct + hyphenation points. The <literal>\-</literal> command is + used for the exceptional cases. + </para> + <para>Note that when you insert <literal>\-</literal> commands + in a word, the word will only be hyphenated at those points + and not at any of the hyphenation points that &latex; might + otherwise have chosen. + </para> + + <bridgehead renderas="sect5" id="cmd-cleardoublepage">\cleardoublepage</bridgehead> + <indexterm><primary>\cleardoublepage</primary></indexterm> + <indexterm><primary>Starting on a right-hand page</primary></indexterm> + + <para>The <literal>\cleardoublepage</literal> command ends the + current page and causes all figures and tables that have so + far appeared in the input to be printed. In a two-sided + printing style, it also makes the next page a right-hand + (odd-numbered) page, producing a blank page if necessary. + </para> + + <bridgehead renderas="sect5" id="cmd-clearpage">\clearpage</bridgehead> + <indexterm><primary>\clearpage</primary></indexterm> + <indexterm><primary>Flushing a page</primary></indexterm> + + <para>The <literal>\clearpage</literal> command ends the + current page and causes all figures and tables that have so + far appeared in the input to be printed. + </para> + + <bridgehead renderas="sect5" id="cmd-enlargethispage">\enlargethispage</bridgehead> + <indexterm><primary>\enlargethispage</primary></indexterm> + <indexterm><primary>Enlarge current page</primary></indexterm> + + <para><literal>\enlargethispage{size}</literal> + </para> + <para><literal>\enlargethispage*{size}</literal> + </para> + <para>Enlarge the <literal>\textheight</literal> for the + current page by the specified amount; e.g. + <literal>\enlargethispage{\baselineskip}</literal> will + allow one additional line. + </para> + <para>The starred form tries to squeeze the material together + on the page as much as possible. This is normally used + together with an explicit <literal>\pagebreak</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-samepage">\samepage</bridgehead> + <indexterm><primary>\samepage</primary></indexterm> + + <para><literal>\samepage</literal> + </para> + <para>The object in the argument <literal>{}</literal> + should be on the current page. + </para> + + <bridgehead renderas="sect5" id="cmd-fussy">\fussy</bridgehead> + <indexterm><primary>\fussy</primary></indexterm> + + <para><literal>\fussy</literal> + </para> + <para>This declaration (which is the default) makes &tex; more + fussy about line breaking. This can avoids too much space + between words, but may produce overfull boxes. + </para> + <para>This command cancels the effect of a previous + <literal>\sloppy</literal> command. + <link linkend="cmd-sloppy">\sloppy</link> + </para> + + <bridgehead renderas="sect5" id="cmd-hyphenation">\hyphenation</bridgehead> + <indexterm><primary>\hyphenation</primary></indexterm> + <indexterm><primary>Hyphenation, defining</primary></indexterm> + + <para><literal>\hyphenation{words}</literal> + </para> + <para>The <literal>\hyphenation</literal> command declares + allowed hyphenation points, where <literal>words</literal> + is a list of words, separated by spaces, in which each + hyphenation point is indicated by a <literal>-</literal> + character. + </para> + + <bridgehead renderas="sect5" id="cmd-linebreak">\linebreak</bridgehead> + <indexterm><primary>\linebreak</primary></indexterm> + <indexterm><primary>Line breaks</primary></indexterm> + + <para><literal>\linebreak[number]</literal> + </para> + <para>The <literal>\linebreak</literal> command tells &latex; to + break the current line at the point of the command. With + the optional argument, <literal>number</literal>, you can + convert the <literal>\linebreak</literal> command from a + demand to a request. The number must be a number from 0 to + 4. The higher the number, the more insistent the request is. + </para> + <para>The <literal>\linebreak</literal> command causes &latex; + to stretch the line so it extends to the right margin. + </para> + + <bridgehead renderas="sect5" id="cmd-newline">\newline</bridgehead> + <indexterm><primary>\newline</primary></indexterm> + <indexterm><primary>New line, starting (paragraph mode)</primary></indexterm> + + <para>The <literal>\newline</literal> command breaks the line + right where it is. It can only be used in paragraph mode. + </para> + + <bridgehead renderas="sect5" id="cmd-newpage">\newpage</bridgehead> + <indexterm><primary>\newpage</primary></indexterm> + <indexterm><primary>New Page</primary></indexterm> + + <para>The <literal>\newpage</literal> command ends the + current page. In contrast to + <link linkend="cmd-pagebreak">\pagebreak</link> + it can produce a partly empty page, even when + <link linkend="cmd-flushbottom-title">\flushbottom</link> + is active. + </para> + + <bridgehead renderas="sect5" id="cmd-nolinebreak">\nolinebreak</bridgehead> + <indexterm><primary>\nolinebreak</primary></indexterm> + + <para><literal>\nolinebreak[number]</literal> + </para> + <para>The <literal>\nolinebreak</literal> command prevents + &latex; from breaking the current line at the point of the + command. With the optional argument, + <literal>number</literal>, you can convert the + <literal>\nolinebreak</literal> command from a demand to a + request. The number must be a number from 0 to 4. The + higher the number, the more insistent the request is. + </para> + + <bridgehead renderas="sect5" id="cmd-nopagebreak">\nopagebreak</bridgehead> + <indexterm><primary>\nopagebreak</primary></indexterm> + + <para><literal>\nopagebreak[number]</literal> + </para> + <para>The <literal>\nopagebreak</literal> command prevents + &latex; from breaking the current page at the point of the + command. With the optional argument, + <literal>number</literal>, you can convert the + <literal>\nopagebreak</literal> command from a demand to a + request. The number must be a number from 0 to 4. The + higher the number, the more insistent the request is. + </para> + + <bridgehead renderas="sect5" id="cmd-pagebreak">\pagebreak</bridgehead> + <indexterm><primary>\pagebreak</primary></indexterm> + <indexterm><primary>Page break, forcing</primary></indexterm> + + <para><literal>\pagebreak[number]</literal> + </para> + <para>The <literal>\pagebreak</literal> command tells &latex; to + break the current page at the point of the command. With + the optional argument, <literal>number</literal>, you can + convert the <literal>\pagebreak</literal> command from a + demand to a request. The number must be a number from 0 to + 4. The higher the number, the more insistent the request + is. + </para> + + <bridgehead renderas="sect5" id="cmd-sloppy">\sloppy</bridgehead> + <indexterm><primary>\sloppy</primary></indexterm> + + <para><literal>\sloppy</literal> + </para> + <para>This declaration makes &tex; less fussy about line + breaking. This can prevent overfull boxes, but may leave too + much space between words. + </para> + <para>Lasts until a <literal>\fussy</literal> command is + issued. <link linkend="cmd-fussy">\fussy</link>. + </para> + + </section> + + + <section id="making-paragraphs"> + <title id="making-paragraphs-title">Making Paragraphs</title> + <indexterm><primary>Making paragraphs</primary></indexterm> + <indexterm><primary>Paragraphs</primary></indexterm> + + <para>A paragraph is ended by one or more completely blank lines + --- lines not containing even a <literal>%</literal>. A blank + line should not appear where a new paragraph cannot be + started, such as in math mode or in the argument of a + sectioning command. + </para> + + <bridgehead renderas="sect5" id="cmd-indent">\indent</bridgehead> + <indexterm><primary>\indent</primary></indexterm> + <indexterm><primary>Indent, forcing</primary></indexterm> + + <para><literal>\indent</literal> + </para> + <para>This produces a horizontal space whose width equals the + width of the paragraph indentation. It is used to add + paragraph indentation where it would otherwise be + suppressed. + </para> + + <bridgehead renderas="sect5" id="cmd-noindent">\noindent</bridgehead> + <indexterm><primary>\noindent</primary></indexterm> + <indexterm><primary>Indent, suppressing</primary></indexterm> + + <para><literal>\noindent</literal> + </para> + <para>When used at the beginning of the paragraph, it + suppresses the paragraph indentation. It has no effect when + used in the middle of a paragraph. + </para> + + <bridgehead renderas="sect5" id="cmd-par">\par</bridgehead> + <indexterm><primary>\par</primary></indexterm> + <indexterm><primary>Paragraph, starting a new</primary></indexterm> + + <para>Equivalent to a blank line; often used to make command + or environment definitions easier to read. + </para> + + </section> + + + <section id="margin-notes"> + <title id="margin-notes-title">Margin Notes</title> + <indexterm><primary>Margin Notes</primary></indexterm> + <indexterm><primary>Notes in the margin</primary></indexterm> + <indexterm><primary>Remarks in the margin</primary></indexterm> + + <para>The command <literal>\marginpar[left]{right}</literal> + creates a note in the margin. The first line will be at the + same height as the line in the text where the + <literal>\marginpar</literal> occurs. + </para> + <para>When you only specify the mandatory argument + <literal>right</literal>, the text will be placed + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara>in the right margin for one-sided layout + </simpara></listitem> + <listitem> + <simpara>in the outside margin for two-sided layout + </simpara></listitem> + <listitem> + <simpara>in the nearest margin for two-column layout. + </simpara></listitem> + </itemizedlist> + + <para>By issuing the command + <literal>\reversemarginpar</literal>, you can force the + marginal notes to go into the opposite (inside) margin. + </para> + <para>When you specify both arguments, <literal>left</literal> + is used for the left margin, and <literal>right</literal> is + used for the right margin. + </para> + <para>The first word will normally not be hyphenated; you can + enable hyphenation by prefixing the first word with a + <literal>\hspace{0pt}</literal> command. + </para> + + </section> + + + <section id="math-formulae"> + <title id="math-formulae-title">Math Formulae</title> + <indexterm><primary>Math Formulae</primary></indexterm> + <indexterm><primary>Formulae, maths</primary></indexterm> + <indexterm><primary>Math mode, entering</primary></indexterm> + <indexterm><primary>\(</primary></indexterm> + <indexterm><primary>\)</primary></indexterm> + <indexterm><primary>\[</primary></indexterm> + <indexterm><primary>\]</primary></indexterm> + <indexterm><primary>$</primary></indexterm> + + <table frame="none"> + <title>Three environments that put &latex; in math mode</title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"><entry>math + </entry> + <entry>For Formulae that appear right in the text. + </entry> + </row> + <row rowsep="0"><entry>displaymath + </entry> + <entry>For Formulae that appear on their own line. + </entry> + </row> + <row rowsep="0"><entry>equation + </entry> + <entry>The same as the displaymath environment except + that it adds an equation number in the right margin. + </entry> + </row> + </tbody> + </tgroup> + </table> + + <para>The <literal>math</literal> environment can be used in + both paragraph and LR mode, but the + <literal>displaymath</literal> and <literal>equation</literal> + environments can be used only in paragraph mode. The + <literal>math</literal> and <literal>displaymath</literal> + environments are used so often that they have the following + short forms: + </para> + <programlisting> +\(...\) instead of \begin{math}...\end{math} + +\[...\] instead of \begin{displaymath}...\end{displaymath}</programlisting> + + <para>In fact, the <literal>math</literal> environment is so + common that it has an even shorter form: + </para> + <programlisting> +$ ... $ instead of \(...\)</programlisting> + + <indexterm><primary>exponent</primary></indexterm> + + <bridgehead renderas="sect5" id="subscripts-and-superscripts-title">Subscripts & Superscripts</bridgehead> + <indexterm><primary>Superscript</primary></indexterm> + <indexterm><primary>Subscript</primary></indexterm> + <indexterm><primary>_</primary></indexterm> + <indexterm><primary>^</primary></indexterm> + + <para>To get an expression <emphasis>exp</emphasis> to appear + as a subscript, you just type + <literal>_{</literal><emphasis>exp</emphasis><literal>} + </literal>. + To get <emphasis>exp</emphasis> to appear as a superscript, + you type + <literal>^{</literal><emphasis>exp</emphasis> + <literal>}</literal>. + &latex; handles superscripted superscripts and all of that + stuff in the natural way. It even does the right thing when + something has both a subscript and a superscript. + </para> + + <bridgehead renderas="sect5" id="math-symbols-title">Math Symbols</bridgehead> + <indexterm><primary>Maths symbols</primary></indexterm> + <indexterm><primary>Symbols</primary></indexterm> + <indexterm><primary>Greek letters</primary></indexterm> + + <bridgehead renderas="sect5" id="spacing-in-math-mode-title">Spacing in Math Mode</bridgehead> + <indexterm><primary>Spacing, within Math mode</primary></indexterm> + <indexterm><primary>Math mode, spacing</primary></indexterm> + + <para>In a <literal>math</literal> environment, &latex; ignores + the spaces you type and puts in the spacing that it thinks + is best. &latex; formats mathematics the way it's done in + mathematics texts. If you want different spacing, &latex; + provides the following four commands for use in math mode: + </para> + <indexterm><primary>\;</primary></indexterm> + <indexterm><primary>\COLON</primary></indexterm> + <indexterm><primary>\,</primary></indexterm> + <indexterm><primary>\!</primary></indexterm> + + <orderedlist><listitem> + <para><literal>\;</literal> - a thick space + </para></listitem> + <listitem> + <para><literal>\:</literal> - a medium space + </para></listitem> + <listitem> + <para><literal>\,</literal> - a thin space + </para></listitem> + <listitem> + <para><literal>\!</literal> - a negative thin space + </para></listitem> + </orderedlist> + + <bridgehead renderas="sect5" id="math-miscellany-title">Math Miscellany</bridgehead> + <indexterm><primary>Math Miscellany</primary></indexterm> + + <table frame="none"> + <title>Math Miscellany</title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"> + <entry id="cmd-math-misc-cdots">\cdots<indexterm> + <primary>\cdots</primary> + </indexterm> + </entry> + <entry>Produces a horizontal ellipsis where the dots + are raised to the centre of the line. + </entry> + </row> + <row rowsep="0"><entry id="cmd-math-misc-ddots">\ddots + <indexterm><primary>\ddots</primary></indexterm> + </entry> + <entry>Produces a diagonal ellipsis. + </entry> + </row> + <row rowsep="0"><entry id="cmd-math-misc-frac">\frac{num}{den} + <indexterm><primary>\frac</primary></indexterm> + </entry> + <entry>Produces the fraction <literal>num</literal> + divided by <literal>den</literal>. + </entry> + </row> + <row rowsep="0"><entry id="cmd-math-misc-ldots">\ldots + <indexterm><primary>\ldots</primary></indexterm> + </entry> + <entry>Produces an ellipsis. This command works in + any mode, not just math mode. + </entry> + </row> + <row rowsep="0"><entry id="cmd-math-misc-overbrace">\overbrace{text} + <indexterm><primary>\overbrace</primary></indexterm> + </entry> + <entry>Generates a brace over text. + </entry> + </row> + <row rowsep="0"><entry id="cmd-math-misc-overline">\overline{text} + <indexterm><primary>\overline</primary></indexterm> + </entry> + <entry>Causes the argument text to be overlined. + </entry> + </row> + <row rowsep="0"><entry id="cmd-math-misc-sqrt">\sqrt[root]{arg} + <indexterm><primary>\sqrt</primary></indexterm> + </entry> + <entry>Produces the square root of its argument. The + optional argument, <literal>root</literal>, + determines what root to produce, i.e., the cube root + of <literal>x+y</literal> would be typed as + <literal>$\sqrt[3]{x+y}$</literal>. + </entry> + </row> + <row rowsep="0"><entry id="cmd-math-misc-underbrace">\underbrace{text} + <indexterm><primary>\underbrace</primary></indexterm> + </entry> + <entry>Generates text with a brace underneath. + </entry> + </row> + <row rowsep="0"><entry id="cmd-math-misc-underline">\underline{text} + <indexterm><primary>\underline</primary></indexterm> + </entry> + <entry>Causes the argument text to be underlined. This + command can also be used in paragraph and LR modes. + </entry> + </row> + <row rowsep="0"> + <entry id="cmd-math-misc-vdots">\vdots + <indexterm><primary>\vdots</primary></indexterm> + </entry> + <entry>Produces a vertical ellipsis. + </entry> + </row> + <row rowsep="0"> + <entry id="cmd-math-misc-ensuremath">\ensuremath{} + <indexterm><primary>\ensuremath{}</primary></indexterm> + </entry> + <entry>It's argument is set in math mode. This + is needed for own definitions. + </entry> + </row> + </tbody> + </tgroup> + </table> + + </section> + + <section id="modes"> + <title id="modes-title">Modes</title> + <indexterm><primary>Modes</primary></indexterm> + <indexterm><primary>Paragraph mode</primary></indexterm> + <indexterm><primary>Math mode</primary></indexterm> + <indexterm><primary>Left-to-right mode</primary></indexterm> + <indexterm><primary>LR mode</primary></indexterm> + + <para>When &latex; is processing your input text, it is always in + one of three modes: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara>paragraph mode + </simpara></listitem> + <listitem> + <simpara>Math mode + </simpara></listitem> + <listitem> + <simpara>Left-to-right mode, called LR mode for short + </simpara></listitem> + </itemizedlist> + + <para>&latex; changes mode only when it goes up or down a + staircase to a different level, though not all level changes + produce mode changes. Mode changes occur only when entering or + leaving an environment, or when &latex; is processing the + argument of certain text-producing commands. + </para> + <para><emphasis>Paragraph mode</emphasis> is the most + common; it's the one &latex; + is in when processing ordinary text. In that mode, &latex; + breaks your text into lines and breaks the lines into pages. + &latex; is in <emphasis>math mode</emphasis> when it's + generating a mathematical + formula. In <emphasis>LR mode</emphasis>, as in + paragraph mode, &latex; + considers the output that it produces to be a string of words + with spaces between them. However, unlike paragraph mode, + &latex; keeps going from left to right; it never starts a new + line in LR mode. Even if you put a hundred words into an + <literal>\mbox</literal>, &latex; would keep typesetting them + from left to right inside a single box, and then complain + because the resulting box was too wide to fit on the line. + </para> + <para>&latex; is in LR mode when it starts making a box with an + <literal>\mbox</literal> command. You can get it to enter a + different mode inside the box - for example, you can make it + enter math mode to put a formula in the box. There are also + several text-producing commands and environments for making a + box that put &latex; in paragraph mode. The box make by one of + these commands or environments will be called a + <literal>parbox</literal>. When &latex; is in paragraph mode + while making a box, it is said to be in <emphasis>inner paragraph + mode</emphasis>. Its normal paragraph mode, which it + starts out in, is + called <emphasis>outer paragraph mode</emphasis>. + </para> + + </section> + + + <section id="page-styles"> + <title id="page-styles-title">Page Styles</title> + <indexterm><primary>Styles, page</primary></indexterm> + <indexterm><primary>Page styles</primary></indexterm> + + <para>The <literal>\documentclass</literal> command determines + the size and position of the page's head and foot. The page + style determines what goes in them. + </para> + + <bridgehead renderas="sect5" id="cmd-maketitle">\maketitle</bridgehead> + <indexterm><primary>Title making</primary></indexterm> + <indexterm><primary>\maketitle</primary></indexterm> + + <para><literal>\maketitle</literal> + </para> + <para>The <literal>\maketitle</literal> command generates a + title on a separate title page. In the + <literal>article</literal> class, + <literal>\maketitle</literal> + will also switch to pagestyle <literal>plain</literal>. + See <link linkend="page-styles">Page Styles</link> for + commands to change page numbering. + </para> + <para> + Information used to produce the title is obtained from + the following declarations: + </para> + <para>See <link linkend="page-styles">Page Styles</link> for + the commands to give the information. + </para> + + <bridgehead renderas="sect5" id="cmd-author">\author</bridgehead> + <indexterm><primary>\author</primary></indexterm> + <indexterm><primary>Author, for titlepage</primary></indexterm> + + <para><literal>\author{names}</literal> + </para> + <para>The <literal>\author</literal> command declares the + author(s), where <literal>names</literal> is a list of + authors separated by <literal>\and</literal> commands. Use + <literal>\\</literal> to separate lines within a single + author's entry -- for example, to give the author's + institution or address. + </para> + + <bridgehead renderas="sect5" id="cmd-date">\date</bridgehead> + <indexterm><primary>\date</primary></indexterm> + <indexterm><primary>Date, for titlepage</primary></indexterm> + + <para><literal>\date{text}</literal> + </para> + <para>The <literal>\date</literal> command declares + <emphasis>text</emphasis> to be the document's date. With + no <literal>\date</literal> command, the current date is + used. + </para> + + <bridgehead renderas="sect5" id="cmd-thanks">\thanks</bridgehead> + <indexterm><primary>\thanks</primary></indexterm> + <indexterm><primary>Thanks, for titlepage</primary></indexterm> + + <para><literal>\thanks{text}</literal> + </para> + <para>The <literal>\thanks</literal> command produces a + <literal>\footnote</literal> to the title. + </para> + + <bridgehead renderas="sect5" id="cmd-title">\title</bridgehead> + <indexterm><primary>\title</primary></indexterm> + <indexterm><primary>Title, for titlepage</primary></indexterm> + + <para><literal>\title{text}</literal> + </para> + + <para>The <literal>\title</literal> command declares + <literal>text</literal> to be the title. Use + <literal>\\</literal> to tell &latex; where to start a new + line in a long title. + </para> + + <bridgehead renderas="sect5" id="cmd-pagenumbering">\pagenumbering</bridgehead> + <indexterm><primary>\pagenumbering</primary></indexterm> + <indexterm><primary>Page numbering</primary></indexterm> + + <para><literal>\pagenumbering{num_style}</literal> + </para> + <para>Specifies the style of page numbers. Possible values of + <literal>num_style</literal> are: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>arabic</literal> - Arabic numerals + </simpara></listitem> + <listitem> + <simpara><literal>roman</literal> - Lowercase Roman numerals + </simpara></listitem> + <listitem> + <simpara><literal>Roman</literal> - Uppercase Roman numerals + </simpara></listitem> + <listitem> + <simpara><literal>alph</literal> - Lowercase letters + </simpara></listitem> + <listitem> + <simpara><literal>Alph</literal> - Uppercase letters + </simpara></listitem> + </itemizedlist> + + <bridgehead renderas="sect5" id="cmd-pagestyle">\pagestyle</bridgehead> + <indexterm><primary>\pagestyle</primary></indexterm> + + <para><literal>\pagestyle{option}</literal> + </para> + <para>The <literal>\pagestyle</literal> command changes the + style from the current page on throughout the remainder of + your document. + </para> + <para>The valid options are: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>plain</literal> - Just a plain page number. + </simpara></listitem> + <listitem> + <simpara><literal>empty</literal> - Produces empty heads and + feet - no page numbers. + </simpara></listitem> + <listitem> + <simpara><literal>headings</literal> - Puts running headings + on each page. The document style specifies what goes in + the headings. + </simpara></listitem> + <listitem> + <simpara><literal>myheadings</literal> - You specify what is + to go in the heading with the + <literal>\markboth</literal> or the + <literal>\markright</literal> commands. + </simpara></listitem> + </itemizedlist> + + <bridgehead renderas="sect5" id="cmd-markboth">\markboth</bridgehead> + <indexterm><primary>\markboth</primary></indexterm> + + <programlisting> +\markboth{left head}{right head}</programlisting> + + <para>The <literal>\markboth</literal> command is used in + conjunction with the page style + <literal>myheadings</literal> for setting both the left and + the right heading. You should note that a <emphasis>left-hand + heading</emphasis> is generated by the last + <literal>\markboth</literal> command before the end of the + page, while a <emphasis>right-hand heading</emphasis> + is generated by the + first <literal>\markboth</literal> or + <literal>\markright</literal> that comes on the page if + there is one, otherwise by the last one before the page. + </para> + + <bridgehead renderas="sect5" id="cmd-markright">\markright</bridgehead> + <indexterm><primary>\markright</primary></indexterm> + + <programlisting> +\markright{right head}</programlisting> + + <para>The <literal>\markright</literal> command is used in + conjunction with the page style + <literal>myheadings</literal> for setting the right heading, + leaving the left heading unchanged. You should note that a + <emphasis>left-hand heading</emphasis> + is generated by the last + <literal>\markboth</literal> command before the end of the + page, while a <emphasis>right-hand heading</emphasis> + is generated by the + first <literal>\markboth</literal> or + <literal>\markright</literal> that comes on the page if + there is one, otherwise by the last one before the page. + </para> + + <bridgehead renderas="sect5" id="cmd-thispagestyle">\thispagestyle</bridgehead> + <indexterm><primary>\thispagestyle</primary></indexterm> + + <para><literal>\thispagestyle{option}</literal> + </para> + <para>The <literal>\thispagestyle</literal> command works in + the same manner as the <literal>\pagestyle</literal> command + except that it changes the style for the current page only. + </para> + + </section> + + <section id="sectioning"> + <title id="sectioning-title">Sectioning</title> + <indexterm><primary>Sectioning</primary></indexterm> + <indexterm><primary>\chapter</primary></indexterm> + <indexterm><primary>\subsubsection</primary></indexterm> + <indexterm><primary>\subsection</primary></indexterm> + <indexterm><primary>\paragraph</primary></indexterm> + <indexterm><primary>\subparagraph</primary></indexterm> + + <para>Sectioning commands provide the means to structure your + text into units. + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara id="cmd-sectioning-part"><literal>\part</literal> + </simpara></listitem> + <listitem> + <simpara id="cmd-sectioning-chapter"><literal>\chapter</literal> (report and book class + only) + </simpara></listitem> + <listitem> + <simpara id="cmd-sectioning-section"><literal>\section</literal> + </simpara></listitem> + <listitem> + <simpara id="cmd-sectioning-subsection"><literal>\subsection</literal> + </simpara></listitem> + <listitem> + <simpara id="cmd-sectioning-subsubsection"><literal>\subsubsection</literal> + </simpara></listitem> + <listitem> + <simpara id="cmd-sectioning-paragraph"><literal>\paragraph</literal> + </simpara></listitem> + <listitem> + <simpara id="cmd-sectioning-subparagraph"><literal>\subparagraph</literal> + </simpara></listitem> + </itemizedlist> + + <para>All sectioning commands take the same general form, i.e., + </para> + <para><literal>\chapter[optional]{title}</literal> + </para> + <para>In addition to providing the heading in the text, the + mandatory argument of the sectioning command can appear in two + other places: + </para> + <orderedlist><listitem> + <para>The table of contents + </para></listitem> + <listitem> + <para>The running head at the top of the page + </para></listitem> + </orderedlist> + + <para>You may not want the same thing to appear in these other + two places as appears in the text heading. To handle this + situation, the sectioning commands have an + <literal>optional</literal> argument that provides the text + for these other two purposes. + </para> + <para>All sectioning commands have <literal>*</literal>-forms + that print a <emphasis>title</emphasis>, but do not include a + number and do not make an entry in the table of contents. + </para> + <indexterm><primary>\appendix</primary></indexterm> + <indexterm><primary>Appendix, creating</primary></indexterm> + + <para id="cmd-sectioning-appendix"><literal>\appendix</literal> + </para> + <para>The <literal>\appendix</literal> command changes the way + sectional units are numbered. The + <literal>\appendix</literal> command generates no text and + does not affect the numbering of parts. The normal use of this + command is something like + </para> + <programlisting> +\chapter{The First Chapter} + ... +\appendix +\chapter{The First Appendix}</programlisting> + + </section> + + + <section id="spaces-and-boxes"> + <title id="spaces-and-boxes-title">Spaces & Boxes</title> + <indexterm><primary>Spaces</primary></indexterm> + <indexterm><primary>Boxes</primary></indexterm> + + <para>All the predefined length parameters See + <link linkend="predefined-lengths-title">Predefined lengths</link> can + be used in the arguments of the box-making commands. + </para> + + + <bridgehead renderas="sect5" id="cmd-dotfill">\dotfill</bridgehead> + <indexterm><primary>\dotfill</primary></indexterm> + + <para>The <literal>\dotfill</literal> command produces a + <emphasis>rubber length</emphasis> that produces dots + instead of just spaces. + </para> + + <bridgehead renderas="sect5" id="cmd-hfill">\hfill</bridgehead> + <indexterm><primary>\hfill</primary></indexterm> + + <para>The <literal>\hfill</literal> fill command produces a + <emphasis>rubber length</emphasis> which can stretch + or shrink horizontally. It will be filled with spaces. + </para> + + <bridgehead renderas="sect5" id="cmd-hrulefill">\hrulefill</bridgehead> + <indexterm><primary>\hrulefill</primary></indexterm> + + <para>The <literal>\hrulefill</literal> fill command produces + a <emphasis>rubber length</emphasis> which can stretch + or shrink horizontally. It will be filled with a horizontal rule. + </para> + + <bridgehead renderas="sect5" id="cmd-hspace">\hspace</bridgehead> + <indexterm><primary>\hspace</primary></indexterm> + + <para><literal>\hspace{length}, \hspace*{length}</literal> + </para> + + <para>The <literal>\hspace</literal> command adds horizontal + space. The length of the space can be expressed in any + terms that &latex; understands, i.e., points, inches, etc. + You can add negative as well as positive space with an + <literal>\hspace</literal> command. Adding negative space + is like backspacing. + </para> + <para>&latex; removes horizontal space that comes at the end of + a line. If you don't want &latex; to remove this space, + include the optional <literal>*</literal> argument. Then + the space is never removed. + </para> + + <bridgehead renderas="sect5" id="cmd-addvspace">\addvspace</bridgehead> + <indexterm><primary>\addvspace</primary></indexterm> + <indexterm><primary>Vertical space, inserting</primary></indexterm> + <indexterm><primary>Space, inserting vertical</primary></indexterm> + + <para><literal>\addvspace{length}</literal> + </para> + <para>The <literal>\addvspace</literal> command normally adds + a vertical space of height length. However, if vertical + space has already been added to the same point in the + output by a previous <literal>\addvspace</literal> + command, then this command will not add more space than + needed to make the natural length of the total vertical + space equal to <literal>length</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-bigskip">\bigskip</bridgehead> + <indexterm><primary>\bigskip</primary></indexterm> + + <para>The <literal>\bigskip</literal> command is equivalent to + <literal>\vspace{bigskipamount}</literal> where + <literal>bigskipamount</literal> is determined by the + document class. + </para> + + <bridgehead renderas="sect5" id="cmd-medskip">\medskip</bridgehead> + <indexterm><primary>\medskip</primary></indexterm> + + <para>The <literal>\medskip</literal> command is + equivalent to <literal>\vspace{medskipamount}</literal> + where <literal>medskipamount</literal> is determined by + the document class. + </para> + + <bridgehead renderas="sect5" id="cmd-smallskip">\smallskip</bridgehead> + <indexterm><primary>\smallskip</primary></indexterm> + + <para><literal>\smallskip</literal> + </para> + <para>The <literal>\smallskip</literal> command is equivalent + to <literal>\vspace{smallskipamount}</literal> where + <literal>smallskipamount</literal> is determined by the + document class. + </para> + + <bridgehead renderas="sect5" id="cmd-vfill">\vfill</bridgehead> + <indexterm><primary>\vfill</primary></indexterm> + + <para>The <literal>\vfill</literal> fill command produces a + rubber length which can stretch or shrink vertically. + </para> + + <bridgehead renderas="sect5" id="cmd-vspace">\vspace</bridgehead> + <indexterm><primary>\vspace</primary></indexterm> + + <para><literal>\vspace{length}, \vspace*{length}</literal> + </para> + <para>The <literal>\vspace</literal> command adds vertical + space. The length of the space can be expressed in any + terms that &latex; understands, i.e., points, inches, + etc. You can add negative as well as positive space with + an <literal>\vspace</literal> command. + </para> + <para>&latex; removes vertical space that comes at the end + of a page. If you don't want &latex; to remove this + space, include the optional <literal>*</literal> + argument. Then the space is never removed. + </para> + + <bridgehead renderas="sect5" id="cmd-fbox">\fbox</bridgehead> + <indexterm><primary>\fbox</primary></indexterm> + + <para><literal>\fbox{text}</literal> + </para> + <para>The <literal>\fbox</literal> command is exactly the + same as the <literal>\mbox</literal> command, except + that it puts a frame around the outside of the box that + it creates. + </para> + + <bridgehead id="cmd-framebox">\framebox</bridgehead> + <indexterm><primary>\framebox</primary></indexterm> + + <para><literal>\framebox[width][position]{text}</literal> + </para> + <para>The <literal>\framebox</literal> command is exactly the + same as the <literal>\makebox</literal> command, except + that it puts a frame around the outside of the box that + it creates. + </para> + <para>The framebox command produces a rule of thickness + <literal>\fboxrule</literal>, and leaves a space + <literal>\fboxsep</literal> between the rule and the + contents of the box. + </para> + + <bridgehead renderas="sect5" id="env-lrbox">lrbox</bridgehead> + <indexterm><primary>lrbox</primary></indexterm> + + <para><literal>\begin{lrbox}{cmd} text \end{lrbox}</literal> + </para> + <para>This is the environment form of <literal>\sbox</literal>. + </para> + <para>The text inside the environment is saved in the box + <literal>cmd</literal>, which must have been declared with + <literal>\newsavebox</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-makebox">\makebox</bridgehead> + <indexterm><primary>\makebox</primary></indexterm> + + <para><literal>\makebox[width][position]{text}</literal> + </para> + <para>The <literal>\makebox</literal> command creates a + box just wide enough to contain the + <literal>text</literal> specified. The width of the box + is specified by the optional <literal>width</literal> + argument. The position of the text within the box is + determined by the optional <literal>position</literal> + argument. + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>c</literal> --- centred (default) + </simpara></listitem> + <listitem> + <simpara><literal>l</literal> --- flushleft + </simpara></listitem> + <listitem> + <simpara><literal>r</literal> --- flushright + </simpara></listitem> + <listitem> + <simpara><literal>s</literal> --- stretch from left to right + margin. The text must contain stretchable space for this + to work. + </simpara></listitem> + </itemizedlist> + + <para>See <link linkend="cmd-makebox-op-picture-cp">\makebox + (picture)</link>. + </para> + + <bridgehead renderas="sect5" id="cmd-mbox">\mbox</bridgehead> + <indexterm><primary>\mbox</primary></indexterm> + + <para><literal>\mbox{text}</literal> + </para> + <para>The <literal>\mbox</literal> command creates a box just + wide enough to hold the text created by its argument. + </para> + <para>Use this command to prevent text from being split + across lines. + </para> + + <bridgehead renderas="sect5" id="cmd-newsavebox">\newsavebox</bridgehead> + <indexterm><primary>\newsavebox</primary></indexterm> + + <para><literal>\newsavebox{cmd}</literal> + </para> + <para>Declares <literal>cmd</literal>, which must be a command + name that is not already defined, to be a bin for saving + boxes. + </para> + + <bridgehead renderas="sect5" id="cmd-parbox">\parbox</bridgehead> + <indexterm><primary>\parbox</primary></indexterm> + + <para><literal>\parbox[position][height][inner-pos]{width}{text}</literal> + </para> + <para>A <literal>parbox</literal> is a box whose contents are + created in <literal>paragraph</literal> mode. The + <literal>\parbox</literal> has two mandatory arguments: + </para> + <itemizedlist spacing="compact" + ><listitem> + <simpara><literal>width</literal> - specifies the width of + the parbox, and + </simpara></listitem> + <listitem> + <simpara><literal>text</literal> - the text that goes inside + the parbox. + </simpara></listitem> + </itemizedlist> + + <para>&latex; will position a <literal>parbox</literal> so + its centre lines up with the centre of the text line. + The optional <emphasis>position</emphasis> argument + allows you to line up either the top or bottom line in + the parbox (default is top). + </para> + <para>If the <emphasis>height</emphasis> argument is not + given, the box will have the natural height of the text. + </para> + <para>The <emphasis>inner-pos</emphasis> argument controls the + placement of the text inside the box. If it is not + specified, <emphasis>position</emphasis> is used. + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>t</literal> --- text is placed at the top + of the box. + </simpara></listitem> + <listitem> + <simpara><literal>c</literal> --- text is centred in the box. + </simpara></listitem> + <listitem> + <simpara><literal>b</literal> --- text is placed at the + bottom of the box. + </simpara></listitem> + <listitem> + <simpara><literal>s</literal> --- stretch vertically. The + text must contain vertically stretchable space for this + to work. + </simpara></listitem> + </itemizedlist> + + <para>A <literal>\parbox</literal> command is used for a + parbox containing a small piece of text, with nothing + fancy inside. In particular, you shouldn't use any of + the paragraph-making environments inside a + <literal>\parbox</literal> argument. For larger pieces + of text, including ones containing a paragraph-making + environment, you should use a + <literal>minipage</literal> environment See + <link linkend="env-minipage">minipage</link>. + </para> + + <bridgehead renderas="sect5" id="cmd-raisebox">\raisebox</bridgehead> + <indexterm><primary>\raisebox</primary></indexterm> + + <para><literal>\raisebox{distance}[extend-above][extend-below]{text}</literal> + </para> + <para>The <literal>\raisebox</literal> command is used to + raise or lower text. The first mandatory argument + specifies how high the text is to be raised (or lowered + if it is a negative amount). The text itself is + processed in <literal>LR mode</literal>. + </para> + + <para>Sometimes it's useful to make &latex; think + something has a different size than it really does - or + a different size than &latex; would normally think it + has. The <literal>\raisebox</literal> command lets you + tell &latex; how tall it is. + </para> + <para>The first optional argument, + <literal>extend-above</literal>, makes &latex; think + that the text extends above the line by the amount + specified. The second optional argument, + <literal>extend-below</literal>, makes &latex; think + that the text extends below the line by the amount + specified. + </para> + + <bridgehead renderas="sect5" id="cmd-rule">\rule</bridgehead> + <indexterm><primary>\rule</primary></indexterm> + + <para><literal>\rule[raise-height]{width}{thickness}</literal> + </para> + <para>The <literal>\rule</literal> command is used to produce + horizontal lines. The arguments are defined as follows: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>raise-height</literal> - specifies how high + to raise the rule (optional) + </simpara></listitem> + <listitem> + <simpara><literal>width</literal> - specifies the length of + the rule (mandatory) + </simpara></listitem> + <listitem> + <simpara><literal>thickness</literal> - specifies the + thickness of the rule (mandatory) + </simpara></listitem> + </itemizedlist> + + <bridgehead renderas="sect5" id="cmd-savebox">\savebox</bridgehead> + <indexterm><primary>\savebox</primary></indexterm> + + <para><literal>\savebox{cmd}[width][pos]{text}</literal></para> + + <para>This command typeset <literal>text</literal> in a box just as + for <literal>\makebox</literal>. However, instead of + printing the resulting box, it saves it in bin + <literal>cmd</literal>, which must have been declared with + <literal>\newsavebox</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-sbox">\sbox</bridgehead> + <indexterm><primary>\sbox</primary></indexterm> + + <para><literal>\sbox{cmd}\{text}</literal> + </para> + <para>This commands typesets <literal>text</literal> in a box + just as for <literal>\mbox</literal>. However, instead of + printing the resulting box, it saves it in + <literal>cmd</literal>, which must have been declared with + <literal>\newsavebox</literal>. + </para> + + <bridgehead renderas="sect5" id="cmd-usebox">\usebox</bridgehead> + <indexterm><primary>\usebox</primary></indexterm> + + <para><literal>\usebox{cmd}</literal> + </para> + <para>Prints the box most recently saved in bin + <literal>cmd</literal> by a <literal>\savebox</literal> + command. + </para> + + </section> + + + <section id="special-characters"> + <title id="special-characters-title">Special Characters</title> + <indexterm><primary>Special Characters</primary></indexterm> + <indexterm><primary>Characters, special</primary></indexterm> + <indexterm><primary>Reserved Characters</primary></indexterm> + <indexterm><primary>Characters, reserved</primary></indexterm> + + <para>The following characters play a special role in &latex; and + are called + <emphasis>special printing characters</emphasis>, or simply + <emphasis>special characters</emphasis>. + </para> + <programlisting> +# $ % & ~ _ ^ \ { }</programlisting> + + <para>Whenever you put one of these special characters into + your file, you are doing something special. If you simply + want the character to be printed just as any other letter, + include a <literal>\</literal> in front of the character. + For example, <literal>\$</literal> will produce + <literal>$</literal> in your output. + </para> + <para>One exception to this rule is the <literal>\</literal> + itself because <literal>\\</literal> has its own special + meaning. A <literal>\</literal> is produced by typing + <literal>$\backslash$</literal> in your file. + </para> + <para>Also, <literal>\~</literal> means `place a tilde + accent over the following letter', so you will probably + want to use <literal>\verb</literal> instead. + </para> + <indexterm><primary>\backslash</primary></indexterm> + <indexterm><primary>\symbol</primary></indexterm> + <indexterm><primary>Accessing any character of a font</primary></indexterm> + + <para>In addition, you can access any character of a font + once you know its number by using the + <literal>\symbol</literal> command. For example, the + character used for displaying spaces in the + <literal>\verb*</literal> command has the code decimal 32, + so it can be typed as <literal>\symbol{32}</literal>. + </para> + <para>You can also specify octal numbers with + <literal>'</literal> or hexadecimal numbers with + <literal>"</literal>, so the previous example could also + be written as <literal>\symbol{'40}</literal> or + <literal>\symbol{"20}</literal>. + </para> + + </section> + + <section id="special-symbols"> + <title id="special-symbols-title">Special Symbols</title> + <indexterm> + <primary>Symbols</primary> + <secondary>Special</secondary> + </indexterm> + <para></para> + + <bridgehead renderas="sect5" id="accents-on-chars-title">Accents on Characters</bridgehead> + <indexterm> + <primary>Accents</primary> + </indexterm> + <para>The rules differ somewhat depending whether you are + in <link linkend="modes">text mode</link>, + <link linkend="modes">math modes</link>, or the + <link linkend="env-tabbing">tabbing environment</link>. + </para> + + <bridgehead renderas="sect5">Text Mode</bridgehead> + <para>The following accents may be placed on letters. + Although <emphasis>o</emphasis> is used in + most of the example, the accents may be placed on + any letter. Accents may even be placed above a + <emphasis>missing</emphasis> letter; for example, + <literal>\~{}</literal> produces a tilde over a + blank space. + </para> + <para>The following commands may be used only in + paragraph or LR mode: + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>\`{o}</literal> + produces a grave accent, + <emphasis>ò</emphasis></simpara> + </listitem> + <listitem> + <simpara><literal>\'{o}</literal> + produces an acute accent, + <emphasis>ó</emphasis></simpara> + </listitem> + <listitem> + <simpara><literal>\^{o}</literal> + produces a circumflex, + <emphasis>ô</emphasis></simpara> + </listitem> + <listitem> + <simpara><literal>\"{o}</literal> + produces an umlaut or dieresis, + <emphasis>ö</emphasis></simpara> + </listitem> + <listitem> + <simpara><literal>\H{o}</literal> + produces a long Hungarian umlaut + </simpara> + </listitem> + <listitem> + <simpara><literal>\~{o}</literal> + produces a tilde, + <emphasis>õ</emphasis></simpara> + </listitem> + <listitem> + <simpara><literal>\c{c}</literal> + produces a cedilla, + <emphasis> ç</emphasis></simpara> + </listitem> + <listitem> + <simpara><literal>\={o}</literal> + produces a macron accent (a bar over the letter) + </simpara> + </listitem> + <listitem> + <simpara><literal>\b{o}</literal> + produces a bar under the letter + </simpara> + </listitem> + <listitem> + <simpara><literal>\.{o}</literal> + produces a dot over the letter + </simpara> + </listitem> + <listitem> + <simpara><literal>\d{o}</literal> + produces a dot under the letter + </simpara> + </listitem> + <listitem> + <simpara><literal>\u{o}</literal> + produces a breve over the letter + </simpara> + </listitem> + <listitem> + <simpara><literal>\v{o}</literal> + produces a <emphasis>v</emphasis> over + the letter</simpara> + </listitem> + <listitem> + <simpara><literal>\t{oo}</literal> + produces a <emphasis>tie</emphasis> + (inverted u) over the two letters + </simpara> + </listitem> + </itemizedlist> + </para> + <para>Note that the letters <emphasis>i</emphasis> + and <emphasis>j</emphasis> require special + treatment when they are given accents because + it is often desirable to replace the + dot with the accent. For this purpose, the commands + <literal>\i</literal> and <literal>\j</literal> + can be used to produce dotless letters. + </para> + <para>For example, + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>\^{\i}</literal> + should be used for i, circumflex, î + </simpara> + </listitem> + <listitem> + <simpara><literal>\"{\i}</literal> + should be used for i, umlaut, ï</simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5" id="accents-chars-math">Math Mode</bridgehead> + <para>Several of the above and some similar accents + can also be produced in math mode. The following + commands may be used <emphasis>only</emphasis> + in math mode: + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>\hat{o}</literal> + is similar to the circumflex + (cf. <literal>\^</literal>)</simpara> + </listitem> + <listitem> + <simpara><literal>\widehat{oo}</literal> + is a wide version of + <emphasis>\hat</emphasis> + over several letters + </simpara> + </listitem> + <listitem> + <simpara><literal>\check{o}</literal> + is a vee or check (cf. <literal>\v</literal>) + </simpara> + </listitem> + <listitem> + <simpara><literal>\tilde{o}</literal> + is a tilde (cf. <literal>\~</literal>) + </simpara> + </listitem> + <listitem> + <simpara><literal>\widetilde{oo}</literal> + is a wide version of + <literal>\tilde</literal> + over several letters + </simpara> + </listitem> + <listitem> + <simpara><literal>\acute{o}</literal> + is an acute accent (cf. <literal>\`</literal>) + </simpara> + </listitem> + <listitem> + <simpara><literal>\grave{o}</literal> + is a grave accent (cf. <literal>>\'</literal>) + </simpara> + </listitem> + <listitem> + <simpara><literal>\dot{o}</literal> + is a dot over the letter + (cf. <literal>\.</literal>) + </simpara> + </listitem> + <listitem> + <simpara><literal>\ddot{o}</literal> + is a double dot over the letter + </simpara> + </listitem> + <listitem> + <simpara><literal>\breve{o}</literal> + is a breve (cf. <literal>\u</literal>) + </simpara> + </listitem> + <listitem> + <simpara><literal>\bar{o}</literal> + is a macron (cf. <literal>\=</literal>) + </simpara> + </listitem> + <listitem> + <simpara><literal>\vec{o}</literal> + is a vector (arrow) over the letter + </simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5" id="accents-chars-tabbing">Tabbing Environment</bridgehead> + <para>Some of the accent marks used in running + text have other uses in the + <link linkend="env-tabbing">Tabbing Environment</link>. + In that case they can be created with the + following command: + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>>\a'</literal> + for an acute accent</simpara> + </listitem> + <listitem> + <simpara><literal>\a`</literal> + for a grave accent</simpara> + </listitem> + <listitem> + <simpara><literal>\a=</literal> + for a macron accent</simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5" id="arrows-title">Arrows</bridgehead> + <indexterm> + <primary>Arrows</primary> + </indexterm> + <para>&latex; provides commands for all sorts of arrows. + The following commands are used only in math mode. + </para> + <para>In general the command names are created from + <literal>left</literal>, <literal>right</literal>, + <literal>up</literal>, or <literal>down</literal>. + <literal>leftright</literal> gives a double headed + arrow. Prefacing with <literal>long</literal> gives + a longer arrow. Capitalizing the + first letter gives a double-shanked arrow. + </para> + <para>Examples are: + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>\leftarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Leftarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\longleftarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Longleftarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\rightarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Rightarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\longrightarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Longrightarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\leftrightarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Leftrightarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\longleftrightarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\uparrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\downarrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Uparrow</literal></simpara> + </listitem> + <listitem> + <simpara><literal>>\nearrow</literal> points from + southwest to northeast</simpara> + </listitem> + <listitem> + <simpara><literal>\searrow</literal> points from + northwest to southeast</simpara> + </listitem> + <listitem> + <simpara><literal>\swarrow</literal> points from + northeast to southwest</simpara> + </listitem> + <listitem> + <simpara><literal>\nwarrow</literal> points from + southeast to northwest</simpara> + </listitem> + </itemizedlist> + </para> + <para>The <literal>\stackrel</literal> command is + useful for putting things over or under your arrow. + </para> + <para>See also: + <itemizedlist spacing="compact"> + <listitem> + <simpara><link linkend="math-symbols-title">Math Symbols</link></simpara> + </listitem> + <listitem> + <simpara> + <link linkend="binary-and-relational-ops-title"> + Binary and Relational Operators</link> + </simpara> + </listitem> + <listitem> + <simpara> + <link linkend="greek-letters-title">Greek Letters</link> + </simpara> + </listitem> + <listitem> + <simpara><link linkend="misc-symbols-title"> + Miscellaneous Symbols</link> + </simpara> + </listitem> + <listitem> + <simpara> + <link linkend="variable-math-size-symbols-title"> + Variable Size Math Symbols</link> + </simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5" id="binary-and-relational-ops-title">Binary and Relational Operators</bridgehead> + <indexterm> + <primary>Binary Operators</primary> + </indexterm> + <indexterm> + <primary>Relational Operators</primary> + </indexterm> + <indexterm> + <primary>Operators</primary> + <secondary>Binary</secondary> + </indexterm> + <indexterm> + <primary>Operators</primary> + <secondary>Relational</secondary> + </indexterm> + <para>Some <emphasis>math</emphasis> symbols are + obtained by typing the corresponding keyboard + character. Examples include + <programlisting>+ - = < > </programlisting> + <note> + <para>plus, minus, and equal sign may be used in + either text or math mode, but < and > are + math mode only (they produce inverted exclamation + and question marks, respectively, + in text mode). + </para> + </note> + </para> + <para>The following commands may be used only in math mode: + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>\pm</literal> + plus or minus sign</simpara> + </listitem> + <listitem> + <simpara><literal>\mp</literal> + minus or plus sign</simpara> + </listitem> + <listitem> + <simpara><literal>\times</literal> + times (an "x")</simpara> + </listitem> + <listitem> + <simpara><literal>\div</literal> + divided by sign</simpara> + </listitem> + <listitem> + <simpara><literal>\ast</literal> + an asterisk (centered)</simpara> + </listitem> + <listitem> + <simpara><literal>\star</literal> + a five-point star (centered)</simpara> + </listitem> + <listitem> + <simpara><literal>\bullet</literal> + a bullet</simpara> + </listitem> + <listitem> + <simpara><literal>\circ</literal> + an open bullet</simpara> + </listitem> + <listitem> + <simpara><literal>\cdot</literal> + a centered dot</simpara> + </listitem> + <listitem> + <simpara><literal>\leq</literal> + less than or equal to</simpara> + </listitem> + <listitem> + <simpara><literal>\ll</literal> + much less than</simpara> + </listitem> + <listitem> + <simpara><literal>\subset</literal> + is a subset of</simpara> + </listitem> + <listitem> + <simpara><literal>\geq</literal> + greater than or equal to</simpara> + </listitem> + <listitem> + <simpara><literal>\gg</literal> + much greater than</simpara> + </listitem> + <listitem> + <simpara><literal>\equiv</literal> + equivalence symbol</simpara> + </listitem> + <listitem> + <simpara><literal>\sim</literal> + similar to</simpara> + </listitem> + <listitem> + <simpara><literal>\simeq</literal> + similar or equal to</simpara> + </listitem> + <listitem> + <simpara><literal>\approx</literal> + approximately equal to</simpara> + </listitem> + <listitem> + <simpara><literal>\neq</literal> + not equal to</simpara> + </listitem> + <listitem> + <simpara><literal>\per</literal> + "perpendicular to" symbols</simpara> + </listitem> + <listitem> + <simpara><literal>\propto</literal> + proportional to</simpara> + </listitem> + </itemizedlist> + </para> + <para>Note that <emphasis>greater than</emphasis> + and <emphasis>less than</emphasis> are obtained + simply by entering <literal>></literal> and + <literal><</literal>. + </para> + <para>A slash, indicating <emphasis>not</emphasis> + can be placed through a symbol (or a letter) with the + <literal>\not</literal> command. For example, + not less than is <literal>\not<</literal> + and not less than or equal to is + <literal>\not\leq</literal>. + If the slash isn't properly positioned it can be + moved by putting a math mode spacing command + between the <literal>\not</literal>and the symbol. + </para> + + <bridgehead renderas="sect5" id="delimiters-title">Delimiters</bridgehead> + <indexterm> + <primary>Delimiters</primary> + </indexterm> + <para>Delimiters are objects which act logically like + parentheses. These can be used only in math mode. + </para> + <para>The delimiters recognized by &latex; include: + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>(</literal> + (left parenthesis) + </simpara> + </listitem> + <listitem> + <simpara><literal>)</literal> + (right parenthesis) + </simpara> + </listitem> + <listitem> + <simpara><literal>[</literal> + (left bracket) + </simpara> + </listitem> + <listitem> + <simpara><literal>]</literal> + (right bracket)</simpara> + </listitem> + <listitem> + <simpara><literal>\{</literal> + (left brace) + </simpara> + </listitem> + <listitem> + <simpara><literal>\}</literal> + (right brace) + </simpara> + </listitem> + <listitem> + <simpara><literal>|</literal> + (vertical line) + </simpara> + </listitem> + <listitem> + <simpara><literal>\vert</literal> + (vertical line) + </simpara> + </listitem> + <listitem> + <simpara><literal>\|</literal> + (double vertical lines) + </simpara> + </listitem> + <listitem> + <simpara><literal>\Vert</literal> + (double vertical lines) + </simpara> + </listitem> + <listitem> + <simpara><literal>/</literal> + (slash) + </simpara> + </listitem> + <listitem> + <simpara><literal>\backslash</literal> + (backslash) + </simpara> + </listitem> + <listitem> + <simpara><literal>\langle</literal> + (left angle bracket) + </simpara> + </listitem> + <listitem> + <simpara><literal>\rangle</literal> + (right angle bracket) + </simpara> + </listitem> + <listitem> + <simpara><literal>\uparrow</literal> + (uparrow) + </simpara> + </listitem> + <listitem> + <simpara><literal>\downarrow</literal> + (down arrow) + </simpara> + </listitem> + <listitem> + <simpara><literal>\updownarrow</literal> + (up/down arrow) + </simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5">Making Delimiters the Right Size</bridgehead> + <para>Delimiters in formulas should be big enough + to <emphasis>fit</emphasis> around the formulas + they delimit (for example arround arrays). + To obtain <emphasis>stretchable</emphasis> + delimiters (&latex; makes them the appropriate size) + type a <literal>\left</literal> or + <literal>\right</literal> command before + the delimiter. <literal>\left</literal> and + <literal>\right</literal> commands must come in + matching pairs, although the delimiters themselves + need not be the same. Thus, + <literal> \left \{ ... \right \[ </literal> + produces a legal pair. + In cases where only one delimiter is desired, it + is possible to make the matching delimiter + <emphasis>invisible</emphasis> by typing a + period (<literal>.</literal>) after the command, + i.e., <literal>\left.</literal> or + <literal>\right.</literal> + </para> + <para>In an <link linkend="env-eqnarray">eqnarray</link> + environment the matching + <literal>\left</literal> and <literal>\right</literal> + cannot be split between lines and it may be necessary + to use an <emphasis>invisible</emphasis> + <literal>\right.</literal> and <literal>\left.</literal> + to terminate and begin parts on different lines. + In this case a second problem may arise, since the + size of the delimiters will be chosen only for the + <emphasis>local part</emphasis>, so that the size of + the <emphasis>visible</emphasis> + <emphasis>left</emphasis> + and <emphasis>right</emphasis> delimiters might + not match. The solution is to trick &latex; into thinking + that both parts have the same vertical height. This + can be done by placing a strut, that is a zero-width + <literal>\rule</literal>. It can also be accomplished + with the <literal>\vphantom</literal> command, which + I have not found documented, but which appears to work. + </para> + <para><literal>\vphantom{construct}</literal> + creates a zero-width object with the height of + <literal>construct</literal>. + The argument can contain things such as + <literal>\frac</literal> or the + <emphasis>variable size math symbols</emphasis> + and should be chosen according to what is in the + section with the delimiter you want to match. + </para> + + <bridgehead renderas="sect5">Some Examples</bridgehead> + + <bridgehead renderas="sect5">A six-j symbol</bridgehead> + <para> + <programlisting> +\[ \left\{ +\begin{array}{ccc} +a & b & c \\ +d & e & f \end{array} +\right>\} \]</programlisting> + This should be displayed something like + (insofar as it can be rendered in + "ascii art"): + <programlisting> +( a b c ) +- - +( d e f ) +</programlisting> + Note that the <literal>\[ ... \]</literal> + set this off as <emphasis>Display Math</emphasis>, + and that the <emphasis>Array Environment</emphasis> + is used to generate the three centered columns + inside the braces. + </para> + + <bridgehead renderas="sect5">A "multiple choice" equation</bridgehead> + <para> + <programlisting> +\[ f(x) = + \left\{ \begin{array}{l} + 0, x < 0 \\ 1, x = 0 \\ + 2, x > 0 \end{array} \right. \]</programlisting> + will be displayed as + <programlisting> + ( 0, x < 0 +f(x) = - 1, x = 0 + ( 2, x > 0</programlisting> + Note that the <emphasis>invisible</emphasis> + <literal>\right</literal> delimiter is specified + using a <emphasis>period</emphasis>. + </para> + + <bridgehead renderas="sect5" id="ellipsis-title">Ellipsis</bridgehead> + <indexterm> + <primary>Ellipsis</primary> + </indexterm> + <para>Ellipses (three dots) can be produced by the + following commands + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>\ldots</literal> + horizontally at bottom of line + </simpara> + </listitem> + <listitem> + <simpara><literal>\cdots</literal> + horizontally center of line + (math mode only) + </simpara> + </listitem> + <listitem> + <simpara><literal>\ddots</literal> + diagonal (math mode only) + </simpara> + </listitem> + <listitem> + <simpara><literal>\vdots</literal> + vertical (math mode only) + </simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5" id="greek-letters-title">Greek Letters</bridgehead> + <indexterm> + <primary>Greek Letters</primary> + </indexterm> + <para>These commands may be used only in math mode: + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>\alpha</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\beta</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\gamma</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\delta</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\epsilon</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\varepsilon</literal> (variation, + script-like)</simpara> + </listitem> + <listitem> + <simpara><literal>\zeta</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\eta</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\theta</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\vartheta</literal> (variation, + script-like)</simpara> + </listitem> + <listitem> + <simpara><literal>\iota</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\kappa</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\lambda</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\mu</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\nu</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\xi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\pi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\varpi</literal> (variation)</simpara> + </listitem> + <listitem> + <simpara><literal>\rho</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\varrho</literal> (variation, + with the tail)</simpara> + </listitem> + <listitem> + <simpara><literal>\sigma</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\varsigma</literal> (variation, + script-like)</simpara> + </listitem> + <listitem> + <simpara><literal>\tau</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\upsilon</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\phi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\varphi</literal> (variation, + script-like)</simpara> + </listitem> + <listitem> + <simpara><literal>\chi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\psi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\omega</literal></simpara> + </listitem> + </itemizedlist> + </para> + <para> + Capital letters: + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>\Gamma</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Delta</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Theta</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Lambda</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Xi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Pi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Sigma</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Upsilon</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Phi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Psi</literal></simpara> + </listitem> + <listitem> + <simpara><literal>\Omega</literal></simpara> + </listitem> + </itemizedlist> + </para> + <para> + See also: + <itemizedlist spacing="compact"> + <listitem> + <simpara><link linkend="math-symbols-title">Math Symbols</link> + </simpara> + </listitem> + <listitem> + <simpara><link linkend="accents-on-chars-title">Accents</link> + </simpara> + </listitem> + <listitem> + <simpara><link linkend="misc-symbols-title">Miscellaneous Symbols</link> + </simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5" id="misc-symbols-title">Miscellaneous Symbols</bridgehead> + <indexterm> + <primary>Symbols</primary> + <secondary>Miscellaneous</secondary> + </indexterm> + + <bridgehead renderas="sect5">Some symbols for math</bridgehead> + <para>The following symbols are also used only in math mode + <itemizedlist spacing="compact"> + <listitem> + <simpara id="cmd-misc-symbol-aleph"><literal>\aleph</literal> + Hebrew aleph</simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-hbar"><literal>\hbar</literal> + h-bar, Planck's constant</simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-imath"><literal>\imath</literal> + variation on <emphasis>i</emphasis>; no dot + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-jmath"><literal>\jmath</literal> + variation on <emphasis>j</emphasis>; no dot + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-ell"><literal>\ell</literal> + script (loop) <emphasis>l</emphasis> + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-wp"><literal>\wp</literal> + fancy script lowercase <emphasis>P</emphasis> + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-re"><literal>\Re</literal> + script capital <emphasis>R</emphasis> + (<emphasis>Real</emphasis>) + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-im"><literal>\Im</literal> + script capital <emphasis>I</emphasis> + (<emphasis>Imaginary</emphasis>) + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-prime"><literal>\prime</literal> + prime (also obtained by typing + <literal>'</literal>) + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-nabla"><literal>\nabla</literal> + inverted capital Delta + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-surd"><literal>\surd</literal> + radical (square root) symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-angle"><literal>\angle</literal> + angle symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-forall"><literal>\forall</literal> + <emphasis>for all</emphasis> (inverted A) + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-exists"><literal>\exists</literal> + <emphasis>exists</emphasis> (left-facing E) + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-partial"><literal>\partial</literal> + partial derivative symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-infty"><literal>\infty</literal> + infinity symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-triangle"><literal>\triangle</literal> + open triangle symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-box"><literal>\Box</literal> + open square + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-diamond"><literal>\Diamond</literal> + open diamond + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-flat"><literal>\flat</literal> + music: flat symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-natural"><literal>\natural</literal> + music: natural symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-clubsuit"><literal>\clubsuit</literal> + playing cards: club suit symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-diamondsuit"><literal>\diamondsuit</literal> + playing cards: diamond suit symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-heartsuit"><literal>\heartsuit</literal> + playing cards: heart suit symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-misc-symbol-spadsuit"><literal>\spadesuit</literal> + playing cards: space suit symbol + </simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5">Some Other Symbols</bridgehead> + <para>The following symbols can be used in any mode: + <itemizedlist spacing="compact"> + <listitem> + <simpara id="cmd-other-symbol-dag"><literal>\dag</literal> + dagger + </simpara> + </listitem> + <listitem> + <simpara id="cmd-other-symbol-ddag">><literal>\ddag</literal> + double dagger + </simpara> + </listitem> + <listitem> + <simpara id="cmd-other-symbol-s">><literal>\S</literal> + section symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-other-symbol-p">><literal>\P</literal> + paragraph symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-other-symbol-copyright">><literal>\copyright</literal> + copyright symbol + </simpara> + </listitem> + <listitem> + <simpara id="cmd-other-symbol-pounds">><literal>\pounds</literal> + British pound sterling symbol + </simpara> + </listitem> + </itemizedlist> + </para> + + <bridgehead renderas="sect5">Calligraphic Style Letters</bridgehead> + <para>Twenty-six calligraphic letters are + provided (the upper case alphabet). These + can only be used in math mode. + </para> + <para>In &latex; 2.09 they are produced with the + <literal>\cal</literal> declaration: + <programlisting>${\cal A}$</programlisting> + In &latex2e; they are obtained with the + <literal>\mathcal</literal> command: + <programlisting>$\mathcal{CAL}$</programlisting> + </para> + + <bridgehead renderas="sect5" id="math-functions-title">Math Functions</bridgehead> + <indexterm> + <primary>Math Functions</primary> + </indexterm> + <para>Functions like <emphasis>log</emphasis> or + <emphasis>cos</emphasis> are normally used in + math mode. However, inmath mode strings of letters + are treated as a product of variables, which + would normally be displayed in math italics rather + than a text font which would be appropriate for + these functions. To get proper display of such functions + they are generated with &latex; commands. + </para> + <para>Some of these commands are: + <itemizedlist spacing="compact"> + <listitem> + <simpara id="cmd-math-func-arccos"><literal>\arccos</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-arcsin"><literal>\arcsin</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-arctan"><literal>\arctan</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-cos"><literal>\cos</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-cosh"><literal>\cosh</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-cot"><literal>\cot</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-coth"><literal>\coth</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-csc"><literal>\csc</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-deg"><literal>\deg</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-det"><literal>\det</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-dim"><literal>\dim</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-exp"><literal>\exp</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-gcd"><literal>\gcd</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-hom"><literal>\hom</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-inf"><literal>\inf</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-ker"><literal>\ker</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-lg"><literal>\lg</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-lim"><literal>\lim</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-liminf"><literal>\liminf</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-limsup"><literal>\limsup</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-ln"><literal>\ln</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-log"><literal>\log</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-max"><literal>\max</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-min"><literal>\min</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-sec"><literal>\sec</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-sin"><literal>\sin</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-sinh"><literal>\sinh</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-sup"><literal>\sup</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-tan"><literal>\tan</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-tanh"><literal>\tanh</literal></simpara> + </listitem> + </itemizedlist> + </para> + <para>Two commands are provided for the "modulus" function + <itemizedlist spacing="compact"> + <listitem> + <simpara id="cmd-math-func-bmod"><literal>\bmod</literal></simpara> + </listitem> + <listitem> + <simpara id="cmd-math-func-pmod"><literal>\pmod{}</literal></simpara> + </listitem> + </itemizedlist> + The former would be used to write "a mod b" as + <literal>a \bmod b</literal> + and the latter, which requires an argument that is + displayed in parentheses, would be used to write + "n = i (mod j)" as <literal>n = i \pmod{j}</literal> + </para> + + <bridgehead renderas="sect5" id="variable-math-size-symbols-title">Variable Size Math Symbols</bridgehead> + <indexterm> + <primary>Math Symbols, Variable Size</primary> + </indexterm> + <para>The size of some mathematical symbols, notably + summation signs, product signs, and + integral signs, depends on the environment in which they + appear (i.e., <literal>displaymath</literal> + as opposed to <literal>math</literal> environments. + </para> + <para>These include: + <itemizedlist spacing="compact"> + <listitem> + <simpara id="cmd-math-symbol-sum"><literal>\sum</literal> + a summation sign (capital sigma)</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-prod"><literal>\prod</literal> + a product (capital pi)</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-coprod"><literal>\coprod</literal> + a coproduct (inverted capital pi)</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-int"><literal>\int</literal> + an integral sign</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-oint"><literal>\oint</literal> + a surface (circular) integral sign</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-bigcup"><literal>\bigcup</literal> + big "U"</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-bigcap"><literal>\bigcap</literal> + big inverted "U"</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-bigvee"><literal>\bigvee</literal> + big "V"</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-bigwedge"><literal>\bigwedge</literal> + big inverted "V"</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-bigodot"><literal>\bigodot</literal> + big "O" with dot at center</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-bigotimes"><literal>\bigotimes</literal> + big "O" with cross inside</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-bigoplus"><literal>\bigoplus</literal> + big "O" with a + inside</simpara> + </listitem> + <listitem> + <simpara id="cmd-math-symbol-biguplus"><literal>\biguplus</literal> + big "U" with a + inside</simpara> + </listitem> + </itemizedlist> + </para> + <para>The <literal>\sqrt</literal> command also + produces a variable size symbol appropriate for + the size of hte radicand argument. + </para> + <para>The "limits" associated with these symbols are entered + as <emphasis>subscripts</emphasis> for entries appearing + below the symbol and as <emphasis>superscripts</emphasis> + for entries appearing above the symbol. + For example the sum from n=0 to infinity of + x<superscript>n</superscript> would be entered as + <programlisting>\sum_{n=0}^{\infty} x_{n}</programlisting> + The actual placement of the limits depends on whether + this is in <literal>displaymath</literal> mode in which + case they are placed below/above + or in <emphasis>math</emphasis> mode in running text + in which case they are placed as regular + subscripts and superscripts. + </para> + <para>Note that it is possible to treat several of + these symbols (a common example would be a double sum) + as a single symbol for placing limits above and/or + below by using the <literal>\mathop</literal> command. + </para> + <para><emphasis>Hats</emphasis> and + <emphasis>tildes</emphasis> over symbols which stretch + (as best they can) to the correct size for their + arguments are produced by <literal>\widehat</literal> + and <literal>\widetilde</literal> + </para> + + </section> + + + <section id="splitting-the-input"> + <title id="splitting-the-input-title">Splitting the Input</title> + <indexterm><primary>Splitting the input file</primary></indexterm> + <indexterm><primary>Input file, splitting</primary></indexterm> + + <para>A large document requires a lot of input. Rather than + putting the whole input in a single large file, it's more + efficient to split it into several smaller ones. + Regardless of how many separate files you use, there is + one that is the root file; it is the one whose name you + type when you run &latex;. + </para> + + <bridgehead renderas="sect5" id="cmd-include-title">\include</bridgehead> + <indexterm><primary>\include</primary></indexterm> + + <para><literal>\include{file}</literal> + </para> + <para>The <literal>\include</literal> command is used in + conjunction with the <literal>\includeonly</literal> + command for selective inclusion of files. The + <literal>file</literal> argument is the first name of a + file, denoting <filename>file.tex</filename>. If + <literal>file</literal> is one the file names in the + file list of the <literal>\includeonly</literal> command + or if there is no <literal>\includeonly</literal> + command, the <literal>\include</literal> command is + equivalent to + </para> + <programlisting> +\clearpage \input{file} \clearpage</programlisting> + + <para>except that if the file + <filename>file.tex</filename> does not exist, then a + warning message rather than an error is produced. If + the file is not in the file list, the + <literal>\include</literal> command is equivalent to + <literal>\clearpage</literal>. + </para> + <para>The <literal>\include</literal> command may not appear + in the preamble or in a file read by another + <literal>\include</literal> command. + </para> + + <bridgehead renderas="sect5" id="cmd-includeonly-title">\includeonly</bridgehead> + <indexterm><primary>\includeonly</primary></indexterm> + + <para><literal>\includeonly{</literal><emphasis>file_list</emphasis><literal>}</literal> + </para> + <para>The <literal>\includeonly</literal> command controls + which files will be read in by an + <literal>\include</literal> command. + <emphasis>file_list</emphasis> should be a + comma-separated list of filenames. Each filename must + match exactly a filename specified in a + <literal>\include</literal> command. This command can + only appear in the preamble. + </para> + + <bridgehead renderas="sect5" id="cmd-input-title">\input</bridgehead> + <indexterm><primary>\input</primary></indexterm> + + <para><literal>\input{file}</literal> + </para> + <para>The <literal>\input</literal> command causes the + indicated <literal>file</literal> to be read and processed, + exactly as if its contents had been inserted in the current + file at that point. The file name may be a complete file + name with extension or just a first name, in which case the + file <filename>file.tex</filename> is used. + </para> + + </section> + + + <section id="starting-and-ending"> + <title id="starting-and-ending-title">Starting & Ending</title> + <indexterm><primary>Starting & Ending</primary></indexterm> + <indexterm><primary>Ending & Starting</primary></indexterm> + + <para>Your input file must contain the following commands as a minimum: + </para> + <programlisting> +\documentclass{class} +\begin{document} + ... your text goes here ... +\end{document}</programlisting> + + <para>where the <literal>class</literal> selected is one of the + valid classes for &latex;. See <link linkend="document-classes">Document Classes</link> (and see + <link linkend="overview">&overview;</link>), for details of the + various document classes available locally. + </para> + <para>You may include other &latex; commands between the + <literal>\documentclass</literal> and the + <literal>\begin{document}</literal> commands (i.e., in the + `preamble'). + </para> + + </section> + + + <section id="table-of-contents"> + <title id="table-of-contents-title">Table of Contents</title> + <indexterm><primary>Table of Contents, creating</primary></indexterm> + + <para>A table of contents is produced with the + <literal>\tableofcontents</literal> + <indexterm><primary>\tableofcontents</primary></indexterm> + command. You put the command right where you want the table of + contents to go; &latex; does the rest for you. It produces a + heading, but it does not automatically start a new page. If + you want a new page after the table of contents, include a + <literal>\newpage</literal> command after the + <literal>\tableofcontents</literal> command. + </para> + <para>There are similar commands + <literal>\listoffigures</literal> + <indexterm><primary>\listoffigures</primary></indexterm> and + <literal>\listoftables</literal> + <indexterm><primary>\listoftables</primary></indexterm> for + producing a list of figures and a list of tables, + respectively. Everything works exactly the same as for the + table of contents. </para> + <para>NOTE: If you want any of + these items to be generated, you cannot have the + <literal>\nofiles</literal> + <indexterm><primary>\nofiles</primary></indexterm> command in + your document. + </para> + + <bridgehead renderas="sect5" id="cmd-addcontentsline-title">\addcontentsline</bridgehead> + <indexterm><primary>\addcontentsline</primary></indexterm> + + <para><literal>\addcontentsline{file}{sec_unit}{entry}</literal> + </para> + <para>The <literal>\addcontentsline</literal> command adds an + entry to the specified list or table where: + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>file</literal> is the extension of the file + on which information is to be written: + <literal>toc</literal> (table of contents), + <literal>lof</literal> (list of figures), or + <literal>lot</literal> (list of tables). + </simpara></listitem> + <listitem> + <simpara><literal>sec_unit</literal> controls the formatting + of the entry. It should be one of the following, + depending upon the value of the file argument: + </simpara><orderedlist><listitem> + <simpara><literal>toc</literal> --- the name of the + sectional unit, such as part or subsection. + </simpara></listitem> + <listitem> + <simpara><literal>lof</literal> --- figure + </simpara></listitem> + <listitem> + <simpara><literal>lot</literal> --- table + </simpara></listitem> + </orderedlist> + </listitem> + <listitem> + <simpara><literal>entry</literal> is the text of the entry. + </simpara></listitem> + </itemizedlist> + + <bridgehead renderas="sect5" id="cmd-addtocontents-title">\addtocontents</bridgehead> + <indexterm><primary>\addtocontents</primary></indexterm> + + <para><literal>\addtocontents{file}{text}</literal> + </para> + <para>The <literal>\addtocontents</literal> command adds text + (or formatting commands) directly to the file that generates + the table of contents or list of figures or tables. + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara><literal>file</literal> is the extension of the file + on which information is to be written: + <literal>toc</literal> (table of contents), + <literal>lof</literal> (list of figures), or + <literal>lot</literal> (list of tables). + </simpara></listitem> + <listitem> + <simpara><literal>text</literal> is the information to be + written. + </simpara></listitem> + </itemizedlist> + + </section> + + <section id="terminal-input-slash-output"> + <title id="terminal-input-slash-output-title">Terminal Input/Output</title> + <indexterm><primary>Input/Output</primary></indexterm> + <indexterm><primary>Terminal Input/Output</primary></indexterm> + + <bridgehead renderas="sect5" id="cmd-typein-title">\typein</bridgehead> + <indexterm><primary>\typein</primary></indexterm> + + <para><literal>\typein[cmd]{msg}</literal> + </para> + + <para>Prints <literal>msg</literal> on the terminal and + causes &latex; to stop and wait for you to type a line + of input, ending with return. If the + <literal>cmd</literal> argument is missing, the typed + input is processed as if it had been included in the + input file in place of the <literal>\typein</literal> + command. If the <literal>cmd</literal> argument is + present, it must be a command name. This command name + is then defined or redefined to be the typed input. + </para> + + <bridgehead renderas="sect5" id="cmd-typeout-title">\typeout</bridgehead> + <indexterm><primary>\typeout</primary></indexterm> + + <para><literal>\typeout{msg}</literal> + </para> + <para>Prints <literal>msg</literal> on the terminal and in the + <literal>log</literal> file. Commands in + <literal>msg</literal> that are defined with + <literal>\newcommand</literal> or + <literal>\renewcommand</literal> are replaced by their + definitions before being printed. + </para> + + <para>&latex;'s usual rules for treating multiple spaces + as a single space and ignoring spaces after a command + name apply to <literal>msg</literal>. A + <literal>\space</literal> command in + <literal>msg</literal> causes a single space to be + printed. A <literal>^^J</literal> in + <literal>msg</literal> prints a newline. + </para> + + </section> + + <section id="typefaces"> + <title id="typefaces-title">Typefaces</title> + <indexterm><primary>Typefaces</primary></indexterm> + <indexterm><primary>Fonts</primary></indexterm> + + <para>The <literal>typeface</literal> is specified by giving the + <emphasis>size</emphasis> and <emphasis>style</emphasis>. + A typeface is also called a <emphasis>font</emphasis>. + </para> + + <bridgehead renderas="sect5" id="styles-title">\Styles</bridgehead> + <indexterm><primary>Font Styles</primary></indexterm> + <indexterm><primary>Typeface Styles</primary></indexterm> + <indexterm><primary>Styles of text</primary></indexterm> + + <para>The following type style commands are supported by + &latex;. + </para> + <para>These commands are used like <literal>\textit{italics + text}</literal>. The corresponding command in parenthesis + is the <emphasis>declaration form</emphasis>, which + takes no arguments. The + scope of the declaration form lasts until the next type + style command or the end of the current group. + </para> + <para>The declaration forms are cumulative; i.e., you can say + <literal>\sffamily\bfseries</literal> to get sans serif + boldface. + </para> + <para>You can also use the environment form of the declaration + forms; e.g. + <literal>\begin{ttfamily}...\end{ttfamily}</literal>. + </para> + <table frame="none"> + <title>Typefaces</title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"><entry>\textrm (\rmfamily) + <indexterm><primary>\textrm</primary></indexterm> + <indexterm><primary>\rmfamily</primary></indexterm> + </entry> + <entry>Roman. + </entry> + </row> + <row rowsep="0"><entry>\textit (\itshape) + <indexterm><primary>\textit</primary></indexterm> + <indexterm><primary>\itshape</primary></indexterm>, + \emph + <indexterm><primary>\emph</primary></indexterm> + </entry> + <entry>Emphasis (toggles between \textit and \textrm). + </entry> + </row> + <row rowsep="0"><entry>\textmd (\mdseries) + <indexterm><primary>\textmd</primary></indexterm> + <indexterm><primary>\mdseries</primary></indexterm> + </entry> + <entry>Medium weight (default). The opposite of + boldface. + </entry> + </row> + <row rowsep="0"><entry>\textbf (\bfseries) + <indexterm><primary>\textbf</primary></indexterm> + <indexterm><primary>\bfseries</primary></indexterm> + </entry> + <entry>Boldface. + </entry> + </row> + <row rowsep="0"><entry>\textup (\upshape) + <indexterm><primary>\textup</primary></indexterm> + <indexterm><primary>\upshape</primary></indexterm> + </entry> + <entry>Upright (default). The opposite of slanted. + </entry> + </row> + <row rowsep="0"><entry>\textsl (\slshape) + <indexterm><primary>\textsl</primary></indexterm> + <indexterm><primary>\slshape</primary></indexterm> + </entry> + <entry>Slanted. + </entry> + </row> + <row rowsep="0"><entry>\textsf (\sffamily) + <indexterm><primary>\textsf</primary></indexterm> + <indexterm><primary>\sffamily</primary></indexterm> + </entry> + <entry>Sans serif. + </entry> + </row> + <row rowsep="0"><entry>\textsc (\scshape) + <indexterm><primary>\textsc</primary></indexterm> + <indexterm><primary>\scshape</primary></indexterm> + </entry> + <entry>Small caps. + </entry> + </row> + <row rowsep="0"><entry>\texttt (\ttfamily) + <indexterm><primary>\texttt</primary></indexterm> + <indexterm><primary>\ttfamily</primary></indexterm> + </entry> + <entry>Typewriter. + </entry> + </row> + <row rowsep="0"><entry>\textnormal (\normalfont) + <indexterm><primary>\textnormal</primary></indexterm> + <indexterm><primary>\normalfont</primary></indexterm> + </entry> + <entry>Main document font. + </entry> + </row> + <row rowsep="0"><entry>\mathrm + <indexterm><primary>\mathrm</primary></indexterm> + </entry> + <entry>Roman, for use in math mode. + </entry> + </row> + <row rowsep="0"><entry>\mathbf + <indexterm><primary>\mathbf</primary></indexterm> + </entry> + <entry>Boldface, for use in math mode. + For bold symbols or complete equations take a look at + <link linkend="boldsymbol-linkend"><literal>\boldsymbol</literal></link> + and <link linkend="cmd-bm"><literal>\bm</literal></link>. + </entry> + </row> + <row rowsep="0"><entry>\mathsf + <indexterm><primary>\mathsf</primary></indexterm> + </entry> + <entry>Sans serif, for use in math mode. + </entry> + </row> + <row rowsep="0"><entry>\mathtt + <indexterm><primary>\mathtt</primary></indexterm> + </entry> + <entry>Typewriter, for use in math mode. + </entry> + </row> + <row rowsep="0"><entry>\mathit + <indexterm><primary>\mathit</primary></indexterm> + </entry> + <entry>Italics, for use in math mode, e.g. variable + names with several letters. + </entry> + </row> + <row rowsep="0"><entry>\mathnormal + <indexterm><primary>\mathnormal</primary></indexterm> + </entry> + <entry>For use in math mode, e.g. inside another type + style declaration. + </entry> + </row> + <row rowsep="0"><entry>\mathcal + <indexterm><primary>\mathcal</primary></indexterm> + </entry> + <entry>`Calligraphic' letters, for use in math mode. + </entry> + </row> + </tbody> + </tgroup> + </table> + + <para>In addition, the command + <literal>\mathversion{bold}</literal> + <indexterm><primary>\mathversion</primary></indexterm> can + be used for switching to bold letters and symbols in + formulas. <literal>\mathversion{normal}</literal> restores + the default. + </para> + + <bridgehead renderas="sect5" id="sizes-title">Sizes</bridgehead> + <indexterm><primary>Font Sizes</primary></indexterm> + <indexterm><primary>Typeface Sizes</primary></indexterm> + <indexterm><primary>Sizes of text</primary></indexterm> + + <para>The following standard type size commands are supported + by &latex;. + </para> + <para>The commands as listed here are "declaration forms". The + scope of the declaration form lasts until the next type + style command or the end of the current group. + </para> + <para>You can also use the environment form of these commands; + e.g. <literal>\begin{tiny}...\end{tiny}</literal>. + </para> + <table frame="none"> + <title>Standard type size commands</title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"> + <entry>\tiny<indexterm> + <primary>\tiny</primary> + </indexterm> + </entry> + <entry> + </entry> + </row> + <row rowsep="0"> + <entry>\scriptsize + <indexterm><primary>\scriptsize</primary></indexterm> + </entry> + <entry> + </entry> + </row> + <row rowsep="0"> + <entry>\footnotesize + <indexterm><primary>\footnotesize</primary></indexterm> + </entry> + <entry> + </entry> + </row> + <row rowsep="0"> + <entry>\small + <indexterm><primary>\small</primary></indexterm> + </entry> + <entry> + </entry> + </row> + <row rowsep="0"> + <entry>\normalsize + <indexterm><primary>\normalsize</primary></indexterm> + </entry> + <entry>(default)</entry> + </row> + <row rowsep="0"> + <entry>\large + <indexterm><primary>\large</primary></indexterm> + </entry> + <entry> + </entry> + </row> + <row rowsep="0"> + <entry>\Large + <indexterm><primary>\Large</primary></indexterm> + </entry> + <entry> + </entry> + </row> + <row rowsep="0"> + <entry>\LARGE + <indexterm><primary>\LARGE</primary></indexterm> + </entry> + <entry> + </entry> + </row> + <row rowsep="0"> + <entry>\huge + <indexterm><primary>\huge</primary></indexterm> + </entry> + <entry> + </entry> + </row> + <row rowsep="0"> + <entry>\Huge + <indexterm><primary>\Huge</primary></indexterm> + </entry> + <entry></entry> + </row> + </tbody> + </tgroup> + </table> + + <bridgehead renderas="sect5" id="low-dash-level-font-commands-title">Low-level font commands</bridgehead> + <indexterm><primary>Low-level font commands</primary></indexterm> + <indexterm><primary>Font commands, low-level</primary></indexterm> + + <para>These commands are primarily intended for writers of + macros and packages. The commands listed here are only a + subset of the available ones. For full details, you + should consult Chapter 7 of <citetitle>The &latex; + Companion</citetitle>. + </para> + + <table frame="none"> + <title>Low-level font commands</title> + <tgroup cols="2"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"><entry>\fontencoding{enc} + <indexterm><primary>\fontencoding</primary></indexterm> + </entry> + <entry>Select font encoding. Valid encodings include + <literal>OT1</literal> and <literal>T1</literal>. + </entry> + </row> + <row rowsep="0"><entry>\fontfamily{family} + <indexterm><primary>\fontfamily</primary></indexterm> + </entry> + <entry>Select font family. Valid families include: + <itemizedlist spacing="compact"> + <listitem><simpara><literal>cmr</literal> for + Computer Modern Roman + </simpara> + </listitem> + <listitem><simpara><literal>cmss</literal> for + Computer Modern Sans Serif + </simpara> + </listitem> + <listitem><simpara><literal>cmtt</literal> for + Computer Modern Typewriter + </simpara> + </listitem> + </itemizedlist> and numerous others. + </entry> + </row> + <row rowsep="0"><entry>\fontseries{series} + <indexterm><primary>\fontseries</primary></indexterm> + </entry> + <entry>Select font series. Valid series include: + + <itemizedlist spacing="compact"> + <listitem><simpara><literal>m</literal> Medium + (normal) + </simpara> + </listitem> + <listitem><simpara><literal>b</literal> Bold + </simpara> + </listitem> + <listitem><simpara><literal>c</literal> Condensed + </simpara> + </listitem> + <listitem><simpara><literal>bc</literal> Bold + condensed + </simpara> + </listitem> + <listitem><simpara><literal>bx</literal> Bold + extended + </simpara> + </listitem> + </itemizedlist> and various other combinations. + </entry> + </row> + <row rowsep="0"><entry>\fontshape{shape} + <indexterm><primary>\fontshape</primary></indexterm> + </entry> + <entry>Select font shape. Valid shapes are: + <itemizedlist spacing="compact"> + <listitem><simpara><literal>n</literal> Upright + (normal) + </simpara> + </listitem> + <listitem><simpara><literal>it</literal> Italic + </simpara> + </listitem> + <listitem><simpara><literal>sl</literal> Slanted + (oblique) + </simpara> + </listitem> + <listitem><simpara><literal>sc</literal> Small caps + </simpara> + </listitem> + <listitem><simpara><literal>ui</literal> Upright + italics + </simpara> + </listitem> + <listitem><simpara><literal>ol</literal> Outline + </simpara> + </listitem> + </itemizedlist> The two last shapes are not + available for most font families. + </entry> + </row> + <row rowsep="0"><entry>\fontsize{size}{skip} + <indexterm><primary>\fontsize</primary></indexterm> + </entry> + <entry>Set font size. The first parameter is the font + size to switch to; the second is the + <literal>\baselineskip</literal> to use. The unit of + both parameters defaults to pt. A rule of thumb is + that the baselineskip should be 1.2 times the font + size. + </entry> + </row> + <row rowsep="0"><entry>\selectfont + <indexterm><primary>\selectfont</primary></indexterm> + </entry> + <entry>The changes made by calling the four font + commands described above do not come into effect + until <literal>\selectfont</literal> is called. + </entry> + </row> + <row rowsep="0"><entry>\usefont{enc}{family}{series}{shape} + <indexterm><primary>\usefont</primary></indexterm> + </entry> + <entry>Equivalent to calling + <literal>\fontencoding</literal>, + <literal>\fontfamily</literal>, + <literal>\fontseries</literal> and + <literal>\fontshape</literal> with the given + parameters, followed by + <literal>\selectfont</literal>. + </entry> + </row> + </tbody> + </tgroup> + </table> + + </section> + + </section> + + <section id="parameters"> + <title id="parameters-title">Parameters</title> + <indexterm><primary>Parameters</primary></indexterm> + + <para>The input file specification indicates the file to be + formatted; &tex; uses <filename>.tex</filename> as a default file + extension. If you omit the input file entirely, &tex; accepts + input from the terminal. You specify command options by + supplying a string as a parameter to the command; e.g. + </para> + <para><literal>latex \scrollmode\input foo.tex</literal> + </para> + <para>will process <filename>foo.tex</filename> without pausing + after every error. + </para> + <para>Output files are always created in the current directory. + When you fail to specify an input file name, &tex; bases the + output names on the file specification associated with the + logical name TEX_OUTPUT, typically + <literal>texput.log</literal>. + </para> + + </section> + + </section> + + + <section id="latex-packages"> + <title id="latex-packages-title">&latex; Packages</title> + <indexterm><primary>LaTeX Packages</primary></indexterm> + + <section id="amsmath"> + <title id="amsmath-title"><filename role="nohyphenation">amsmath</filename></title> + <indexterm><primary>amsmath</primary></indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>amsmath</secondary> + </indexterm> + <para><literal>amsmath</literal> consists of several packages + to aid in typesetting math. + </para> + <para> + <variablelist id="boldsymbol-linkend" role="db2latex:compact"> + <varlistentry> + <term><literal>\boldsymbol</literal></term> + <listitem> + <indexterm> + <primary>\boldsymbol</primary> + </indexterm> + <para>Produces a bold math symbol. When not only + a single symbol, but a complete equation has to + be bold you might consider using the superior + <link linkend="cmd-bm"><literal>\bm</literal></link> + command which takes + better care of spacing.</para> + </listitem> + </varlistentry> + <varlistentry id="pmb-linkend"> + <term><literal>\pmb</literal></term> + <listitem> + <indexterm> + <primary>\pmb</primary> + </indexterm> + <para>Can be used for mathematic symbols, when no + bold version is available. It prints the standard + symbol several times slightly shifted and is + inferior to a real bold font! + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + + <section id="dcolumn"> + <title id="dcolumn-title"><filename role="nohyphenation">dcolumn</filename></title> + <indexterm><primary>dcolumn</primary></indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>dcolumn</secondary> + </indexterm> + <para><literal>\usepackage{dcolumn}</literal></para> + <para>Defines a system for defining columns of entries in an + <literal>array</literal> or <literal>tabular</literal> + which are to be aligned on a + <emphasis>decimal point</emphasis>. + </para> + <para> + This package defines <literal>D</literal> to be a column + specifier with three arguments: + <programlisting>D{sep.tex}{sep.dvi}{decimal places}</programlisting> + </para> + <para><literal>sep.tex</literal> should be a single character, + this is used as the separator in the <literal>.tex</literal> + file. It will usually be '<literal>.</literal>' or + '<literal>,</literal>'. + </para> + <para><literal>sep.dvi</literal> is used as the separator in the + output. + </para> + <para><literal>decimal places</literal> should be the maximum + number of decimal places in the column. + </para> + <para><literal>\newcolumntype</literal> can be used to define + own column types. + </para> + </section> + + + + <section id="float"> + <title id="float-title"><filename role="nohyphenation">float</filename></title> + <indexterm><primary>float</primary></indexterm> + <note> + <para>The contents of this section was taken from + the documentation of <filename>float</filename> v1.3d of 2001/11/08. + </para> + </note> + + <para><quote>This style option improves the interface for defining + objects such as figures and tabels in &latex;. It adds the + notion of a <emphasis>float style</emphasis> that governs the + appearance of floats.</quote> + </para> + + <variablelist role="db2latex:compact"> + + <varlistentry> + <term><literal>\newfloat{<placement>}{<ext>}[<within>]</literal></term> + <listitem> + <indexterm><primary>\newfloat</primary></indexterm> + <indexterm> + <primary>float</primary> + <secondary>\newfloat</secondary> + </indexterm> + <para>Add a new class of floats.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>\floatstyle{<style>}</literal></term> + <listitem> + <indexterm><primary>\floatstyle</primary></indexterm> + <indexterm> + <primary>float</primary> + <secondary>\floatstyle</secondary> + </indexterm> + <para>Sets a default float style.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>\floatname{<style>}{<name>}</literal></term> + <listitem> + <indexterm><primary>\floatname</primary></indexterm> + <indexterm> + <primary>float</primary> + <secondary>\floatname</secondary> + </indexterm> + <para>Define the <emphasis>float name</emphasis> used + in the caption of a float.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>\floatplacement{<>}{<placement>}</literal></term> + <listitem> + <indexterm><primary>\floatplacement</primary></indexterm> + <indexterm> + <primary>float</primary> + <secondary>\floatplacement</secondary> + </indexterm> + <para>Resets the default placement specifier of a class of floats.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>\restylefloat<style></literal></term> + <listitem> + <indexterm><primary>\restylefloat</primary></indexterm> + <indexterm> + <primary>float</primary> + <secondary>\restylefloat</secondary> + </indexterm> + <para>Change styles for the standard float types + <literal>figure</literal> and <literal>table</literal>.</para> + </listitem> + </varlistentry> + + <varlistentry> + <term><literal>\listof{<type>}{<title>}</literal></term> + <listitem> + <indexterm><primary>\listof</primary></indexterm> + <indexterm> + <primary>float</primary> + <secondary>\listof</secondary> + </indexterm> + <para>Produces a list of all floats of a given class.</para> + </listitem> + </varlistentry> + </variablelist> + + </section> + + + <section id="fontenc"> + <title id="fontenc-title"><filename role="nohyphenation">fontenc</filename></title> + <indexterm><primary>fontenc</primary></indexterm> + + <para><literal>\usepackage[T1]{fontenc}</literal> + </para> + <para> + chooses T1-fonts and allows correct automatic hyphenation. + </para> + </section> + + <section id="german"> + <title id="german-title"><filename role="nohyphenation">german</filename></title> + <indexterm><primary>german</primary></indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>german</secondary> + </indexterm> + <para>Das <literal>german</literal> Paket muъ geladen sein:</para> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>"a</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>"a</secondary> + </indexterm> + <para>erzeugt ein <emphasis>Д</emphasis></para> + <para>entsprechend <literal>"o</literal>, + <literal>"u</literal>, <literal>"A</literal>, + <literal>"O</literal>, <literal>"U</literal>, + <literal>"s (ъ)</literal></para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>"ck</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>"ck</secondary> + </indexterm> + <para>wird bei Trennung zu <literal>k-k</literal></para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>"ff</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>"ff</secondary> + </indexterm> + <para>wird bei Trennung zu <literal>ff-f</literal> + </para> + <para>entsprechend <literal>"ll</literal>, + <literal>"mm</literal>, <literal>"pp</literal>, + <literal>"rr</literal>, <literal>"tt</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\glqq</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\glqq</secondary> + </indexterm> + <para>oder <literal>"`</literal> + erzeugt untere doppelte AnfЭhrungszeichen + </para> + </listitem> + </varlistentry> + <varlistentry id="cmd-grqq"> + <term><literal>\grqq</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\grqq</secondary> + </indexterm> + <para>oder <literal>"'</literal> + erzeugt obere doppelte AnfЭhrungszeichen + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\glq</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\glq</secondary> + </indexterm> + <para>erzeugt untere einfache AnfЭhrungszeichen + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\flqq</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\flqq</secondary> + </indexterm> + <para>oder <literal>"<</literal> + doppelte linke franzЖsische AnfЭhrungszeichen + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\frqq</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\frqq</secondary> + </indexterm> + <para>oder <literal>"></literal> + doppelte rechte franzЖsische AnfЭhrungszeichen + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\flq</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\flq</secondary> + </indexterm> + <para>einfache linke franzЖsische AnfЭhrungszeichen + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\frq</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\frq</secondary> + </indexterm> + <para>einfache rechte franzЖsische AnfЭhrungszeichen + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>"|</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>"|</secondary> + </indexterm> + <para>verhindert eine Ligatur an der Stelle</para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\-</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\-</secondary> + </indexterm> + <para>markiert mЖgliche Trennstelle, im restlichen + Wort ist keine Trennung mehr mЖglich + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>"-</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>!-</secondary> + </indexterm> + <para>Trennvorschlag, der Rest des Wortes kann + noch automatisch getrennt werden + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>""</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>""</secondary> + </indexterm> + <para>Trennvorschlag, bei dem bei einer Trennung + kein Bindestrich eingefЭgt wird + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>"~</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>"~</secondary> + </indexterm> + <para>Bindestrich, an dem nicht getrennt werden darf</para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>"=</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>"=</secondary> + </indexterm> + <para>Bindestrich, an dem getrennt werden darf</para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\dq</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary>\dq</secondary> + </indexterm> + <para>erzeugt ein nicht-typographisches gerades + AnfЭhrungszeichen + </para> + <programlisting>\texttt{\dq}</programlisting> + </listitem> + </varlistentry> + <varlistentry> + <term><literal><</literal></term> + <listitem> + <indexterm> + <primary>german</primary> + <secondary><</secondary> + </indexterm> + <para>oder <literal>\dq</literal> ergibt das + Zoll-Zeichen + </para> + </listitem> + </varlistentry> + </variablelist> + + </para> + </section> + + <section id="graphics"> + <title id="graphics-title"><filename role="nohyphenation">graphics</filename></title> + <indexterm><primary>graphics</primary></indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>graphics</secondary> + </indexterm> + <para>Look up details in <filename>grfguide</filename>.</para> + + <section id="includegraphics"> + <title id="includegraphics-title">\includegraphics</title> + <indexterm><primary>\includegraphics</primary></indexterm> + <para><literal>\includegraphics[]{picture-name}</literal> + </para> + <para> + File extensions of the graphics should be omitted, so it's + easier to change the format (for example for pdf or ps + output). + </para> + </section> + + <section id="graphicspath"> + <title id="graphicspath-title">\graphicspath</title> + <indexterm><primary>\graphicspath</primary></indexterm> + <para><literal>\graphicspath{dir-list}</literal> + </para> + <para><literal>dir-list</literal> is a list of absolute or + relative paths, where the command + <link linkend="includegraphics"><literal>\includegraphics{}</literal></link> + searches for the graphic files: + </para> + <para><literal>\graphicspath{{eps/}{tiff/}}</literal> would + cause the system to look in the subdirectories + <literal>eps</literal> and <literal>tiff</literal> of the + current directory. This is unix syntax, on a Mac it would + be: + </para> + <para><literal>\graphicspath{{:eps:}{:tiff:}}</literal> + </para> + <para>Under Windows/DOS use also the slash + <literal>/</literal> to separate directories. Not all tex + installations can handle filenames with spaces. So it's + better to avoid them. + </para> + </section> + + </section> + + <section id="hyperref"> + <title id="hyperref-title"><filename role="nohyphenation">hyperref</filename></title> + <indexterm> + <primary>hyperref</primary> + </indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>hyperref</secondary> + </indexterm> + <para>For more infos read in the book + <emphasis>&latex; Web Companion</emphasis> + or <emphasis>Mit &latex; ins Web</emphasis>. + </para> + + <section id="hyperref-options"> + <title id="hyperref-options-title">Options</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term>4</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>4</tertiary> + </indexterm> + <para> + use Acrobat 4 features (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>a4paper, a5paper, b5paper, legalpaper, letterpaper, + executivepaper + </term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>a4paper</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>a5paper</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>b5paper</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>legalpaper</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>letterpaper</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>executivepaper</tertiary> + </indexterm> + <para> + use the specified paper size. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>anchorcolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>anchorcolor</tertiary> + </indexterm> + <para> + set color of anchors (default: <literal>black</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>backref</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>backref</tertiary> + </indexterm> + <para> + do bibliographical back references (default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>baseurl</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>baseurl</tertiary> + </indexterm> + <para> + set base URL for document + (default: <literal>empty</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bookmarks</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>bookmarks</tertiary> + </indexterm> + <para> + make bookmarks (default: <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bookmarksnumbered</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>bookmarksnumbered</tertiary> + </indexterm> + <para> + put section numbers in bookmarks (default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bookmarksopen</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>bookmarksopen</tertiary> + </indexterm> + <para> + open up bookmark tree (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bookmarksopenlevel</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>bookmarksopenlevel</tertiary> + </indexterm> + <para> + level to which bookmarks are open + (default: <literal>\maxdimen</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>bookmarkstype</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>bookmarkstype</tertiary> + </indexterm> + <para> + to specify which `toc' file to mimic toc. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>breaklinks</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>breaklinks</tertiary> + </indexterm> + <para> + allow links to break over lines (default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>citebordercolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>citebordercolor</tertiary> + </indexterm> + <para> + color of border around cites (default: + <literal>0 1 0</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>citecolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>citecolor</tertiary> + </indexterm> + <para> + color of citation links (default: <literal>green</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>colorlinks</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>colorlinks</tertiary> + </indexterm> + <para> + color links (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>debug</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>debug</tertiary> + </indexterm> + <para> + provide details of anchors defined + (same as verbose, default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>draft</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>draft</tertiary> + </indexterm> + <para> + do not do any hyper linking (default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>dvipdf, dvipdfm, dvips, dvipsone, dviwindo, hypertex</term> + <term>latex2html, pdftex, tex4ht, textures, ps2pdf, vtex</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>dvipdf</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>dvipdfm</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>dvips</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>dvipsone</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>dviwindo</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>hypertex</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>latex2html</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdftex</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>tex4ht</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>vtex</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>textures</tertiary> + </indexterm> + <para> + use the specified backend. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>extension</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>extension</tertiary> + </indexterm> + <para> + suffix of linked files (default: <literal>dvi</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>filebordercolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>filebordercolor</tertiary> + </indexterm> + <para> + color of border around file links (default: + <literal>0 .5 .5</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>filecolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>filecolor</tertiary> + </indexterm> + <para> + color of file links (default: <literal>cyan</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>frenchlinks</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>frenchlinks</tertiary> + </indexterm> + <para> + use small caps instead of color for links (default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>hyperfigures</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>hyperfigures</tertiary> + </indexterm> + <para> + make figures hyper links (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>hyperindex</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>hyperindex</tertiary> + </indexterm> + <para> + set up hyperlinked indices (default: + <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>hypertexnames</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>hypertexnames</tertiary> + </indexterm> + <para> + use guessable names for links (default: + <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>implicit</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>implicit</tertiary> + </indexterm> + <para> + redefine &latex; internals (default: + <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>linkbordercolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>linkbordercolor</tertiary> + </indexterm> + <para> + color of border around links (default: + <literal>1 0 0</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>linkcolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>linkcolor</tertiary> + </indexterm> + <para> + color of links (default: <literal>red</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>linktocpage</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>linktocpage</tertiary> + </indexterm> + <para> + make page number, not text, be link on TOC, LOF and LOT + (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>menubordercolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>menubordercolor</tertiary> + </indexterm> + <para> + color of border around menu links (default: + <literal>1 0 0</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>menucolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>menucolor</tertiary> + </indexterm> + <para> + color for menu links (default: <literal>red</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>naturalnames</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>naturalnames</tertiary> + </indexterm> + <para> + use &latex;-computed names for links (default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>nesting</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>nesting</tertiary> + </indexterm> + <para> + allow nesting of links (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pageanchor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pageanchor</tertiary> + </indexterm> + <para> + put an anchor on every page (default: + <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pagebackref</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pagebackref</tertiary> + </indexterm> + <para> + backreference by page number (default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pagebordercolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pagebordercolor</tertiary> + </indexterm> + <para> + color of border around page links (default: + <literal>1 1 0</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pagecolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pagecolor</tertiary> + </indexterm> + <para> + color of page links (default: <literal>red</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfauthor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfauthor</tertiary> + </indexterm> + <para> + text for PDF Author field (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfborder</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfborder</tertiary> + </indexterm> + <para> + width of PDF link border + (default: <literal>0 0 1</literal>; + <literal>0 0 0</literal> for <literal>colorlinks</literal>) + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfcenterwindow</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfcenterwindow</tertiary> + </indexterm> + <para> + position the document window center of the screen + (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfcreator</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfcreator</tertiary> + </indexterm> + <para> + text for PDF Creator field + (default: &latex; with hyperref package). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdffitwindow</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdffitwindow</tertiary> + </indexterm> + <para> + resize document window to fit document size (default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfhighlight</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfhighlight</tertiary> + </indexterm> + <para> + set highlighting of PDF links (default: + <literal>/I</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfkeywords</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfkeywords</tertiary> + </indexterm> + <para> + text for PDF Keywords field (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfmenubar</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfmenubar</tertiary> + </indexterm> + <para> + make PDF viewer's menu bar visible (default: + <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfnewwindow</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfnewwindow</tertiary> + </indexterm> + <para> + make links that open another PDF file start a new window + (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfpagelayout</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfpagelayout</tertiary> + </indexterm> + <para> + set layout of PDF pages (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfpagemode</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfpagemode</tertiary> + </indexterm> + <para> + set default mode of PDF display (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfpagescrop</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfpagescrop</tertiary> + </indexterm> + <para> + set crop size of PDF document (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfpagetransition</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfpagetransition</tertiary> + </indexterm> + <para> + set PDF page transition style (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfproducer</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfproducer</tertiary> + </indexterm> + <para> + text for PDF Producer field (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfstartpage</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfstartpage</tertiary> + </indexterm> + <para> + page at which PDF document opens (default: + <literal>1</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfstartview</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfstartview</tertiary> + </indexterm> + <para> + starting view of PDF document (default: + <literal>/Fit</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfsubject</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfsubject</tertiary> + </indexterm> + <para> + text for PDF Subject field (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdftitle</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdftitle</tertiary> + </indexterm> + <para> + text for PDF Title field(default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdftoolbar</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdftoolbar</tertiary> + </indexterm> + <para> + make PDF toolbar visible (default: <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfview</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfview</tertiary> + </indexterm> + <para> + PDF `view' when on link traversal (default: empty). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>pdfwindowui</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>pdfwindowui</tertiary> + </indexterm> + <para> + make PDF user interface elements visible (default: + <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>plainpages</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>plainpages</tertiary> + </indexterm> + <para> + do page number anchors as plain arabic (default: + <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>raiselinks</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>raiselinks</tertiary> + </indexterm> + <para> + raise up links (for HyperTeX backend; default: + <literal>false</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>runbordercolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>runbordercolor</tertiary> + </indexterm> + <para> + color of border around run links (default: + <literal>0 .7 .7</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>unicode</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>unicode</tertiary> + </indexterm> + <para> + Unicode encoded pdf strings (default: + <literal>true</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>urlbordercolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>urlbordercolor</tertiary> + </indexterm> + <para> + color of border around URL links (default: + <literal>0 1 1</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>urlcolor</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>urlcolor</tertiary> + </indexterm> + <para> + color of URL links (default: <literal>magenta</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>verbose</term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>options</secondary> + <tertiary>verbose</tertiary> + </indexterm> + <para> + be chatty (default: <literal>false</literal>). + </para> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="hyperref-commands"> + <title id="hyperref-commands-title">Commands</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\texorpdfstring{TeX-string}{pdf-string}</literal> + </term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\texorpdfstring</tertiary> + </indexterm> + <para>allows different texts for PDF or &tex; creation. + <programlisting>\section{The role of \texorpdfstring{H$_2$O}{water}}</programlisting> + </para> + </listitem> + </varlistentry> + <varlistentry id="href"> + <term><literal>\href{URL}{Text}</literal></term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\href</tertiary> + </indexterm> + <para>the text will be resolved into a URL. + The URL must be complete, according to a + base-url which might be defined in a + <link linkend="cmd-hyperbaseurl"><literal>\hyperbaseurl</literal></link>. + <programlisting> +\href{http://www.karpfenteich.net/pit/}{Peter's input tips}</programlisting> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term id="cmd-hyperbaseurl"><literal>\hyperbaseurl{URL}</literal></term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\hyperbaseurl</tertiary> + </indexterm> + <para>defines a base URL, which is preset to a given URL. + This helps to make portable documents. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\hyperimage{image-URL}</literal></term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\hyperimage</tertiary> + </indexterm> + <para>includes the picture of the URL reference. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\hyperref{URL}{category}{name}{text}</literal></term> + <term><literal>\hyperref[mark]{text}</literal></term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\hyperref</tertiary> + </indexterm> + <para><literal>text</literal> is activated as a + hyperlink to the point which is defined with a + <link linkend="cmd-label-title"><filename role="nohyphenation">\label</filename></link> + command with the symbolic name <literal>mark</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\hyperlink{name}{text}</literal></term> + <term><literal>\hyertarget{name}{text}</literal></term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\hyperlink</tertiary> + </indexterm> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\hypertarget</tertiary> + </indexterm> + <para><literal>\hyperlink</literal> creates an internal + link to an object which is somewhere defined with + a <literal>\hypertarget</literal> command. + </para> + <para>For HTML the command <literal>\hyperlink</literal> + inserts a <literal>#</literal> character in + front of each link. Thus it'll refer to the + topical document, + while <literal>\href</literal> will expect a complete URL. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\autoref{marker}</literal></term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\autoref</tertiary> + </indexterm> + <para><literal>\autoref</literal> is a substitution + for the standard <literal>\ref</literal> command. + It inserts a context sensitive phrase. + <programlisting>see \autoref{foo}</programlisting> + </para> + <para>for a <literal>\label</literal> in a section + will output <emphasis>see section 3</emphasis> for an example. + </para> + <para>There are macros to change the default output + with the help of the <literal>\renewcommand</literal>: + <programlisting> +\figurename *\figurename* +\tablename *\tablename* +\partname *\partname* +\appendixname *\appendixname* +\equationname *\equationname* +\Itemname *\Itemname* +\chaptername *\chaptername* +\sectionname *\sectionname* +\subsectionname *\subsesctionname* +\subsubsectionname *\subsubsectionname* +\paragraphname *\paragraphname* +\Hfootnotename *\Hfootnotename* +\AMSname *\AMSname* +\theoremname *\theoremname*</programlisting> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term id="cmd-nolinkurl"><literal>\nolinkurl</literal></term> + <listitem> + <indexterm> + <primary>hyperref</primary> + <secondary>commands</secondary> + <tertiary>\nolinkurl</tertiary> + </indexterm> + <para>Allows line breaks in a verbatim like + environment like <literal>\url</literal>, but + without the hyperlink function. This is + useful to define own commands like this example: + <programlisting> +\newcommand*{\urlw}[1]{\href{http://www.#1}% + {\nolinkurl{www.#1}}}</programlisting> + </para> + <para>This new defined command <literal>\urlw</literal> + allows the user to typeset a linkable (this + function is offered by + <literal>\href</literal>) + <literal>www.example.org</literal> address in the + latex source like this: + <programlisting> +\urlw{example.org}</programlisting> + </para> + <para>This will produce the string + <literal>www.example.org</literal> which + is hyperlinked and breakable (when the driver like + &pdftex; allows line breaks in links). + </para> + </listitem> + </varlistentry> + </variablelist> + + </section> + </section> + + <section id="inputenc"> + <title id="inputenc-title"><filename role="nohyphenation">inputenc</filename></title> + <indexterm><primary>inputenc</primary></indexterm> + + <para><literal>\usepackage[encoding name]{inputenc}</literal> + </para> + <para>Allows to specify an input encoding for direct input of + character codes > 127, e.g. accented characters. + </para> + <para>Important encodings are: + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>latin9, latin1</literal></term> + <listitem> + <simpara>Linux, Unix, VMS</simpara> + <indexterm><primary>latin1</primary></indexterm> + <indexterm><primary>latin9</primary></indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>ansinew</literal></term> + <listitem> + <simpara>Windows (codepage 1252)</simpara> + <indexterm><primary>ansinew</primary></indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>cp850</literal></term> + <listitem> + <simpara>OS/2, MSDOS (codpage 850)</simpara> + <indexterm><primary>cp850</primary></indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>applemac</literal></term> + <listitem> + <simpara>Apple Macintosh</simpara> + <indexterm><primary>applemac</primary></indexterm> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + + <section id="komascript"> + <title id="komascript-title"><filename role="nohyphenation">&komascript;</filename></title> + <indexterm><primary>&komascript;</primary></indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>&komascript;</secondary> + </indexterm> + <para>The <literal>&komascript;</literal> package has a + very detailed and well written documentation. + Read the <literal>scrguide</literal> for further information! :-) + </para> + + <!-- --> + <section id="komascript-page-layout"> + <title id="komascript-page-layout-title">Page-Layout</title> + <para><literal>\typearea[BCOR]{DIV}</literal></para> + <indexterm> + <primary>\typearea</primary> + </indexterm> + <para><literal>\areaset[BCOR]{Breite}{HЖhe}</literal></para> + <indexterm> + <primary>\areaset</primary> + </indexterm> + </section> + + <section id="komascript-options"> + <title id="komascript-options-title">Options</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term>headinclude, headexclude</term> + <term>footinclude, footexclude</term> + <listitem> + <indexterm> + <primary>headinclude</primary> + </indexterm> + <indexterm> + <primary>headexclude</primary> + </indexterm> + <indexterm> + <primary>footinclude</primary> + </indexterm> + <indexterm> + <primary>footexclude</primary> + </indexterm> + <para>will determine if headers and footers are used in the + calculation of the page size. Default is exclude. + Include will make the text area smaller. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>DIV</term> + <listitem> + <indexterm> + <primary>DIV</primary> + </indexterm> + <para>is a factor which determins how large the used page + size is. This method takes care of good + typography. + </para> + <para>Try values between 10 and 15. Higher values + will cause smaller margins. An example would be: + <literal>DIV12</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>BCOR</term> + <listitem> + <indexterm> + <primary>BCOR</primary> + </indexterm> + <para>Binding correction. Takes care of the loss of the + visible paper size when the paper is cut and a book is + bound. + </para> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="komascript-scrlttr2"> + <title id="komascript-scrlttr2-title">Letter Class <literal>scrlttr2</literal></title> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + </indexterm> + + <para>This reference is based on the excellent + <literal>scrguien.pdf</literal> from 2002-09-06. + </para> + + <bridgehead renderas="sect5">Options</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>options</tertiary> + </indexterm> + + <bridgehead renderas="sect5">Defining Options Later</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>\KOMAoptions{}</tertiary> + </indexterm> + <para> + <variablelist> + <varlistentry> + <term><literal>\KOMAoptions{options list}</literal></term> + <listitem> + <simpara>Use this to change options after loading the + class. List single or multiple options, + separated by commas. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Page Layout Options</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>page layout</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>paper=format</literal></term> + <listitem> + <simpara>Defines the paper format.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>BCOR=length</literal></term> + <term><literal>DIV=value</literal></term> + <term><literal>headlines=count</literal></term> + <listitem> + <simpara>Divisor, binding correction, and number + of headlines.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>enlargefirstpage</literal></term> + <listitem> + <simpara>If <emphasis>true</emphasis> some more + text would fit on the first page + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Other Layout Options</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>other layout</tertiary> + </indexterm> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>other layout</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>twoside</literal></term> + <listitem> + <simpara>Activate possibilities of a double-sided + document, but stay with with the one-sided + layout as far as possible.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>cleardoublepage=style</literal></term> + <listitem> + <simpara>Inserted pages by + <literal>\cleardoublepage</literal> get one of + these page styles: + </simpara> + <para> + <itemizedlist> + <listitem> + <simpara><literal>empty</literal></simpara> + </listitem> + <listitem> + <simpara><literal>plain</literal></simpara> + </listitem> + <listitem> + <simpara><literal>standard</literal></simpara> + </listitem> + </itemizedlist> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>headsepline</literal></term> + <term><literal>footsepline</literal></term> + <listitem> + <simpara>Insert a separator line below the head or + above the foot.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>mpinclude</literal></term> + <term><literal>mpexclude</literal></term> + <listitem> + <simpara>These two options of the + <literal>typearea</literal> package should not + be used with <literal>scrlttr2</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>pagenumber=position</literal></term> + <listitem> + <simpara>This option defines if and where a page + number will be placed. Possible values are: + </simpara> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>bot</literal></term> + <term><literal>foot</literal></term> + <listitem> + <simpara>Page number in foot, horizontal + position not changed</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>botcenter</literal></term> + <term><literal>botcentered</literal></term> + <term><literal>botmiddle</literal></term> + <term><literal>footcenter</literal></term> + <term><literal>footcentered</literal></term> + <term><literal>footmiddle</literal></term> + <listitem> + <simpara>Page number infoot,centered</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>botleft</literal></term> + <term><literal>footleft</literal></term> + <listitem> + <simpara>Page number in foot, left + justified + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>botrigth</literal></term> + <term><literal>footright</literal></term> + <listitem> + <simpara>Page number in foot, right + justified + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>center</literal></term> + <term><literal>centered</literal></term> + <term><literal>middle</literal></term> + <listitem> + <simpara>Page number centered + horizontally, vertical position not + changed + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>false</literal></term> + <term><literal>no</literal></term> + <term><literal>off</literal></term> + <listitem> + <simpara>No page number</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>head</literal></term> + <term><literal>top</literal></term> + <listitem> + <simpara>Page number in head, horizontal + position not changed + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>headcenter</literal></term> + <term><literal>headcentered</literal></term> + <term><literal>headmiddle</literal></term> + <term><literal>topcenter</literal></term> + <term><literal>topcentered</literal></term> + <term><literal>topmiddle</literal></term> + <listitem> + <simpara>Page number in head, centered</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>headleft</literal></term> + <term><literal>topleft</literal></term> + <listitem> + <simpara>Page number in head, left + justified + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>headright</literal></term> + <term><literal>topright</literal></term> + <listitem> + <simpara>Page number in head, right + justified + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>left</literal></term> + <listitem> + <simpara>Page number left, vertical + position not changed</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>right</literal></term> + <listitem> + <simpara>Page number right, vertical + position not changed + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <simpara>Default is <literal>botcenter</literal> + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>parskip=value</literal></term> + <listitem> + <simpara>Mark paragraphs alternatively by vertical + skip. Possible values are: + </simpara> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>false</literal></term> + <term><literal>off</literal></term> + <listitem> + <simpara>Paragraph indentation instead of + verticalk space</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>full</literal></term> + <term><literal>on</literal></term> + <term><literal>true</literal></term> + <listitem> + <simpara>One line vertical space between + paragraphs; at least 1 em free space in + the last line.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>full*</literal></term> + <listitem> + <simpara>One line vertical space betwen + paragraphs; at least a quarter of a line + free space at the end of a paragraph. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>full+</literal></term> + <listitem> + <simpara>One line vertical space betwen + paragraphs; at least a third of aline free + space at the end of a paragraph.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>full-</literal></term> + <listitem> + <simpara>One line vertical space betwen + paragraphs; last line of a paragraph may + be arbitrarily filled.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>half</literal></term> + <listitem> + <simpara>Half a line vertical space + between paragraphs; at least 1 em free + space in the last line.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>half*</literal></term> + <listitem> + <simpara>Half a line vertical space + between paragraphs; at least a quarter of + a line free space at the end of a + paragraph. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>half+</literal></term> + <listitem> + <simpara>Half a line vertical space + between paragraphs; at least a third of + a line free space at the end of a + paragraph. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>half-</literal></term> + <listitem> + <simpara>One line vertical space between + paragraphs; last line may be arbitrarily + filled.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <simpara>Default is <literal>false</literal>.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Font Options</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>font options</tertiary> + </indexterm> + <para> + <variablelist> + <varlistentry> + <term><literal>fontsize=size</literal></term> + <listitem> + <simpara>Font size of the document. Defaults + to <literal>12pt</literal>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Options for Letterhead and Address</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>options for letterhead and address</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>fromalign</literal></term> + <listitem> + <simpara>Defines the placement of the from address + in the letterhead. Possible values are: + </simpara> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>center</literal></term> + <term><literal>centered</literal></term> + <term><literal>middle</literal></term> + <listitem> + <simpara>Return address centered.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>false</literal></term> + <term><literal>no</literal></term> + <term><literal>off</literal></term> + <listitem> + <simpara>Standard design for return + address. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>left</literal></term> + <listitem> + <simpara>Left justified return address.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>rigth</literal></term> + <listitem> + <simpara>Right justified return address. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <simpara>Default is <literal>left</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromrule</literal></term> + <listitem> + <simpara>Allows to place a horizontal rule within + return address. Possible values are: + </simpara> + <para><variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>afteraddress</literal></term> + <term><literal>below</literal></term> + <term><literal>true</literal></term> + <term><literal>yes</literal></term> + <listitem> + <simpara>Line below return address</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>aftername</literal></term> + <listitem> + <simpara>Line right below sender's name</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>false</literal></term> + <term><literal>no</literal></term> + <term><literal>off</literal></term> + <listitem> + <simpara>No line.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <simpara>Default is <literal>false</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromphone</literal></term> + <listitem> + <simpara>Defines whether the phone number will be + part of the return address. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromfax</literal></term> + <listitem> + <simpara>Defines whether the facsimile number will + be part of the return address. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromemail</literal></term> + <listitem> + <simpara>Defines whether the email address will + be part of the return address.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromurl</literal></term> + <listitem> + <simpara>Defines whether the URL will + be part of the return address.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromlogo</literal></term> + <listitem> + <simpara>Defines whether the logo will + be part of the return address.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>addrfield</literal></term> + <listitem> + <simpara>Defines whether a return address field + will be set. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>backaddress</literal></term> + <listitem> + <simpara>Defines whether a return address for + window envelopes will be set. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>subject</literal></term> + <listitem> + <simpara>Choose of your subject should have a + title and if the subject should be set before or + after the opening. Possible values are: + </simpara> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>afteropening</literal></term> + <listitem> + <simpara>Set subject after opening.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>beforeopening</literal></term> + <listitem> + <simpara>Set subject before opening.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>titled</literal></term> + <listitem> + <simpara>Add title to subject.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>untitled</literal></term> + <listitem> + <simpara>Do not add title to subject.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <simpara>Defaults are + <literal>beforeopening</literal> and + <literal>untitled</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>locfield</literal></term> + <listitem> + <simpara>Toggle between presets for the field + width of additionbal sender attributes. + </simpara> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>narrow</literal></term> + <listitem> + <simpara>Small sender supplement field. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>wide</literal></term> + <listitem> + <simpara>Wide sender supplement field. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + <simpara>Default is <literal>narrow</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>foldmarks</literal></term> + <listitem> + <simpara>Activates fold marks.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>numericaldate</literal></term> + <listitem> + <simpara>Toggles between standard, + language-dependent date presentation and a + short, numerical one.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>refline</literal></term> + <listitem> + <simpara>Defines that the reference line may + extend beyond the normal type area. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Format Options</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>format options</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>draft</literal></term> + <listitem> + <simpara>Toggles between the final and the draft + version. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Letter Class Option Files</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>letter class option files</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\LoadLetterOption{name}</literal></term> + <listitem> + <simpara>Load a <literal>lco</literal> + file. <literal>name</literal> is the filename + without suffix. + </simpara> + <para> + Predefined <literal>lco</literal> files: + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>DIN</literal></term> + <listitem> + <simpara>For A4 size paper, complying with + DIN 676. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>DINmtext</literal></term> + <listitem> + <simpara>For A4 size paper, complying with + DIN 676, but using an alternate layout + with more text on the first page. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>KOMAold</literal></term> + <listitem> + <simpara>Fo AQ4 paper size using a layout + close to the obsolete + <literal>scrlettr</literal> class. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>SN</literal></term> + <listitem> + <simpara>For Swiss letters with address + field on the right side, according to + SN 010 130 + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>SNleft</literal></term> + <listitem> + <simpara>For Swiss letters with address + field on the left side. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\LetterOptionNeedsPaperSize{option + name}{paper size}</literal></term> + <listitem> + <simpara>Useful to be abel to emit warnings if the + user selects a different paper size from the one + the <literal>lco</literal> file is based on. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <!-- FIXME: bridgehead --> + <bridgehead renderas="sect5">General Document Properties</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>general document properties</tertiary> + </indexterm> + + <bridgehead renderas="sect5">Font Selection</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>font selection</tertiary> + </indexterm> + <para>See also the section for + <emphasis>Changing Fonts</emphasis> in &komascript; + (still to be written). + </para> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>backaddress</literal></term> + <listitem> + <simpara>Back address for a window envelope</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>descriptionlabel</literal></term> + <listitem> + <simpara>Label in a + <literal>description</literal> environment + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromaddress</literal></term> + <listitem> + <simpara>Sender's address in letterhead</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromname</literal></term> + <listitem> + <simpara>Sender's address in letterhead + if different from <literal>fromaddress</literal> + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>pagefoot</literal></term> + <listitem> + <simpara>Footer, sometimes header of a page</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>pagehead</literal></term> + <listitem> + <simpara>Header, sometimes footer of a page</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>pagenumber</literal></term> + <listitem> + <simpara>Page number in footer or header</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>subject</literal></term> + <listitem> + <simpara>Subject in the opening</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>title</literal></term> + <listitem> + <simpara>Headline in the opening</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Page Style</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>page style</tertiary> + </indexterm> + <para>See also the section for + <emphasis>Page Style</emphasis> in &komascript; + (still to be written). + </para> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>empty</literal></term> + <listitem> + <simpara>Entirely empty headers and footers</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>plain</literal></term> + <listitem> + <simpara>Empty head and and only page number + in header or footer + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>headings</literal></term> + <listitem> + <simpara>Automatic page headings</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>myheadings</literal></term> + <listitem> + <simpara>Manual page headings + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Variables</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>variables</tertiary> + </indexterm> + <para>The main difference between a + <emphasis>command</emphasis> and a + <emphasis>variable</emphasis> is that a + command usually triggers an action whereas a variable + only consists of plain text. Furthermore a variable + can have an additional description. + </para> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\newkomavar[description]{name}</literal></term> + <term><literal>\newkomavar*[description]{name}</literal></term> + <term><literal>\addtoreffields{name}</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>\newkomavar</tertiary> + </indexterm> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>\addtoreffields</tertiary> + </indexterm> + <simpara><literal>\newkomavar</literal> defines + a new variable, addressed with + <literal>name</literal>. + </simpara> + <simpara>The command + <literal>\addtoreffields</literal> adds the + variable <literal>name</literal> to the + reference fields. See section + <link linkend="scrlttr-business-line">Business Line</link>. + </simpara> + <simpara>The command <literal>\newkomavar*</literal> + works like <literal>\newkomavar</literal> with an + additional call of the command + <literal>\addtoreffields</literal>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <para> + Overview of all variables: + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>backaddress</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>backaddress</tertiary> + </indexterm> + <simpara>Back address for window envelopes</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>backaddressseparator</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>backaddressseparator</tertiary> + </indexterm> + <simpara>Separator within the back address</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>ccseparator</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>ccseparator</tertiary> + </indexterm> + <simpara>Separator between title of additional + recipients and additional recipients + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>customer</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>customer</tertiary> + </indexterm> + <simpara>Customer number</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>date</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>date</tertiary> + </indexterm> + <simpara>Date</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>emailseparator</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>emailseparator</tertiary> + </indexterm> + <simpara>Separator between e-mail name and e-mail + address + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>enclseparator</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>enclseparator</tertiary> + </indexterm> + <simpara>Separator between title of enclosure and + and enclosures</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>faxseparator</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>faxseparator</tertiary> + </indexterm> + <simpara>Separator between title of fax and fax + number + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromaddress</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>fromaddress</tertiary> + </indexterm> + <simpara>Sender's address without its name</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>frombank</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>frombank</tertiary> + </indexterm> + <simpara>Sender's bank account</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromemail</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>fromemail</tertiary> + </indexterm> + <simpara>Sender's e-mail</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromfax</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>fromfax</tertiary> + </indexterm> + <simpara>Sender's fax number</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromlogo</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>fromlogo</tertiary> + </indexterm> + <simpara>Commands for inserting the sender's logo + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromname</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>fromname</tertiary> + </indexterm> + <simpara>Complete name of the sender</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromphone</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>fromphone</tertiary> + </indexterm> + <simpara>Sender's telephone number</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromurl</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>fromurl</tertiary> + </indexterm> + <simpara>URL of the sender</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>invoice</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>invoice</tertiary> + </indexterm> + <simpara>Invoice number</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>location</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>location</tertiary> + </indexterm> + <simpara>More details of the sender</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>myref</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>myref</tertiary> + </indexterm> + <simpara>Sender's reference</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>place</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>place</tertiary> + </indexterm> + <simpara>Place</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>placeseparator</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>placeseparator</tertiary> + </indexterm> + <simpara>Separator between place and date</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>phoneseparator</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>phoneseparator</tertiary> + </indexterm> + <simpara>Separator between title of telephone and + telephone number + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>signature</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>signature</tertiary> + </indexterm> + <simpara>Signature beneath the ending of the + letter + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>specialmail</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>specialmail</tertiary> + </indexterm> + <simpara>Special mail</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>subject</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>subject</tertiary> + </indexterm> + <simpara>Subject</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>subjectseparator</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>subjectseparator</tertiary> + </indexterm> + <simpara>Separator between title of subject and + subject + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>title</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>title</tertiary> + </indexterm> + <simpara>Letter title</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>toname</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>toname</tertiary> + </indexterm> + <simpara>Complete name of recipient</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>toaddress</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>toaddress</tertiary> + </indexterm> + <simpara>Address of recipient without its name</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>yourmail</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>yourmail</tertiary> + </indexterm> + <simpara>Date of recipient's mail</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>yourref</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>yourref</tertiary> + </indexterm> + <simpara>Recipient's reference</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\setkomavar{name}[description]{content}</literal></term> + <term><literal>\setkomavar*{name}{description}</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>\setkomavar</tertiary> + </indexterm> + + <simpara><literal>\setkomavar</literal> sets the + content of the variable <literal>name</literal>. + The optional argument sets the + <literal>description</literal> of the variable. + </simpara> + <simpara><literal>\setkomavar*</literal> + only sets the <literal>description</literal>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\usekomavar[command]{name}</literal></term> + <term><literal>\usekomavar*[command]{name}</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>\usekomavar</tertiary> + </indexterm> + <simpara><literal>\usekomavar</literal> gives you + access to the content of the variable + <literal>name</literal>. + </simpara> + <simpara><literal>\usekomavar*</literal> gives you + access to the <literal>description</literal> + of the variable <literal>name</literal>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\ifkomavarempty{name}{true}{false}</literal></term> + <term><literal>\ifkomavarempty*{name}{true}{false}</literal></term> + <listitem> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>\ifkomavarempty</tertiary> + </indexterm> + <simpara>The <literal>true</literal> argument will + be executed if the content or description is + empty. Otherwise the <literal>false</literal> + argument will be executed. + </simpara> + <simpara>The starred version handles the + description of a variable, the variant without + star the content. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Pseudo Lengths</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>pseudo lengths</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\@newplength{name}</literal></term> + <listitem> + <simpara>Defines a new pseudo length</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\useplength{name}</literal></term> + <listitem> + <simpara>Access value of pseudo length + <literal>name</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\setlengthtoplength[factor]{length}{pseudo + length}</literal> + </term> + <term><literal>\addtolengthplength[factor]{length}{pseudo + length}</literal> + </term> + <listitem> + <simpara>Assign a multiple of + <literal>pseudo length</literal> to a real + <literal>length</literal>. Adds a multiple of + <literal>pseudo length</literal> to + <literal>length</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\@setplength[factor]{pseudo + length}{value}</literal> + </term> + <term> + <literal>\@addtoplength[factor]{pseudo + length}{value} + </literal></term> + <listitem> + <simpara>Assign a multiple of a + <literal>value</literal> to a + <literal>pseudo length</literal>. + Adds <literal>value</literal> to + <literal>pseudo length</literal>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <!-- + <bridgehead renderas="sect5">General Structure of a Letter Document</bridgehead> + <para>&tbd;</para> + --> + + <bridgehead renderas="sect5">Letter Declaration</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>letter declaration</tertiary> + </indexterm> + + <bridgehead renderas="sect5">Letterhead</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>letterhead</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>firstheadvpos</literal></term> + <listitem> + <simpara>Distance between the top of the sheet and + the letterhead. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>firstheadwidth</literal></term> + <listitem> + <simpara>Width of the letterhead.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>fromname</literal></term> + <term><literal>fromaddress</literal></term> + <term><literal>fromphone</literal></term> + <term><literal>fromfax</literal></term> + <term><literal>fromemail</literal></term> + <term><literal>fromurl</literal></term> + <term><literal>fromlogo</literal></term> + <listitem> + <simpara>This variables give all statements + concerning the sender necessary to create the + letterhead. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>phoneseparator</literal></term> + <term><literal>faxseparator</literal></term> + <term><literal>emailseparator</literal></term> + <term><literal>urlseparator</literal></term> + <listitem> + <simpara>Separators for variables in letterhead. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\firsthead{construction}</literal></term> + <listitem> + <simpara>Create letterhead freely.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Footer</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>footer</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>firstfootvpos</literal></term> + <listitem> + <simpara>Distance between footer and upper border + of the sheet.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>firstfootwidth</literal></term> + <listitem> + <simpara>Width of letter's firstpage footer.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\firstfoot{Construction}</literal></term> + <listitem> + <simpara>Set definition for first page's footer</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Address</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>address</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>toaddrvpos</literal></term> + <term><literal>toaddrhpos</literal></term> + <listitem> + <simpara>Distance between address window of a + window envelope and the upper and left border of + the sheet. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>toaddrwidth</literal></term> + <listitem> + <simpara>Width of the address window.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>toaddrindent</literal></term> + <listitem> + <simpara>Value of indentation for the address from + the left border. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>backaddress</literal></term> + <term><literal>backaddressseparator</literal></term> + <term><literal>backaddrheight</literal></term> + <listitem> + <simpara>Double backslashes within return address + will be exchanged with + <literal>backaddressseparator</literal>. + Height of the return address field. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>specialmail</literal></term> + <term><literal>specialmailindent</literal></term> + <term><literal>specialmailrightindent</literal></term> + <listitem> + <simpara>Optionally set between return address and + addressee. <literal>specialmailindent</literal> + and <literal>specialmailrightindent</literal> + determine left and right indentation. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>toname</literal></term> + <term><literal>toaddress</literal></term> + <listitem> + <simpara>Usually not set directly by the user. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\begin{letter}[options]{address}</literal></term> + <listitem> + <simpara>Major point of the letter class. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\AtBeginLetter{command}</literal></term> + <listitem> + <simpara>Hook for commands run at begin of a + letter. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Sender's Extension</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>sender's extension</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>locwidth</literal></term> + <listitem> + <simpara>Declares width of sender's extensions.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>location</literal></term> + <listitem> + <simpara>Content of sender's extension.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead id ="scrlttr-business-line" renderas="sect5">Business Line</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>business line</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>refvpos</literal></term> + <listitem> + <simpara>Distance between upper border of sheet + and business line.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>refwidth</literal></term> + <listitem> + <simpara>Available width for the business line.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>refaftervskip</literal></term> + <listitem> + <simpara>Vertical space to be inserted beneath + business line.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>place</literal></term> + <term><literal>placeseparator</literal></term> + <listitem> + <simpara>If all variables for business line + are empty, the content of + <literal>place</literal> and + <literal>placeseparator</literal> will be set, + followed by content of <literal>date</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>yourref</literal></term> + <term><literal>yourmail</literal></term> + <term><literal>myref</literal></term> + <term><literal>customer</literal></term> + <term><literal>invoice</literal></term> + <term><literal>date</literal></term> + <listitem> + <simpara>Typical fields for business lines. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Title and Subject Line</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>title line</tertiary> + </indexterm> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>subject line</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>title</literal></term> + <listitem> + <simpara>Additional tile. Set centered beneath the + business line.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>subject</literal></term> + <term><literal>subjectseparator</literal></term> + <listitem> + <simpara>Set the subject of the letter, optional + prefixed by a label.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Further Issues</bridgehead> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>tfoldmarkvpos</literal></term> + <term><literal>bfoldmarkvpos</literal></term> + <listitem> + <simpara>Position of upper and lower fold mark.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>foldmarkhpos</literal></term> + <listitem> + <simpara>Distance between fold marks and the + sheet's left border.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>frombank</literal></term> + <listitem> + <simpara>Internally not used yet.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\nexthead{construction}</literal></term> + <term><literal>\nextfoot{construction}</literal></term> + <listitem> + <simpara>Create letter head or foot for the + following pages freely.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">The Text</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>text</tertiary> + </indexterm> + + <bridgehead renderas="sect5">Opening</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>Opening</tertiary> + </indexterm> + <para> + <variablelist> + <varlistentry> + <term><literal>\opening{opening}</literal></term> + <listitem> + <simpara>Set the opening of the letter.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Footnotes</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>footnotes</tertiary> + </indexterm> + + <para>See section <emphasis>Footnotes</emphasis> in + &komascript; (still to be written).</para> + + <bridgehead renderas="sect5">Lists</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>lists</tertiary> + </indexterm> + <para>See section <emphasis>Lists</emphasis> in + &komascript; (still to be written).</para> + + <bridgehead renderas="sect5">Margin Notes</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>margin notes</tertiary> + </indexterm> + <para>See section <emphasis>Margin Notes</emphasis> in + &komascript; (still to be written).</para> + + <bridgehead renderas="sect5">Text Emphasis</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>text emphasis</tertiary> + </indexterm> + <para>See section <emphasis>Logical Markup of Text</emphasis> + in &komascript; (still to be written). + </para> + + <bridgehead renderas="sect5">Closing Part</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>Closing Part</tertiary> + </indexterm> + + <bridgehead renderas="sect5">Closing</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>Closing</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>signature</literal></term> + <listitem> + <simpara>Inlcudes an explanation for the + inscription. Defaults to + <literal>\usekomavar{fromname}</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\closing{closing phrase}</literal></term> + <listitem> + <simpara>Typesets the colsing phrase follwoed by a + vertical space and the contents fo variable + <literal>signature</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>sigindent</literal></term> + <term><literal>sigbeforevskip</literal></term> + <term><literal>\raggedsignature</literal></term> + <listitem> + <simpara>Indentation of the box for closing + phrase, inscription and signature (defaults to 0mm). + Vertical space between closing phrase + and signature (defaults to two lines). + Alignment inside the box.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Postscript, Carbon Copy, and Enclosures</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>postscript</tertiary> + </indexterm> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>carbon copy</tertiary> + </indexterm> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>enclosure</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\ps</literal></term> + <listitem> + <simpara>Set a postscript.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\cc{distribution list}</literal></term> + <term><literal>ccseparator</literal></term> + <listitem> + <simpara>Set a ddistribution list. If the contents + of <literal>ccseparator</literal> isn't empty then + the name and the content of the variable is + inserted prior to distribution list.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\encl{enclosures}</literal></term> + <term><literal>enclseparator</literal></term> + <listitem> + <simpara>Same structur as the distribution list. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Language Support</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>language support</tertiary> + </indexterm> + + <bridgehead renderas="sect5">Language Selection</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>language selection</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\captionenglish</literal></term> + <term><literal>\captionUSenglish</literal></term> + <term><literal>\captionamerican</literal></term> + <term><literal>\captionbritish</literal></term> + <term><literal>\captionUKenglish</literal></term> + <?db2latex \newline?> + <term><literal>\captiongerman</literal></term> + <term><literal>\captionngerman</literal></term> + <term><literal>\captionaustrian</literal></term> + <term><literal>\captionfrench</literal></term> + <term><literal>\captionitalian</literal></term> + <?db2latex \newline?> + <term><literal>\captionspanish</literal></term> + <term><literal>\captiondutch</literal></term> + <term><literal>\captioncroatian</literal></term> + <listitem> + <simpara>If the used language selection scheme + does not support switching the language the above + commands can be used directly.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\dateenglish</literal></term> + <term><literal>\dateUSenglish</literal></term> + <term><literal>\dateamerican</literal></term> + <term><literal>\datebritish</literal></term> + <term><literal>\dateUKenglish</literal></term> + <term><literal>\dategerman</literal></term> + <term><literal>\datengerman</literal></term> + <term><literal>\dateaustrian</literal></term> + <term><literal>\datefrench</literal></term> + <term><literal>\dateitalian</literal></term> + <term><literal>\datespanish</literal></term> + <term><literal>\datedutch</literal></term> + <term><literal>\datecrotian</literal></term> + <listitem> + <simpara>Numerical date representation.</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Language-Dependent Terms</bridgehead> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\yourrefname</literal></term> + <term><literal>\youremailname</literal></term> + <term><literal>\myrefname</literal></term> + <term><literal>\customername</literal></term> + <term><literal>\invoicename</literal></term> + <term><literal>\subjectname</literal></term> + <term><literal>\ccname</literal></term> + <term><literal>\enclname</literal></term> + <term><literal>\headtoname</literal></term> + <term><literal>\headfromname</literal></term> + <term><literal>\datename</literal></term> + <term><literal>\pagename</literal></term> + <term><literal>\phonename</literal></term> + <term><literal>\faxname</literal></term> + <term><literal>\emailname</literal></term> + <term><literal>\wwwname</literal></term> + <term><literal>\bankname</literal></term> + <listitem> + <simpara>These defintions can be modified to + support a new language of for private + customization. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Defining Language Terms</bridgehead> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\providecaptioname{language}{term}{definition}</literal></term> + <term><literal>\newcaptioname{language}{term}{defintion}</literal></term> + <term><literal>\renewcaptionname{language}{term}{definition}</literal></term> + <listitem> + <simpara>Assign a <emphasis>definition</emphasis> + for a <emphasis>language</emphasis> to a + <emphasis>term</emphasis>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + <bridgehead renderas="sect5">Address Files and Circular Letters</bridgehead> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>address files</tertiary> + </indexterm> + <indexterm> + <primary>&komascript;</primary> + <secondary>scrlttr2</secondary> + <tertiary>circular letters</tertiary> + </indexterm> + <para> + <variablelist role="db2latex:nonoindent;db2latex:compact"> + <varlistentry> + <term><literal>\adrentry{Lastname}{Firstname}{Address}{Telephone}{F1}{F2}{Comment}{Key}</literal></term> + <listitem> + <simpara>Address entry for address files. The file + extension has to be <literal>.adr</literal>!</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\addrentry{Lastname}{Firstname}{Address}{Telephone}{F1}{F2}{F3}{F4}{Key}</literal></term> + <listitem> + <simpara>This command supports four freely definable + parameters for an address entry.</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\adrchar{initial letter}</literal></term> + <term><literal>\addrchar{initial letter}</literal></term> + <listitem> + <simpara>Separator for address entries. Ignored by + <literal>scrlttr2</literal>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + + </section> + + <section id="komascript-scraddr"> + <title id="komascript-scraddr-title">Address Files with <literal>scraddr</literal></title> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + </indexterm> + + <para> + <variablelist role="db2latex:multiterm"> + <varlistentry> + <term><literal>\InputAddressFile{file name}</literal></term> + <listitem> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\InputAddressFile</tertiary> + </indexterm> + <simpara>Read the contents of the given address file. + Filename extension has to be <literal>.adr</literal> + and has to be omitted in the argument. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\Name{Key}</literal></term> + <term><literal>\FirstName{Key}</literal></term> + <term><literal>\LastName{Key}</literal></term> + <term><literal>\Address{Key}</literal></term> + <term><literal>\Telephone{Key}</literal></term> + <term><literal>\FreeI{Key}</literal></term> + <term><literal>\FreeII{Key}</literal></term> + <term><literal>\Comment{Key}</literal></term> + <term><literal>\FreeIII{Key}</literal></term> + <term><literal>\FreeIV{Key}</literal></term> + <listitem> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\Name{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\FirstName{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\LastName{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\Address{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\Telephone{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\FreeI{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\FreeII{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\Comment{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\FreeIII{}</tertiary> + </indexterm> + <indexterm> + <primary>KOMA-Script</primary> + <secondary>scraddr</secondary> + <tertiary>\FreeIV{}</tertiary> + </indexterm> + <simpara>Access to the data in address file. + <literal>\Name</literal> is a concatenation of + <literal>\FirstName</literal> and <literal>\LastName</literal>. + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>AdrFreeIVempty</literal></term> + <term><literal>AdrFreeIVshow</literal></term> + <term><literal>AdrFreeIVwarn</literal></term> + <term><literal>AdrFreeIVstop</literal></term> + <listitem> + <simpara>Package warning options. Defaults to + <literal>AdrFreeIVshow</literal>. + </simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + + </section> + + <section id="mathpazo"> + <title id="mathpazo-title"><filename role="nohyphenation">mathpazo</filename></title> + <indexterm><primary>mathpazo</primary></indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>mathpazo</secondary> + </indexterm> + <para>Math fonts for the use with the Palatino font.</para> + + <section id="upDelta-upOmega"> + <title id="upDelta-upOmega-title">\upDelta / \upOmega</title> + <indexterm><primary>\upDelta</primary></indexterm> + <indexterm><primary>\upOmega</primary></indexterm> + + <para>Math fonts for the use with the Palatino font.</para> + + <para>Package options are: + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>[slantedGreek]</literal></term> + <listitem> + <para>Uppercase Greek will be typeset slanted.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>[noBBpl]</literal></term> + <listitem> + <para>Do not use PazoMathBlackboardBold as + (partial) blackboard bold + font (e.g with <literal>\mathbb{R}</literal>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>[osf]</literal></term> + <listitem> + <para>Make the font family <literal>pplj</literal> + (Palatino with old style numerals) the default + roman font, and use an + alternative version of the virtual math italic fonts + (<literal>zplmrj7m</literal> and + <literal>zplmbj7m</literal>) with upright Palatino old + style numerals for use with the + <literal>\oldstylenums</literal> command. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>[osfeqnnum]</literal></term> + <listitem> + <para>Use old style numerals for equation numbering.</para> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + + </section> + + <section id="varioref"> + <title id="varioref-title"><filename role="nohyphenation">varioref</filename></title> + <indexterm><primary>varioref</primary></indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>varioref</secondary> + </indexterm> + <para>Smarter version of the original latex2e + <link linkend="cross-references">cross reference commands</link>. + Generated strings are customizable, Babel options are recognized + (further info in the package documentation). + </para> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term id="cmd-vref"><literal>\vref</literal></term> + <term id="cmd-vpageref"><literal>\vpageref</literal></term> + <listitem> + <indexterm> + <primary>\vref</primary> + </indexterm> + <indexterm> + <primary>\vpageref</primary> + </indexterm> + <para><literal>\vref</literal> is similar to + <literal>\ref</literal> but adds an additional page + reference, like <emphasis>on the facing page</emphasis> + or + <emphasis>on page 27</emphasis> whenever the corresponding + <link linkend="cmd-label-title"><filename role="nohyphenation">\label</filename></link> + is not on the same page. + </para> + <para><literal>\vpageref</literal> is a variation + of <literal>\pageref</literal> with similar + functionality. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\vrefrange</literal></term> + <term><literal>\vpagerefrange</literal></term> + <listitem> + <indexterm> + <primary>\vrefrange</primary> + </indexterm> + <indexterm> + <primary>\vpagerefrange</primary> + </indexterm> + <para>The <literal>\v...range</literal> commands + take two labels as arguments and + produce strings which depend on wether or not these labels + fall onto a single page or on different pages. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\vref*</literal></term> + <term><literal>\vpageref*</literal></term> + <term><literal>\vpagerefrange*</literal></term> + <listitem> + <para>Star * variants do not add any space before + the generated text for situations like: + <programlisting> +(\vref{foo} ...)</programlisting> + </para> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + + <section id="small-packages"> + <title id="small-packages-title">Several Small Packages</title> + <indexterm><primary>Several Small Packages</primary></indexterm> + <indexterm><primary>Small Packages</primary></indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>Several Small Packages</secondary> + </indexterm> + <para>Must be loaded with the usual + <link linkend="usepackage-linkend"><literal>\usepackage</literal></link> + command. Further info for a package to be found in the + documentation (dvi, pdf, ps) or in the + <literal>sty</literal>-file itself. + </para> + + <section id="bm-package"> + <title id="bm-package-title"><filename role="nohyphenation">bm</filename></title> + <indexterm> + <primary>bm</primary> + </indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>bm</secondary> + </indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>bm.sty</secondary> + </indexterm> + <para>Bold math symbols or equations with better spacing + then the <literal>\boldsymbold</literal> command. + <indexterm> + <primary>\boldsymbold</primary> + </indexterm> + If possible load after other packages + which redefine the fonts. When no bold font + is available for a certain char <literal>bm</literal> + will use <emphasis>poor man's bold</emphasis> + <link linkend="pmb-linkend"><literal>\pmb</literal></link>. + </para> + + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term id="cmd-bm"><literal>\bm</literal></term> + <listitem> + <indexterm> + <primary>\bm</primary> + </indexterm> + <para>Produces bold math symbol or equation.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>\unboldmath</literal></term> + <listitem> + <indexterm> + <primary>\unboldmath</primary> + </indexterm> + <para>Can be used to set parts of an equation unbold.</para> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + + <section id="url-package"> + <title id="url-package-title"><filename role="nohyphenation">url</filename></title> + <indexterm> + <primary>url</primary> + </indexterm> + <indexterm> + <primary>Packages</primary> + <secondary>url</secondary> + </indexterm> + <para>Defines line breakable hyperlinked + (uses <link linkend="hyperref">hyperref</link> package) + verbatim input for urls and e-mail addresses. + </para> + <para>Example: <literal>\url{http://example.org}</literal> + outputs <literal>http://example.org</literal>. + </para> + <para>Related commands are + <link linkend="href"><literal>\href</literal></link> + and <link linkend="cmd-nolinkurl"><literal>\nolinkurl</literal></link>. + </para> + </section> + + </section> + + </section> + + + <section id="generic-packages"> + <title id="generic-packages-title">Generic Packages</title> + + <section id="pictex"> + <title id="pictex-title">&pictex; (&tbd;)</title> + <indexterm><primary>PiCTeX</primary></indexterm> + <para>&tbd;</para> + </section> + + <section id="pstricks"> + <title id="pstricks-title">&pstricks;</title> + <indexterm><primary>&pstricks;</primary></indexterm> + + <section id="pstricks-ovw"> + <title id="pstricks-ovw-title">&overview;</title> + <para>The idea behind the &pstricks; package of + Timothy van Zandt + <indexterm> + <primary>People</primary> + <secondary>van Zandt, Timothy</secondary> + </indexterm> + is to provide most of the PostScript language in + &latex; and &tex; syntax. + </para> + </section> + + <section id="pstricks-commands"> + <title id="pstricks-commands-title">Commands and Parameters</title> + + <section id="pstricks-color"> + <title id="pstricks-color-title">Color</title> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\newgray</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\newrgbcolor</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\newhsbcolor</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\newcmykcolor</tertiary> + </indexterm> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\newgray{color}{num}</literal> + </term> + <term> + <literal>\newrgbcolor{color}{num1 num2 num3}</literal> + </term> + <term> + <literal>\newhsbcolor{color}{num1 num2 num3}</literal> + </term> + <term> + <literal>\newcmykcolor{color}{num1 num2 num3 num4}</literal> + </term> + <listitem> + <simpara></simpara> + </listitem> + </varlistentry> + </variablelist> + <para> + Note that these commands are obsolete for &latex;. Load + &pstricks; with <literal>\usepackage{pstcol}</literal> + and use the standard &latex; color commands instead. + </para> + </section> + + <section id="pstricks-setting"> + <title id="pstricks-setting-title"> + Setting graphics parameters</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\psset{par1=value1,par2=value2,...}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psset</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-dimensions"> + <title id="pstricks-dimensions-title"> + Dimensions, coordinates and angles</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\pssetlength{cmd}{dim}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pssetlength</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>unit=dim, xunit=dim, yunit=dim, yunit=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>unit</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>xunit</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>yunit</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>runit</tertiary> + </indexterm> + <para> + Default: <literal>1cm</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\degrees[num]</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\degrees</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\radians</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\radians</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-basic"> + <title id="pstricks-basic-title"> + Basic graphics parameters</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>linewidth=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>linewidth</tertiary> + </indexterm> + <para> + Default: <literal>.8pt</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>linecolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>linecolor</tertiary> + </indexterm> + <para> + Default: <literal>black</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>showpoints=true/false</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>showpoints</tertiary> + </indexterm> + <para> + Default: <literal>false</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-lines"> + <title id="pstricks-lines-title">Lines and polygons</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>linearc=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>linearc</tertiary> + </indexterm> + <para> + Default: <literal>0pt</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>framearc=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>framearc</tertiary> + </indexterm> + <para> + Default: <literal>0</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>cornersize=relative/absolute</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>cornersize</tertiary> + </indexterm> + <para> + Default: <literal>relative</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\psline*[par]{arrows}(x0,y0)(x1,y1)...(xn,yn)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psline</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\qline(coor0)(coor1)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\qline</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\pspolygon*[par](x0,y0)(x1,y1)(x2,y2)...(xn,yn)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pspolygon</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\psframe*[par](x0,y0)(x1,y1)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psframe</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-arcs"> + <title id="pstricks-arcs-title"> + Arcs, circles and ellipses</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\pscircle*[par](x0,y0){radius}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pscircle</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\qdisk(coor){radius}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pscircle</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\pswedge*[par](x0,y0){radius}{angle1}{angle2}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pswedge</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\psellipse*[par](x0,y0)(x1,y1)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psellipse</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\psarc*[par]{arrows}(x,y){radius}{angleA}{angleB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psarc</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\psarcn*[par]{arrows}(x,y){radius}{angleA}{angleB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psarcn</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>arcsep=dim, arcsepA=dim, arcsepB=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arcsep</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arcsepA</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arcsepB</tertiary> + </indexterm> + <para> + Default: <literal>0pt</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-curves"> + <title id="pstricks-curves-title">Curves</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\psbezier*[par]{arrows}(x0,y0)(x1,y1)(x2,y2)(x3,y3)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psbezier</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\parabola*[par]{arrows}(x0,y0)(x1,y1)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\parabola</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\pscurve*[par]{arrows}(x1,y1)...(xn,yn)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pscurve</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\psecurve*[par]{arrows}(x1,y1)...(xn,yn)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psecurve</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\psccurve*[par]{arrows}(x1,y1)...(xn,yn)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psccurve</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>curvature=num1 num2 num3</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>curvature</tertiary> + </indexterm> + <para> + Default: <literal>1 .1 0</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-dots"> + <title id="pstricks-dots-title">Dots</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\psdots*[par](x1,y1)(x2,y2)...(xn,yn)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psdots</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>dotstyle=style</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>dotstyle</tertiary> + </indexterm> + <simpara> Default: <literal>*</literal></simpara> + <simpara> Dots: + <literal> + *, o, +, triangle, triangle*, square, square*, + pentagon, pentagon*, | + </literal> + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>dotscale=num1 num2</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>dotscale</tertiary> + </indexterm> + <para> + Default: <literal>1</literal> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>dotangle=angle</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>dotangle</tertiary> + </indexterm> + <para> + Default: <literal>0</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-grids"> + <title id="pstricks-grids-title">Grids</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\psgrid(x0,y0)(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psgrid</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>gridwidth=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gridwidth</tertiary> + </indexterm> + <simpara> Default: <literal>.8pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>gridcolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gridcolor</tertiary> + </indexterm> + <simpara> Default: <literal>black</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>griddots=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>griddots</tertiary> + </indexterm> + <simpara> Default: <literal>0</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>gridlabels=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gridlabels</tertiary> + </indexterm> + <simpara> Default: <literal>10pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>gridlabelcolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gridlabelcolor</tertiary> + </indexterm> + <simpara> Default: <literal>black</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>subgriddiv=int</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gridlabelcolor</tertiary> + </indexterm> + <simpara> Default: <literal>5</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>subgridwidth=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>subgridwidth</tertiary> + </indexterm> + <simpara> Default: <literal>.4pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>subgridcolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gridlabelcolor</tertiary> + </indexterm> + <simpara> Default: <literal>gray</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>subgriddots=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>subgriddots</tertiary> + </indexterm> + <simpara> Default: <literal>0</literal></simpara> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-plots"> + <title id="pstricks-plots-title">Plots</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\fileplot*[par]{file}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\fileplot</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\dataplot*[par]{commands}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\dataplot</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\savedata{command}[data]</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\savedata</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\readdata{command}{file}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\readdata</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\listplot*[par]{list}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\listplot</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\psplot*[par]{xmin}{xmax}{function}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psplot</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\parametricplot*[par]{tmin}{tmax}{function}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\parametricplot</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>plotstyle=style</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>plotstyle</tertiary> + </indexterm> + <simpara> Default: <literal>line</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>plotpoints=int</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>plotpoints</tertiary> + </indexterm> + <simpara> Default: <literal>50</literal></simpara> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-coordinate"> + <title id="pstricks-coordinate-title">Coordinate systems</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>origin={coor}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>origin</tertiary> + </indexterm> + <simpara> Default: <literal>0pt,0pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>swapaxes=true</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>swapaxes</tertiary> + </indexterm> + <simpara> Default: <literal>false</literal></simpara> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-line-styles"> + <title id="pstricks-line-styles-title">Line styles</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>linestyle=style</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>linestyle</tertiary> + </indexterm> + <simpara> Default: <literal>solid</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>dash=dim1 dim2</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>dash</tertiary> + </indexterm> + <simpara> Default: <literal>5pt 3pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>dotsep=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>dotsep</tertiary> + </indexterm> + <simpara> Default: <literal>3pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>border=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>border</tertiary> + </indexterm> + <simpara> Default: <literal>0pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>bordercolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>bordercolor</tertiary> + </indexterm> + <simpara> Default: <literal>white</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>doubleline=true/false</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>doubleline</tertiary> + </indexterm> + <simpara> Default: <literal>false</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>doublesep=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>doublesep</tertiary> + </indexterm> + <simpara> Default: <literal>1.25\pslinewidth</literal></simpara> </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>doublecolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>doublecolor</tertiary> + </indexterm> + <simpara> Default: <literal>white</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>shadow=true/false</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>shadow</tertiary> + </indexterm> + <simpara> Default: <literal>false</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>shadowsize=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>shadowsize</tertiary> + </indexterm> + <simpara> Default: <literal>3pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>shadowangle=angle</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>shadowangle</tertiary> + </indexterm> + <simpara> Default: <literal>-45</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>shadowcolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>shadowcolor</tertiary> + </indexterm> + <simpara> Default: <literal>darkgray</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>dimen=outer/inner/middle</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>dimen</tertiary> + </indexterm> + <simpara> Default: <literal>outer</literal></simpara> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-fill-styles"> + <title id="pstricks-fill-styles-title">Fill styles</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>fillstyle=style</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>fillstyle</tertiary> + </indexterm> + <simpara> Default: <literal>none</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>fillcolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>fillcolor</tertiary> + </indexterm> + <simpara> Default: <literal>white</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>hatchwidth=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>hatchwidth</tertiary> + </indexterm> + <simpara> Default: <literal>.8pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>hatchsep=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>hatchsep</tertiary> + </indexterm> + <simpara> Default: <literal>4pt</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>hatchcolor=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>hatchcolor</tertiary> + </indexterm> + <simpara> Default: <literal>black</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>hatchangle=rot</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>hatchangle</tertiary> + </indexterm> + <simpara> Default: <literal>45</literal></simpara> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-arrowheads"> + <title id="pstricks-arrowheads-title">Arrowheads and such</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>arrows=style</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arrows</tertiary> + </indexterm> + <simpara> Default: <literal>-</literal></simpara> + <simpara> Arrows: + <literal> + -, <->, >-<, <<->>, + >>-<<, |-|, |*-|*, [-], + (-), o-o, *-*, oo-oo, **-**, c-c, cc-cc, C-C + </literal> + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>arrowsize=dim num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arrowsize</tertiary> + </indexterm> + <simpara> Default: <literal>2pt 3</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>arrowlength=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arrowlength</tertiary> + </indexterm> + <simpara> Default: <literal>1.4</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>arrowinset=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arrowinset</tertiary> + </indexterm> + <simpara>Default: <literal>.4</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>tbarsize=dim num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>tbarsize</tertiary> + </indexterm> + <simpara> Default: <literal>2pt 5</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>bracketlength=num, rbracketlength=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>bracketlength</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>rbracketlength</tertiary> + </indexterm> + <simpara> Default: <literal>.15</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>dotsize=dim num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>dotsize</tertiary> + </indexterm> + <simpara> Default: <literal>.5pt 2.5</literal></simpara> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>arrowscale=num1 num2</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arrowscale</tertiary> + </indexterm> + <simpara> Default: <literal>1</literal></simpara> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-custom"> + <title id="pstricks-custom-title">Custom styles</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\newpsobject{name}{object}{par1=value1,...}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\newpsobject</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\newpsstyle{name}{par1=value1,...}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\newpsstyle</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-basics"> + <title id="pstricks-basics-title">The basics</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\pscustom*[par]{commands}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pscustom</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-parameters"> + <title id="pstricks-parameters-title">Parameters</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>linetype=int</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>linetype</tertiary> + </indexterm> + <simpara> Default: <literal>0</literal></simpara> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-graphics-objects"> + <title id="pstricks-graphics-objects-title">Graphics objects</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>liftpen=0/1/2</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>liftpen</tertiary> + </indexterm> + <simpara> Default: <literal>0</literal></simpara> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="safe-tricks"> + <title id="pstricks-safe-tricks-title">Safe tricks</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\newpath</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\newpath</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\moveto(coor)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\moveto</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\closepath</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\closepath</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\stroke[par]</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\stroke</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\fill[par]</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\fill</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\gsave</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\gsave</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\grestore</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\grestore</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\translate(coor)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\translate</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\scale{num1 num2}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\scale</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\rotate{angle}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rotate</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\swapaxes</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\swapaxes</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\msave</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\msave</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\mrestore</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\mrestore</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\openshadow[par]</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\openshadow</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\closedshadow[par]</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\closedshadow</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\movepath(coor)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\movepath</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pretty-safe-tricks"> + <title id="pstricks-pretty-safe-tricks-title"> + Pretty safe tricks</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\lineto(coor)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\lineto</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\rlineto(coor)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rlineto</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\curveto(x1,y1)(x2,y2)(x3,y3)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\curveto</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\rcurveto(x1,y1)(x2,y2)(x3,y3)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rcurveto</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="hackers"> + <title id="pstricks-hackers-title">For hackers only</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\code{code}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\code</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\dim{dim}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\dim</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\coor(x1,y1)(x2,y2)...(xn,yn)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\coor</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\rcoor(x1,y1)(x2,y2)...(xn,yn)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rcoor</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\file{file}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\file</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\arrows{arrows}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\arrows</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\setcolor{color}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\setcolor</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pictures"> + <title id="pstricks-pictures-title">Pictures</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\pspicture*[baseline](x0,y0)(x1,y1)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pspicture</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\endpspicture</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\endpspicture</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="placing"> + <title id="pstricks-placing-title">Placing and rotating whatever</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\rput*[refpoint]{rotation}(x,y){stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rput</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\uput*{labelsep}[refangle]{rotation}(x,y){stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\uput</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\pslabelsep</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pslabelsep</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>labelsep=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>labelsep</tertiary> + </indexterm> + <para> + Default: <literal>5pt</literal> + </para> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-repetition"> + <title id="pstricks-repetition-title">Repetition</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal> + \multirput*[refpoint]{angle}(x0,y0)(x1,y1){int}{stuff} + </literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\multirput</tertiary> + </indexterm> + </listitem> + </varlistentry> + <varlistentry> + <term> + <literal>\multips{angle}(x0,y0)(x1,y1){int}{graphics}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\multips</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-axes"> + <title id="pstricks-axes-title">Axes</title> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psaxes</tertiary> + </indexterm> + + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>\psaxes*[par]{arrows}(x0,y0)(x1,y1)(x2,y2)</literal></term> + <listitem> + <informaltable frame="none"> + <!-- <title>Axes label parameters</title> --> + <tgroup cols="4"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"> + <entry><emphasis>Horizontal</emphasis></entry> + <entry><emphasis>Vertical</emphasis></entry> + <entry><emphasis>Dflt</emphasis></entry> + <entry><emphasis>Description</emphasis></entry> + </row> + <row rowsep="0"> + <entry>Ox=num</entry> + <entry>Oy=num</entry> + <entry>0</entry> + <entry>Label at origin.</entry> + </row> + <row rowsep="0"> + <entry>Dx=num</entry> + <entry>Dy=num</entry> + <entry>1</entry> + <entry>Label increment.</entry> + </row> + <row rowsep="0"> + <entry>dx=dim</entry> + <entry>oy=dim</entry> + <entry>0pt</entry> + <entry>Dist btwn labels.</entry> + </row> + </tbody> + </tgroup> + </informaltable> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>labels=all/x/y/none</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>labels</tertiary> + </indexterm> + <para> + Default: <literal>all</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>showorigin=true/false</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>showorigin</tertiary> + </indexterm> + <para> + Default: <literal>true</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>ticks=all/x/y/none</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>ticks</tertiary> + </indexterm> + <para> + Default: <literal>all</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>tickstyle=full/top/bottom</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>tickstyle</tertiary> + </indexterm> + <para> + Default: <literal>full</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>ticksize=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>ticksize</tertiary> + </indexterm> + <para> + Default: <literal>3pt</literal> + </para> + + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psxlabel, \psylabel</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psxlabel</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psylabel</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>axesstyle=axes/frame/none</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>axesstyle</tertiary> + </indexterm> + <para> + Default: <literal>axes</literal> + </para> + </listitem> + </varlistentry> + + </variablelist> + </section> + + <section id="pstricks-framed"> + <title id="pstricks-framed-title">Framed boxes</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>framesep=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>framesep</tertiary> + </indexterm> + <para> + Default: <literal>3pt</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>boxsep=true/false</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>boxsep</tertiary> + </indexterm> + <para> + Default: <literal>true</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psframebox*[par]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psframebox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psdblframebox*[par]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psdblframebox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psshadowbox*[par]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psshadowbox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pscirclebox*[par]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pscirclebox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\cput*[par]{angle}(x,y){stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\cput</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psovalbox*[par]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psovalbox</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-clipping"> + <title id="pstricks-clipping-title">Clipping</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\clipbox[dim]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\clipbox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psclip{graphics} ... \endpsclip</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psclip</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-rotation"> + <title id="pstricks-rotation-title">Rotation and scaling boxes</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\rotateleft{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rotateleft</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\rotateright{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rotateright</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\rotatedown{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rotatedown</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\scalebox{num1 num2}{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\scalebox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\scaleboxto(x,y){stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\scaleboxto</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-nodes"> + <title id="pstricks-nodes-title">Nodes</title> + <variablelist role="db2latex:compact"> + <varlistentry> + <term> + <literal>\rnode[refpoint]{name}{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\rnode</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\Rnode(x,y){name}{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\Rnode</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\RnodeRef</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\RnodeRef</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pnode(x,y){name}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pnode</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\cnode*[par](x,y){radius}{name}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\cnode</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\circlenode*[par]{name}{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\circlenode</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\cnodeput*[par]{angle}(x,y){name}{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\cnodeput</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ovalnode*[par]{name}{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ovalnode</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-connections"> + <title id="pstricks-connections-title">Node connections</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>nodesep=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>nodesep</tertiary> + </indexterm> + <para> + Default: <literal>0</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>offset=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>offset</tertiary> + </indexterm> + <para> + Default: <literal>0</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>arm=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arm</tertiary> + </indexterm> + <para> + Default: <literal>10pt</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>angle=angle</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>angle</tertiary> + </indexterm> + <para> + Default: <literal>0</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>arcangle=angle</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>arcangle</tertiary> + </indexterm> + <para> + Default: <literal>8</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>ncurv=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>ncurv</tertiary> + </indexterm> + <para> + Default: <literal>.67</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>loopsize=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>loopsize</tertiary> + </indexterm> + <para> + Default: <literal>1cm</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncline*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncline</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncLine*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncLine</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\nccurve*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\nccurve</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncarc*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncarc</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncbar*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncbar</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncdiag*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncdiag</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncdiagg*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncdiagg</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncangle*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncangle</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncangles*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncangles</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\ncloop*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\ncloop</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\nccircle*[par]{arrows}{node}{radius}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\nccircle</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pcline*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pcline</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pccurve*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pccurve</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pcarc*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pcarc</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pcbar*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pcbar</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pcdiag*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pcdiag</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pcangle*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pcangle</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pcloop*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pcloop</tertiary> + </indexterm> + </listitem> + </varlistentry> + </variablelist> + </section> + + <section id="pstricks-attaching"> + <title id="pstricks-attaching-title">Attaching labels to node connections</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>\lput*[refpoint]{rotation}(pos){stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\lput</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\aput*[labelsep]{angle}(pos){stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\aput</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\bput*[labelsep]{angle}(pos){stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\bput</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\mput*[refpoint]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\mput</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\Aput*[labelsep]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\Aput</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\Bput*[labelsep]{stuff}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\Bput</tertiary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + </section> + + <section id="pstricks-coils"> + <title id="pstricks-coils-title">Coils and zigzags</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>\pscoil*[par]{arrows}(x0,y0)(x1,y1)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pscoil</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psCoil*[par]{angle1}{angle2}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psCoil</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pszigzag*[par]{arrows}(x0,y0)(x1,y1)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pszigzag</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>coilwidth=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>coilwidth</tertiary> + </indexterm> + <para> + Default: <literal>1cm</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>coilheight=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>coilheight</tertiary> + </indexterm> + <para> + Default: <literal>1</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>coilarm=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>coilwidth</tertiary> + </indexterm> + <para> + Default: <literal>.5cm</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>coilaspect=angle</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>coilwidth</tertiary> + </indexterm> + <para> + Default: <literal>45</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>coilinc=angle</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>coilinc</tertiary> + </indexterm> + <para> + Default: <literal>10</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\nccoil*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\nccoil</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\nczigzag*[par]{arrows}{nodeA}{nodeB}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\nczigzag</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pccoil*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pccoil</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pczigzag*[par]{arrows}(x1,y1)(x2,y2)</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pczigzag</tertiary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + </section> + + <section id="pstricks-coordinates"> + <title id="pstricks-coordinates-title">Special coordinates</title> + + <para><literal>\SpecialCoor</literal></para> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\SpecialCoor</tertiary> + </indexterm> + + <table frame="none"> + <title>Special coordinates and angles</title> + <tgroup cols="3"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <tbody> + <row rowsep="0"> + <entry><emphasis>Coordinate</emphasis></entry> + <entry><emphasis>Example</emphasis></entry> + <entry><emphasis>Description</emphasis></entry> + </row> + <row rowsep="0"> + <entry>(x,y)</entry> + <entry>(3,4)</entry> + <entry>Cartesian coordinate.</entry> + </row> + <row rowsep="0"> + <entry>(r;a)</entry> + <entry>(3;110)</entry> + <entry>Polar coordinate.</entry> + </row> + <row rowsep="0"> + <entry>(node)</entry> + <entry>(A)</entry> + <entry>Center of node.</entry> + </row> + <row rowsep="0"> + <entry>([par]node)</entry> + <entry>([angle=45]A)</entry> + <entry>Relative to node.</entry> + </row> + <row rowsep="0"> + <entry>(!ps)</entry> + <entry>(!5 3.3 2 exp)</entry> + <entry>Raw PostScript.</entry> + </row> + <row rowsep="0"> + <entry>(coor1|coor2)</entry> + <entry>(A|1in;30)</entry> + <entry>Combination.</entry> + </row> + </tbody> + </tgroup> + + <tgroup cols="3"> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="left"/> + <colspec colsep="0" align="justify"/> + <spanspec namest="1" nameend="3" spanname="3"/> + <tbody> + + <row rowsep="0"> + <entry spanname="3"/> + </row> + + <row rowsep="0"> + <entry><emphasis>Angle</emphasis></entry> + <entry><emphasis>Example</emphasis></entry> + <entry><emphasis>Description</emphasis></entry> + </row> + <row rowsep="0"> + <entry>num</entry> + <entry>45</entry> + <entry>Angle.</entry> + </row> + <row rowsep="0"> + <entry>(coor)</entry> + <entry>(-1,1)</entry> + <entry>Coordinate (vector).</entry> + </row> + <row rowsep="0"> + <entry>!ps</entry> + <entry>!33 sqrt</entry> + <entry>Raw PostScript.</entry> + </row> + </tbody> + </tgroup> + </table> + + <para><literal>\NormalCoor</literal></para> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\NormalCoor</tertiary> + </indexterm> + + </section> + + <section id="pstricks-overlays"> + <title id="pstricks-overlays-title">Overlays</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>\overlaybox stuff\endoverlaybox</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\overlaybox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psoverlay{string}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psoverlay</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\putoverlaybox{string}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\putoverlaybox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>gradbegin=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gradbegin</tertiary> + </indexterm> + <para> + Default: <literal>gradbegin</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>gradend=color</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gradend</tertiary> + </indexterm> + <para> + Default: <literal>gradend</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>gradlines=int</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gradlines</tertiary> + </indexterm> + <para> + Default: <literal>500</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>gradmidpoint=num</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gradmidpoint</tertiary> + </indexterm> + <para> + Default: <literal>.9</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>gradangle=angle</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>gradangle</tertiary> + </indexterm> + <para> + Default: <literal>0</literal> + </para> + </listitem> + </varlistentry> + + </variablelist> + </section> + + <section id="pstricks-path"> + <title id="pstricks-path-title">Typesetting text along a path</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>\pstextpath[pos](x,y){graphics object}{text}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pstextpath</tertiary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + </section> + + <section id="pstricks-stroking"> + <title id="pstricks-stroking-title">Stroking and filling character paths</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>\pscharpath*[par]{text}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pscharpath</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pscharclip*[par]{text} ... \endpscharclip</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pscharclip</tertiary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + </section> + + <section id="pstricks-exporting"> + <title id="pstricks-exporting-title">Exporting EPS files</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>\TeXtoEPS ... \endTeXtoEPS</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\TeXtoEPS</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\PSTtoEPS[par]{file}{graphics objects}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\PSTtoEPS</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>bbllx=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>bbllx</tertiary> + </indexterm> + <para> + Default: <literal>-1pt</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>bblly=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>bblly</tertiary> + </indexterm> + <para> + Default: <literal>-1pt</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>bburx=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>bburx</tertiary> + </indexterm> + <para> + Default: <literal>1pt</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>bbury=dim</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>bbury</tertiary> + </indexterm> + <para> + Default: <literal>1pt</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>headerfile=file</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>headerfile</tertiary> + </indexterm> + <para> + Default: <literal>s</literal> + </para> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>headers=none/all/user</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>parameter</secondary> + <tertiary>headers</tertiary> + </indexterm> + <para> + Default: <literal>none</literal> + </para> + </listitem> + </varlistentry> + + </variablelist> + </section> + + <section id="pstricks-boxes"> + <title id="pstricks-boxes-title">Boxes</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>\psmathboxtrue, \psmathboxfalse</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psmathboxtrue</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psmathboxfalse</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\everypsbox{commands}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\everypsbox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\pslongbox{name}{cmd}</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pslongbox</tertiary> + </indexterm> + </listitem> + </varlistentry> + + <varlistentry> + <term> + <literal>\psverbboxtrue, \psverbboxfalse</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psverbboxtrue</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psverbboxfalse</tertiary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + </section> + + <section id="pstricks-tricks"> + <title id="pstricks-tricks-title">Tips and More Tricks</title> + <variablelist role="db2latex:compact"> + + <varlistentry> + <term> + <literal>\pslbrace, \psrbrace</literal> + </term> + <listitem> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\pslbrace</tertiary> + </indexterm> + <indexterm> + <primary>&pstricks;</primary> + <secondary>commands</secondary> + <tertiary>\psrbrace</tertiary> + </indexterm> + </listitem> + </varlistentry> + + </variablelist> + </section> + + </section> + + <section id="pstricks-add-packages"> + <title id="pstricks-add-packages-title"> + List of Additional &pstricks; Packages</title> + <para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><ulink url="ftp://ftp.dante.de/pub/tex/graphics/pstricks/contrib/psgo/"><literal>psgo</literal></ulink></term> + <listitem> + <simpara>Draw Go diagrams</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="ftp://ftp.dante.de/pub/tex/graphics/pstricks/contrib/pst-blur/"><literal>pst-blur</literal></ulink></term> + <listitem> + <simpara>&pstricks; package for "blurred" shadows</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="http://dominique.rodriguez.9online.fr/pst-eucl/"><literal>pst-euc</literal></ulink></term> + <listitem> + <simpara>GИomИtrie en &latex; et &pstricks;</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="http://www.tug.org/applications/PSTricks/More/pst-fr3d.tar.gz"><literal>pst-fr3d</literal></ulink></term> + <listitem> + <simpara>Three dimensional framed Boxes</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="ftp://ftp.dante.de/pub/tex/graphics/pstricks/contrib/pst-ghsb/"><literal>pst-ghsb</literal></ulink></term> + <listitem> + <simpara>&pstricks; package for HSB Gradients</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="ftp://ftp.dante.de/pub/tex/graphics/pstricks/contrib/pst-gr3d/"><literal>pst-gr3d</literal></ulink></term> + <listitem> + <simpara>&pstricks; package for 3D grids</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="http://members.aol.com/ManuelLuque2/optique.htm"><literal>pst-lens</literal></ulink></term> + <listitem> + <simpara>Optique gИomИtrique</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="ftp://ftp.dante.de/tex-archive/graphics/pstricks/generic/"><literal>pst-node</literal></ulink></term> + <listitem> + <simpara>&pstricks; package for nodes</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="http://members.aol.com/Mluque5130/pst-ob3d.tar.gz"><literal>pst-ob3d</literal></ulink></term> + <listitem> + <simpara>A &pstricks; package for three dimensional + basic objects + </simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="http://www.tug.org/applications/PSTricks/Physics/Oscilloscopes/"><literal>pst-osci</literal></ulink></term> + <listitem> + <simpara>Oscilloscopes with &pstricks;</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="ftp://ftp.dante.de/pub/tex/graphics/pstricks/contrib/pst-poly/"><literal>pst-poly</literal></ulink></term> + <listitem> + <simpara>Polygons with &pstricks;</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="ftp://ftp.dante.de/tex-archive/graphics/pstricks/generic/"><literal>pst-tree</literal></ulink></term> + <listitem> + <simpara>&pstricks; package for trees</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="http://www.ensta.fr/~diam/latex/pst-uml/"><literal>pst-uml</literal></ulink></term> + <listitem> + <simpara>Draw easily diagrams with UML notation</simpara> + </listitem> + </varlistentry> + <varlistentry> + <term><ulink url="http://perso.enst.fr/~lombardy/Vauc/"><literal>vaucansom.sty</literal></ulink></term> + <listitem> + <simpara>Drawing automata</simpara> + </listitem> + </varlistentry> + </variablelist> + </para> + </section> + </section> + </section> + + <section id="fontinst"> + <title id="fontinst-title"> + <filename role="nohyphenation">fontinst</filename> (&tbd;)</title> + <indexterm> + <primary>fontinst</primary> + </indexterm> + <para>&tbd;</para> + </section> + + <section id="context"> + <title id="context-title">&context; (&tbd;)</title> + <indexterm><primary>&context;</primary></indexterm> + <indexterm> + <primary>People</primary> + <secondary>Hagen, Hans</secondary> + </indexterm> + <section id="context-ovw"> + <title id="context-ovw-title">&overview;</title> + <para>&context; is based on &plaintex; and &metapost; and gets + controlled with some Perl scripts. It's mainly targeted towards + layout oriented users and especially useful for presentations. + It's extensible by the use of modules and has in it's base + distribution already a large amount of functionality. + The preferred output format is PDF, but DVI is possible too. + </para> + <para>Some of the unique features of &context; are: + <itemizedlist spacing="compact"> + <listitem> + <simpara>Inline XML (including MathML, ChemML, and PhysML)</simpara> + </listitem> + <listitem> + <simpara>really good XML support in general</simpara> + </listitem> + <listitem> + <simpara>inline &metapost;</simpara> + </listitem> + </itemizedlist> + </para> + </section> + </section> + + <section id="texinfo"> + <title id="texinfo-title">&texinfo; (&tbd;)</title> + <indexterm><primary>&texinfo;</primary></indexterm> + <para>&tbd;</para> + </section> + +</chapter> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-xindy.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-xindy.xml new file mode 100644 index 00000000000..ce1a4c2c1aa --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chapter-xindy.xml @@ -0,0 +1,1434 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> + +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-chapter-xindy.xml 139 2004-08-26 16:58:10Z mw $ --> + + <chapter id="xindy" lang="en"> + <title id="xindy-title">&xindy;</title> + <indexterm><primary>&xindy;</primary></indexterm> + + <note><para>The content of this section was taken from the original + documentation of &xindy; V2.1 + (<filename>Doc/manual*.html</filename>). + </para></note> + + <para><emphasis>xindy</emphasis> means + fle<emphasis>x</emphasis>ible <emphasis>ind</emphasis>exing + s<emphasis>y</emphasis>stem. + It is an indexing system that can be used to generate + book-like indexes for arbitrary document + preparation systems. This term includes systems such as + &tex; and &latex;, the Nroff-family or SGML-based systems + (e.g. HTML) that process some kind of text and generate + indexing information. It is not fixed to any specific system, + but can be configured for a wide variety of purposes. + </para> + + <section id="xindy-command-list"> + <title>Command List</title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Command List</secondary> + </indexterm> + <para>Here is the complete list of xindy's commands that may + be used in the index style. The symbol <literal>name</literal> + always refers to a string. We separate the commands into + the processing and markup commands. The commands are listed + in alphabetical order. + </para> + <para>The parenthesis <literal>[</literal> and + <literal>]</literal> denote optional parts of the syntax + and <literal>{</literal> and <literal>}</literal> denote + the grouping of elements. A vertical bar indicates + alternatives. However, the enclosing round braces + <emphasis>are</emphasis> part of the syntax and + must be supplied. + </para> + + <section id="xindy-command-list-processing"> + <title>Processing Commands</title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + </indexterm> + + <section id="xindy-command-list-processing-define-alphabet"> + <title><literal>define-alphabet</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>define-alphabet</tertiary> + </indexterm> + <para><programlisting>(define-alphabet name string-list)</programlisting></para> + <para>Defines <literal>name</literal> to be the alphabet + consisting of all elements of the + <literal>string-list</literal>. + Examples: + <programlisting>(define-alphabet "example-alphabet" ("An" "Example" "Alphabet"))</programlisting> + defines an alphabet consisting of exactly three symbols. + For the successor relationship holds: + <literal>succ("An")="Example"</literal> and + <literal>succ("Example")="Alphabet"</literal>. The built-in + alphabet <literal>digits</literal> is defined as follows: + <programlisting>(define-alphabet "digits" + ("0" "1" "2" "3" "4" "5" "6" "7" "8" "9"))</programlisting> + </para> + </section> + + <section id="xindy-command-list-processing-define-attributes"> + <title><literal>define-attributes</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>define-attributes</tertiary> + </indexterm> + + <para><programlisting>(define-attributes attribute-list)</programlisting></para> + <para>Defines all attributes the raw index may contain. + Parameter <literal>attribute-list</literal> is a list of + list of strings. The nesting level must not be more than 2. + So <literal>(..(..)..)</literal> is allowed, whereas + <literal>(..(..(..)..)..)</literal> is not. + </para> + <para>The list has two kinds of elements: strings and list + of strings. A single string is treated as if it were a + single element list. So the lists + <literal>("definition")</literal> and + <literal>( ("definition") )</literal> are equivalent. + All elements forming a list are a so-called + <emphasis>attribute group</emphasis>. The members of a group + are written to the output file before any member of the + following groups are written. + </para> + <para>Examples of valid attributes lists are:</para> + <para><literal>("definition" "usage")</literal> defines two + attribute groups. The first one contains all references + with the attribute <literal>definition</literal> and the + second one all with the attribute <literal>usage</literal>. + </para> + <para><literal>(("definition" "important") "usage")</literal> + defines two attribute groups. The first one contains all + references with the attributes <literal>definition</literal> + or <literal>important</literal> and the second one all with + the attribute <literal>usage</literal>. In the attribute + group <literal>("definition" "important")</literal> the + attribute <literal>definition</literal> overrides + <literal>important</literal>. + </para> + </section> + + <section id="xindy-command-list-processing-define-crossref-class"> + <title><literal>define-crossref-class</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>define-crossref-class</tertiary> + </indexterm> + + <para><programlisting>(define-crossref-class name [:unverified])</programlisting></para> + <para>Defines <literal>name</literal> to be a class of + cross references. We distinguish two types of cross + reference classes. <emphasis>Verified</emphasis> cross + reference classes can be checked for dangling references. + If for instance a cross reference points to the + non-existent keyword `foo' a warning is issued and the user + is advised to correct the invalid cross reference. This is + the default. If for some reasons this mechanism must be + deactivated the switch <literal>:unverified</literal> can + be used to suppress this behaviour. + </para> + </section> + + <section id="xindy-command-list-processing-define-letter-group"> + <title><literal>define-letter-group</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>define-letter-group</tertiary> + </indexterm> + + <para><programlisting>(define-letter-group name [:before lgname] [:after lgname] + [:prefixes list-of-prefixes])</programlisting></para> + <para><programlisting>(define-letter-groups list-of-letter-groups)</programlisting></para> + <para>This command defines a letter group with name + <literal>name</literal>, which must be a string value, + grouping all index entries that have a + <emphasis>sort key</emphasis> beginning with the prefix + <literal>name</literal>. The command + <programlisting>(define-letter-group "a")</programlisting> + is equivalent to the command + <programlisting>(define-letter-group "a" :prefixes ("a"))</programlisting> + </para> + <para>Using the latter form one can associate more than one + prefix with a given letter group. Also further prefixes + can be added to an already existing letter group by simply + defining the same letter group again. This results not in + a redefinition but in adding more prefixes to the currently + defined prefixes. + </para> + <para>Example: + <programlisting>(define-letter-group "a")</programlisting> + defines a letter group containing all index entries + beginning with the string <literal>"a"</literal>. + </para> + <para><programlisting>(define-letter-group "c" :after "a")</programlisting> + defines a letter group containing all index entries beginning + with the string <literal>"c"</literal>. The letter group + appears behind the letter group <literal>"a"</literal> + </para> + <para><programlisting>(define-letter-group "b" :after "a" :before "c")</programlisting> + inserts letter group <literal>"b"</literal> between letter + group <literal>"a"</literal> and <literal>"c"</literal>. + This allows incremental definition of letter groups by + extending already defined ones. + </para> + <para>The arguments <literal>:after</literal> and + <literal>:before</literal> define a partial order on the + letter groups. &xindy; tries to convert this partial order + into a total one. If this is impossible due to circular + definitions, an error is reported. If more than one + possible total ordering can result, it is left open + which one is used, so one should always define a complete + total order. + </para> + <para>The command <literal>define-letter-groups</literal> + (with an `s' at the end) is simply an abbreviation for + a sequence of <literal>define-letter-group</literal> + definitions where the elements are ordered in the + ordering given by the list. Example: + <programlisting>(define-letter-groups ("a" "b" "c")</programlisting> + equals the definitions + <programlisting>(define-letter-group "a") +(define-letter-group "b" :after "a") +(define-letter-group "c" :after "b")</programlisting> + </para> + <para>See also commands + <literal>markup-letter-group-list</literal> + and <literal>markup-letter-group</literal> for further + information. + </para> + </section> + + <section id="xindy-command-list-processing-define-location-class"> + <title><literal>define-location-class</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>define-location-class</tertiary> + </indexterm> + + <programlisting>(define-location-class name layer-list + [:min-range-length num] + [:hierdepth depth] + [:var])</programlisting> + + <para>Defines <literal>name</literal> to be a location + class consisting of the given list of layers. A list of + layers consists of names of basetypes and/or strings + representing separators. Separators must follow the + keyword argument <literal>:sep</literal>. If the keyword + <literal>:min-range-length</literal> is specified we + define the <emphasis>minimum range length</emphasis> + to be used when building ranges. The argument + <literal>num</literal> must be a positive integer number + or the keyword <literal>none</literal> in which case + the building of ranges is disallowed. If the switch + <literal>:var</literal> is specified the declared class + is of type <emphasis>variable</emphasis>, i.e. it is a + <emphasis>var-location-class</emphasis>. Since building + of ranges is currently only allowed for standard classes + <literal>:var</literal> and + <literal>:min-range-length</literal> + must not be used together. The keyword argument + <literal>:hierdepth</literal> can be used to declare that + the location references have to be tagged in a + hierarchical form. Its argument <literal>depth</literal> + must be an integer number indicating the number of layers + the hierarchy does contain. See command + <literal>markup-locref-list</literal> for more information. + Examples: + <programlisting>(define-location-class "page-numbers" ("arabic-numbers") + :minimum-range-length 3)</programlisting> + Defines the location class <literal>page-numbers</literal> + consisting of one layer which is the alphabet + <literal>arabic-numbers</literal>. Since the minimum range + length is set to 3 the location references 2, 3 and 4 don't + form a range because the range length is only 2. But the + references 6, 7, 8, and 9 are enough to form a range. Some + example instances of this class are + <literal>0, 1, ... 2313</literal>, etc. + <programlisting>(define-location-class "sections" :var + ("arabic-numbers" :sep "." + "arabic-numbers" :sep "." + "arabic-numbers"))</programlisting> + defines a variable location class. Valid instances are + <literal>1, 1.1, 1.2, 2, 2.4.5</literal>, but none of + <literal>2-3</literal> (wrong separator), + <literal>1.2.3.4</literal> (more than 3 layers), + <literal>2.3.iv</literal> (roman number instead of arabic one). + </para> + </section> + + <section id="xindy-command-list-processing-define-location-class-order"> + <title><literal>define-location-class-order</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>define-location-class-order</tertiary> + </indexterm> + + <para><programlisting>(define-location-class-order list)</programlisting></para> + <para>Defines the order in which the location classes are + written to the output file. The parameter + <literal>list</literal> is a list of names of location + classes. Examples: + <programlisting>(define-location-class-order + ("page-numbers" "sections" "xrefs"))</programlisting> + tells the system that the page numbers should appear before + the section numbers and that the cross references should + appear at the end. If this command is omitted, the + declaration order of the location classes in the index + style is implicitly used as the output order. In the case + that a location class does not appear in the list, the + output may behave unexpectedly, so one should always + enumerate all used location classes when using this command. + </para> + </section> + + <section id="xindy-command-list-processing-define-rule-set"> + <title><literal>define-rule-set</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>define-rule-set</tertiary> + </indexterm> + + <para><programlisting>(define-rule-set name + [ :inherit-from ("rule-set" "rule-set-2") ] + :rules (<rule>...) )</programlisting></para> + <para>A complete specification of a multi-phase sorting process + for a language requires that some rules have to appear + in several subsequent sorting phases. Rule sets can be + used to define a set of rules that can be instantiated in + an arbitrary sorting phase. Basically, they offer means to + separate the definition of sorting rules from their + instantiation, hence, acting as a wrapper for calls + to <literal>sort-rule</literal>. They do not add new + functionality that is not already present with + <literal>sort-rule</literal>. + </para> + <para>A rule can be of the form: + <programlisting><rule> ::= ("pattern" "replacement" + [:string|:bregexp|:egegexp] [:again])</programlisting> + </para> + <para>The following incomplete example defines a new rule + set of name <literal>isolatin1-tolower</literal> that + inherits definitions from rule set + <literal>latin-tolower</literal>, overriding or adding + the sort rules in the list of <literal>:rules</literal>. + <programlisting>(define-rule-set "isolatin1-tolower" + + :inherit-from ("latin-tolower") + + :rules (("?" "?" :string :again) + ("?" "?" :string :again) + ("?" "?" :string :again) + ("?" "?" :string :again) + ("?" "?" :string :again) + ("?" "?" :string :again) + ("?" "?" :string :again) + ... + ) +...)</programlisting> + Rule sets can be instantiated with the command + <literal>use-rule-set</literal>. For further descriptions + on the sorting model refer to the command + <literal>sort-rule</literal>. + </para> + </section> + + <section id="xindy-command-list-processing-define-sort-rule-orientations"> + <title><literal>define-sort-rule-orientations</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>define-sort-rule-orientations</tertiary> + </indexterm> + + <para><programlisting>(define-sort-rule-orientations (orientations...))</programlisting></para> + <para>Defines the order for the different sorting phases. + The currently implemented <emphasis>orientations</emphasis> + are <literal>forward</literal> and + <literal>backward</literal>. + This command must precede all <literal>sort-rule</literal> + commands in an index style. It defines the orientations + and implicitly sets the maximum number of sorting + phases performed. + </para> + <para>For further descriptions on the sorting model refer + to the command <literal>sort-rule</literal>. + </para> + </section> + + <section id="xindy-command-list-processing-merge-rule"> + <title><literal>merge-rule</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>merge-rule</tertiary> + </indexterm> + <para><programlisting>(merge-rule pattern replacement [:again] + [:bregexp | :eregexp | :string])</programlisting></para> + <para>Defines a keyword mapping rule that can be used to + generate the <emphasis>merge key</emphasis> from the + <emphasis>main key</emphasis> of an index entry. This + mapping is necessary to map all keywords that are + differently written but belong to the same keyword + to the same canonical keyword. + </para> + <para>The parameter <literal>pattern</literal> can be a + POSIX-compliant regular expression or an ordinary string. + The implementation uses the GNU Rx regular expression + library which implements the POSIX regular expressions. + Regular expressions (REs) can be specified as + <emphasis>basic regular expressions</emphasis> (BREs) or + <emphasis>extended regular expressions</emphasis> (EREs). + You can use the switch <literal>:bregexp</literal> to + force the interpretation of the pattern as a BRE, or + <literal>:eregexp</literal> to interpret it as an ERE. + If you want xindy to interpret the pattern literally, use + the switch <literal>:string</literal>. If none of these + switches is selected, xindy uses an auto-detection + mechanism to decide, if the pattern is a regular + expression or not. If it recognizes the pattern as + a RE, it interprets it as an ERE by default. + </para> + <para>The parameter <literal>replacement</literal> must be + a string possibly containing the special characters + <literal>&</literal> (substitutes for the complete + match) and <literal>\1 ,..., \9</literal> (substituting + for the <emphasis>n</emphasis>-th submatch. Examples: + <programlisting>(merge-rule "A" "a")</programlisting> + replaces each occurrence of the uppercase letter + <literal>`A'</literal> with its lowercase counterpart. + <programlisting>(merge-rule "\~"([AEOUaeou])" "\1")</programlisting> + transforms the &tex; umlaut-letters into their stripped + counterparts, such that <literal>`\"A '</literal> is + treated as an <literal>`A'</literal> afterwards. + </para> + <para>The following sequences have a special meaning: + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>` ~n '</literal></term> + <listitem> + <para>End of line symbol + (<emphasis>linefeed</emphasis>). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>` ~b '</literal></term> + <listitem> + <para>The ISO-Latin character with the lowest + ordinal number. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>` ~e ' </literal></term> + <listitem> + <para>The ISO-Latin character with the highest ordinal + number. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>` ~~ ' </literal></term> + <listitem> + <para>The tilde character.</para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>` ~" '</literal></term> + <listitem> + <para>The double quote character.</para> + </listitem> + </varlistentry> + </variablelist> + </para> + <para>Tilde characters and double quotes have to be quoted + themselves with a tilde character. The special characters + <literal>` ~b '</literal> and <literal>` ~e '</literal> + allow the definition of arbitrary sorting orders by rules. + In connection with an additional character every position + in the alphabet can be described. E.g. + <literal>` m~e '</literal> is lexicographically placed + between <literal>`m'</literal> and <literal>`n'</literal>. + </para> + <para>Due to efficiency, rules that just exchange characters + or substitute constant character sequences are not treated + as regular expressions. Therefore, instead of using the rule + <programlisting>(merge-rule "[A-Z]" "&")</programlisting> + it is more efficient (though less comfortable) to use + <programlisting>(merge-rule "A" "Ax") +(merge-rule "B" "Bx") +... +(merge-rule "Z" "Zx")</programlisting> + </para> + <para>Usually rules are applied in order of their definition. + Rules with a special prefix precede those that begin with + a class of characters, so that the search pattern + <literal>`alpha'</literal> is checked before + <literal>`.*'</literal>, but <literal>`auto'</literal> and + <literal>`a.*'</literal> are checked in order of their + definition. + </para> + <para>The first rule from a style file that matches the + input is applied and the process restarts behind the + substituted text. If no rule could be applied, the + actual character is copied from the input and the + process continues with the next character. + </para> + <para>Sometimes it is necessary to apply rules anew to the + result of a transformation. By specifying the keyword + argument <literal>:again</literal> in the merge rule the + rule is marked as mutable, which means that after using + this rule the transformation process shall restart + at the same place. E.g. the rule + <programlisting>(merge-rule "\$(.*)\$" "\1" :again)</programlisting> + deletes <emphasis>all</emphasis> surrounding + <literal>`$ '</literal> symbols from the input. + </para> + <para>See also command <literal>sort-rule</literal>.</para> + </section> + + <section id="xindy-command-list-processing-merge-to"> + <title><literal>merge-to</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>merge-to</tertiary> + </indexterm> + + <para><programlisting>(merge-to attr-from attr-to [:drop])</programlisting></para> + <para>A merge rule says that the attribute + <literal>attr-from</literal> can be used to build ranges in + <literal>attr-to</literal>. Both attributes must name valid + attribute names. The switch <literal>:drop</literal> + indicates, that the original location reference with + attribute <literal>attr-from</literal> has to be dropped + (removed), if a successful range was built with location + references in attribute <literal>attr-to</literal>. + A detailed description is given in the section about + processing phases. + </para> + </section> + + <section id="xindy-command-list-processing-require"> + <title><literal>require</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>require</tertiary> + </indexterm> + + <para><programlisting>(require filename)</programlisting></para> + <para>This command allows to load more index style modules. + The module is searched in the directories defined in the + search path. The file is read in and processing of the + current file continues. The argument + <literal>filename</literal> must be a string. This allows + to decompose the index style into several modules that + can be included into the topmost index style file. + Example: + <programlisting>(require "french/alphabet.xdy") +(require "french/sort-rules.xdy") +(require "tex/locations.xdy") +(require "tex/markup.xdy")</programlisting> + Submodules can load other submodules as well. If a file is + required that was already loaded, the + <literal>require</literal> command is simply ignored and + processing continues without including this file twice. + See also command searchpath. + </para> + </section> + + <section id="xindy-command-list-processing-searchpath"> + <title><literal>searchpath</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>searchpath</tertiary> + </indexterm> + + <para><programlisting>(searchpath {path-string | path-list})</programlisting></para> + <para>This command adds the given paths to the list of paths, + xindy searches for index style files. The argument + <literal>path-string</literal> must be a colon-separated + string of directory names. If this path ends with a colon + the default search path is added to the end of the path + list. Example: + <programlisting>(searchpath ".:/usr/local/lib/xindy:/usr/local/lib/xindy/english:")</programlisting> + adds the specified directories to the search path. Since the + last path ends with a colon, the built-in search path is + added at the end. Specifying + <programlisting>(searchpath ("." + "/usr/local/lib/xindy" + "/usr/local/lib/xindy/english" + :default))</programlisting> + yields exactly the same result as the example above. Here + <literal>path-list</literal> must be a list of strings and/or + the keyword(s) <literal>:default</literal> and + <literal>:last</literal>. The keyword + <literal>:default</literal> signifies that the default pathnames + are to be inserted at the specified position in the list. + The keyword <literal>:last</literal> allows to insert the + currently active paths at the indicated position. Since + this allows to insert the built-in paths at any position + and incrementally adding new paths to the search path, + this version of the command ist more flexible than + the first version. + </para> + </section> + + <section id="xindy-command-list-processing-sort-rule"> + <title><literal>sort-rule</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>sort-rule</tertiary> + </indexterm> + + <para><programlisting>(sort-rule pattern replacement [:run level] [:again])</programlisting></para> + <para>Defines a keyword mapping rule that can be used to + generate the <emphasis>sort key</emphasis> of an index entry + from the <emphasis>merge key</emphasis>. This key is used + to sort the index entries lexicographically after they + have been merged using the merge key. + </para> + <para>The argument <literal>:run</literal> indicates that this + rule is only in effect a the specified + <emphasis>level</emphasis> (default is level 0). For a + detailed discussion on the definition of sort rules for + different layers refer to the documentation about the new + sorting scheme (<literal>new-sort-rules</literal>) that + comes with this distribution. + </para> + <para>See command <literal>merge-rule</literal> for more + information about keyword rules. + </para> + </section> + + <section id="xindy-command-list-processing-use-rule-set"> + <title><literal>use-rule-set</literal></title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Processing Commands</secondary> + <tertiary>use-rule-set</tertiary> + </indexterm> + + <para><programlisting>(use-rule-set [:run phase] + [:rule-set ( <rule-set>... ))</programlisting> + </para> + <para>This command instantiates the gives rule sets to be + in effect at sorting phase <literal>phase</literal>. + The order of the rule sets given with argument + <literal>:rule-set</literal> is significant. Rule set + entries of rule set appearing at the beginning of the + list override entries in rule sets at the end + of the list. + </para> + <para>The following example declares that in phase 0 the + rule sets <literal>din5007</literal> and + <literal>isolatin1-tolower</literal> should be active, + whereas in phase 2 the other rule sets have to be applied. + <programlisting>(use-rule-set :run 0 + :rule-set ("din5007" "isolatin1-tolower")) + +(use-rule-set :run 1 + :rule-set ("resolve-umlauts" + "resolve-sharp-s" + "isolatin1-tolower" + ))</programlisting> + </para> + <para>For a discussion on rule sets refer to command + <literal>define-rule-set</literal>. + </para> + </section> + </section> + + <section id="xindy-command-list-markup"> + <title>Markup Commands</title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Command List</secondary> + <tertiary>Markup Commands</tertiary> + </indexterm> + + <para>The following commands can be used to define the + markup of the index. They don't have any influence + on the indexing process. Since the markup scheme is + characterized by the concept of + <emphasis>environments</emphasis>, the syntax and naming + scheme of all commands follows a simple structure. + </para> + <para>The commands can be separated into + <emphasis>environment</emphasis> and + <emphasis>list-environment</emphasis> commands. All + commands of the first group support the keyword arguments + <literal>:open</literal> and <literal>:close</literal>, + whereas the second group additionally supports the keyword + argument <literal>:sep</literal>. If one of these keyword + arguments is missing, the default markup tag is always + the empty tag. The <literal>:open</literal> tag is always + printed before the object itself and the + <literal>:close</literal> tag is always printed after the + object has been printed. If a list is printed the + <literal>:sep</literal> tag is printed between two elements + of the list but not before the first element, or after the + last one. All commands dealing with a list have the suffix + <literal>`-list'</literal> as part of their command name. + </para> + <para>Since the number of commands and the heavy usage of + <emphasis>default</emphasis> and + <emphasis>specialized</emphasis> tags makes the markup + somehow complex (but very powerful) we have added a + mechanism to trace the markup tags xindy omits during + its markup phase with the command + <literal>markup-trace</literal>. + </para> + <para>Here follows the list of markup commands in alphabetical + order with some of the commands grouped together. + </para> + + <section> + <title><literal>markup-attribute-group-list</literal></title> + <para><programlisting>(markup-attribute-group-list [:open string] [:close string] + [:sep string]) + +(markup-attribute-group [:open string] [:close string] + [:group group-num])</programlisting> + </para> + <para>Location class groups consist of lists of attribute + groups. The markup of this list can be defined with the + command <literal>markup-attribute-group-list</literal>. + </para> + <para>To allow different markup for different attribute + groups the command <literal>markup-attribute-group</literal> + can be specialized on the group number with the keyword + argument <literal>:group</literal> which must be an integer + number. E.g., given are the groups + <literal>("definition" "theorem")</literal> and + <literal>("default")</literal> with group numbers 0 and 1, + then + <programlisting>(markup-attribute-group :open "<group0>" :close </group0>" + :group 0) + +(markup-attribute-group :open "<group1>" :close "</group1>" + :group 1)</programlisting> + can be used to assign different markup for both groups + in a SGML-based language. + </para> + </section> + + <section> + <title><literal>markup-crossref-list</literal></title> + <para><programlisting>(markup-crossref-list [:open string] [:close string] + [:sep string] + [:class crossref-class]) + +(markup-crossref-layer-list [:open string] [:close string] + [:sep string] + [:class crossref-class]) + +(markup-crossref-layer [:open string] [:close string] + [:class crossref-class])</programlisting> + </para> + <para>A crossref class group contains cross references of the + same class. The separator between the classes is defined with + the <literal>(markup-locclass-list :sep)</literal>-parameter. + A list of cross references can be tagged with the + <literal>command markup-crossref-list</literal> that + specializes on the <literal>:class</literal> argument. + </para> + <para>Each cross reference is determined by a list of layers + indicating the target of the cross reference. To define a + suitable markup for such a list the + <literal>command markup-crossref-layer-list</literal> + can be used. + </para> + <para>Each layer of a cross reference can be assigned two tags + that specialize on the class of the reference, like all + other commands. + </para> + <para>A suitable markup for a cross reference class + <literal>see</literal> within &latex2e; could look like that: + <programlisting>(markup-crossref-list :class "see" :open "\emph{see} " + :sep "; ") +(markup-crossref-layer-list :class "see" :sep ",") +(markup-crossref-layer :class "see" + :open "\textbf{" :close "}")</programlisting> + An example output could look like + <literal>... see house; garden,winter; greenhouse</literal> + </para> + </section> + + <section> + <title><literal>markup-index</literal></title> + <para><programlisting>(markup-index [:open string] [:close string] + [ :flat | :tree | :hierdepth depth ])</programlisting> + </para> + <para>Defines the markup tags that enclose the whole index + via the <literal>:open</literal> and + <literal>:close</literal> parameters. Examples: + <programlisting>(markup-index :open "Here comes the index~n" + :close "That's all folks!~n")</programlisting> + defines that the <literal>:open</literal> string is printed + before the rest of the index and the <literal>:close</literal> + string appears after the index is printed. + </para> + <para>Additionally one can specify the form of the generated + index. It is possible to produce flat indexes by specifying + the switch <literal>:flat</literal>, to generate a tree with + the <literal>:tree</literal> switch or any kind of mixture + between both by specifying the depth up to which trees shall + be built with the parameter <literal>:hierdepth</literal>. + Its argument depth is the number of layers that can be formed + into a tree. Therefore <literal>:flat</literal> is an + abbrevation of <literal>:hierdepth 0</literal> and + <literal>:tree</literal> is an abbrevation of + <literal>:hierdepth max-depth</literal>, with + <literal>max-depth</literal> being the maximum number of + layers a keyword has. An example: the keywords + <programlisting>("tree" "binary" "AVL") +("tree" "binary" "natural")</programlisting> + can be transformed in the following ways: + </para> + <para>A flat index (<literal>:flat</literal> or + <literal>:hierdepth 0</literal>) + <programlisting>tree binary AVL +tree binary natural</programlisting> + with <literal>:hierdepth 1</literal> + <programlisting>tree + binary AVL + binary natural</programlisting> + and a tree (<literal>:tree</literal> or + <literal>:hierdepth > 1</literal>) + <programlisting>tree + binary + AVL + natural</programlisting> + Most often one will create tree-like indexes or + ones that are flat. + </para> + </section> + + <section> + <title><literal>markup-indexentry-list</literal></title> + <para><programlisting>(markup-indexentry-list [:open string] [:close string] + [:sep string] [:depth integer]) + +(markup-indexentry [:open string] [:close string] + [:depth integer])</programlisting> + </para> + <para>Letter groups consists of a list of index entries. The + command <literal>markup-indexentry-list</literal> defines + the markup of these lists. The markup can be specialized + on the depth if the index is hierarchically organized. + The command + <programlisting>(markup-indexentry-list :open "\begin{IdxentList}" + :close "\end{IdxentList}" + :sep "~n")</programlisting> + defines that the index entries of all layers are wrapped + into the given markup tags. If additionally + <programlisting>(markup-indexentry-list :open "\begin{IdxentListII}" + :close "\end{IdxentListII}" + :sep "~n" + :depth 2)</programlisting> + is defined, all index entry lists of all layers (except + layer 2) are tagged according to the first specification, + and the index entry list within depth 2 are tagged + according to the second rule. + </para> + <para>The command <literal>markup-indexentry</literal> defines + the markup of an index entry at a given depth. Since + index entries may also contain subentries and the markup + for subentries may be different in different layers, + the optional keyword argument <literal>:depth</literal> + can be used to assign different markup for different layers. + If depth is ommited the default markup for all possible + depths is defined. The top-most index entries have depth 0. + </para> + <para><programlisting>(markup-indexentry :open "\begin{Indexentry}" + :close "\end{Indexentry}")</programlisting> + defines that the index entries of all layers are wrapped into + the given markup tags. If additionally + <programlisting>(markup-indexentry :open "\begin{IndexentryII}" + :close "\end{IndexentryII}" + :depth 2)</programlisting> + is defined, all index entries of all layers (except layer 2) + are tagged according to the first specification, and the + index entries with depth 2 are tagged according to the + second rule. + </para> + </section> + + <section> + <title><literal>markup-keyword-list</literal></title> + <para><programlisting>(markup-keyword-list [:open string] [:close string] + [:sep string] [:depth integer]) + +(markup-keyword [:open string] [:close string] + [:depth integer])</programlisting> + </para> + <para>The print key of an index entry consists of a list of + strings. The markup of this list can be defined with the + command <literal>markup-keyword-list</literal>. The keyword + argument <literal>:depth</literal> may be specified to + define the markup of the list at a particular depth. + </para> + <para>The keyword of an index entry consists of a list of + strings. Each of these components is tagged with the + strings defined with the command + <literal>markup-keyword</literal>. Since we maybe need + different markup for different layers, the optional + keyword argument can be used to specialize this + markup for some depth. + </para> + </section> + + <section> + <title><literal>markup-letter-group-list</literal></title> + <para><programlisting>(markup-letter-group-list [:open string] [:close string] + [:sep string]) + +(markup-letter-group [:open string] [:close string] [:group group-name] + [:open-head string] [:close-head string] + [:upcase | :downcase | :capitalize])</programlisting> + </para> + <para>The first command defines the markup of the letter + group with name <literal>group-name</literal>. Since the + markup of letter groups often contains the name of the + letter group as a part of it, the other keyword arguments + allow an additional markup for this group name. If one of + the parameters <literal>:open-head</literal> and + <literal>:close-head</literal> is specified additional markup + is added as can be described as follows: + <programlisting><OPEN> + IF (:open-head OR :close-head) + <OPEN-HEAD> + transformer-of(<GROUP-NAME>) + <CLOSE-HEAD> + FI + <INDEXENTRIES...> +<CLOSE></programlisting> + Here, <literal>transformer-of</literal> is a function that + possibly transforms the string representing the group + name into another string. The transformers we currently + support can be specified with the switches + <literal>:upcase</literal>, <literal>:downcase</literal> + and <literal>:capitalize</literal> which result in the + corresponding string conversions. If none of them is + specified no transformation is done at all. + </para> + <para>The command <literal>markup-letter-group</literal> + defines the markup of the list of letter groups. + </para> + </section> + + <section> + <title><literal>markup-locclass-list</literal></title> + <para><programlisting>(markup-locclass-list [:open string] [:close string] + [:sep string])</programlisting> + </para> + <para>Each index entry contains a list of location class groups. + This markup command can be used to define the markup of + this list. + </para> + </section> + + <section> + <title><literal>markup-locref</literal></title> + <para><programlisting>(markup-locref [:open string] [:close string] + [:class locref-class] + [:attr attribute] + [:depth integer])</programlisting> + </para> + <para>The markup tags of a location reference can be + specialized on the three arguments <literal>:class</literal>, + <literal>:attr</literal> and additionally, if + sub-references are used, <literal>:depth</literal>. + Most often one will only use a tag depending on the + attribute. For example, all location references with the + attribute <literal>definition</literal> should appear in + a font series like bold, emphasizing the importance of + this location reference; those with the attribute + <literal>default</literal> in font shape italic. The + markup in this case would not specialize on the depth + or any particular class. A valid definition, suitable + for a usage within HTML, could look like this. + <programlisting>(markup-locref :open "<B>" :close "</B>" :attr "definition") +(markup-locref :open "<I>" :close "</I>" :attr "default")</programlisting> + </para> + </section> + + <section> + <title><literal>markup-locref-class</literal></title> + <para><programlisting>(markup-locref-class [:open string] [:close string] + [:class locref-class])</programlisting> + </para> + <para>All location references of a particular location + reference class can be wrapped into the tags defined + by this command. It specializes on the keyword + argument <literal>:class</literal>. + </para> + </section> + + <section> + <title><literal>markup-locref-layer</literal></title> + <para><programlisting>(markup-locref-layer [:open string] [:close string] + [:depth integer] [:layer integer] + [:class locref-class]) + +(markup-locref-layer-list [:open string] [:close string] + [:sep string] + [:depth integer] + [:class locref-class])</programlisting> + </para> + <para>A location reference contains a list of location reference + layers. The second markup command can be used to markup this + list. It specializes on the class of the location references + and the depth (if sub-references are used). + </para> + <para>The first command allows to tag the elements of a layer + list differently. The first element of this list can is + specialisable with <literal>:layer 0</literal>, the next + element with <literal>:layer 1</literal>, etc. See the next + example for an example. + </para> + </section> + + <section> + <title><literal>markup-locref-list</literal></title> + <para><programlisting>(markup-locref-list [:open string] [:close string] [:sep string] + [:depth integer] [:class locref-class])</programlisting> + </para> + <para>An attribute group contains a list of location + references and/or ranges. Additionally a layered + location reference itself may contain sub-references + that are stored as a list of location references. We + specialize the markup for these lists on the location + class they belong to with the keyword argument + <literal>:class</literal>, and on <literal>:depth</literal> + that specializes on the different subentry levels when using + location references with sub-references. + </para> + <para>Given is a list of location references that have the + class description + <programlisting>(define-location-class "Appendix" + ("ALPHA" :sep "-" "arabic-numbers") + :hierdepth 2)</programlisting> + </para> + <para>This location class has instances like + <literal>A-1</literal>, <literal>B-5</literal>, etc. The + keyword argument <literal>:hierdepth 2</literal> informs + &xindy; to markup these location references in a + hierarchical form. With the commands + <programlisting>(markup-locref-list :sep "; " + :depth 0 :class "Appendix") +(markup-locref-list :open " " :sep "," + :depth 1 :class "Appendix") +(markup-locref-layer :open "{\bf " :close "}" :layer 0 + :depth 0 :class "Appendix")</programlisting> + we obtain a markup sequence for some example data that + could look like + <programlisting> \bf A} 1,2,5; {\bf B} 5,6,9; {\bf D} 1,5,8; ...</programlisting> + </para> + </section> + + <section> + <title><literal>markup-range</literal></title> + <programlisting>(markup-range [:open string] [:close string] [:sep string] + [:class locref-class] + [:length num] [:ignore-end])</programlisting> + + <para>A range consists of two location references. Markup + can be specified with the <literal>:open</literal> and + <literal>:close</literal> arguments and one separator given + by the argument <literal>:sep</literal>.</para> + <para>Since both location references are tagged with markup + defined by the command <literal>markup-locref</literal> a + specialization on attributes or depth is not necessary. + Specialization is allowed on the class they belong to, + because the separator between two location refences may be + different for each location class. Argument + <literal>:length</literal> can be used to define different + markup for different lengths. In conjunction with + <literal>:length</literal> is may be useful not to print + the second location reference at all. For example, one + wishes to markup ranges of length 1 in the form Xf. instead + of X--Y. This can be accomplished with the switch + <literal>:ignore-end</literal>.</para> + <para>The markup tags for a range (X,Y) can be described + as follows: + <programlisting><OPEN> + Markup of location reference X +<SEP> + IF (not :ignore-end) + Markup of location reference Y + FI +<CLOSE></programlisting> + </para> + <para>The following tags can be used to define a range of + page numbers (given in a location class + <literal>page-numbers</literal>) without considering the + open and close parameters: + <programlisting>(markup-range :sep "-" :class "page-numbers")</programlisting> + </para> + <para>Location ranges then appear separated by a hyphen in a + form like this: + <programlisting> ..., 5-8, 19-23, ...</programlisting> + </para> + </section> + + <section> + <title><literal>(markup-trace [:on] [:open string] [:close string])</literal></title> + <para>This command can be used to activate the tracing of + all markup commands xindy executes. The switch + <literal>:on</literal> activates the trace. If + <literal>:on</literal> is omitted, the command line + flag <literal>-t</literal> can be used as well. All tags + which are emitted but not yet defined explicitly by the + user are tagged with a symbolic notation indicating the + commands that must be used to define this tag. The defaults + for the keyword argument <literal>:open</literal> is + <literal>`<'</literal> and for <literal>:close</literal> + is <literal>`>'</literal>. The beginning of an example + output could look like: + <programlisting><INDEX:OPEN> + <LETTER-GROUP-LIST:OPEN> + <LETTER-GROUP:OPEN ["a"]> + <INDEXENTRY-LIST:OPEN [0]> + <INDEXENTRY:OPEN [0]> + <KEYWORD-LIST:OPEN [0]> + <KEYWORD:OPEN [0]> + ...</programlisting> + </para> + <para>We use a simple indentation scheme to make the structure + of the tags visible. The symbolic tag + <literal><LETTER-GROUP:OPEN ["a"]></literal> for + example indicates that the tag that can be specified with + the command + <programlisting>(markup-letter-group :open "XXX" :group "a" ... )</programlisting> + is emitted at this point in the markup process. By + incrementally adding markup commands to the index, more + and more tags can be defined until the whole markup is + defined. This general mechanism should allow everyone + understand the markup process. The best is to start with + a small index, define the complete markup and afterwards + process the whole index. Additionally one can enclose + the symbolic tags into an environment that is neutral + to the document preparation system, such as a comment. + For TeX this could be + <programlisting>(markup-trace :open "%%" :close "~n")</programlisting> + or a definition in the TeX document like + <programlisting>\def\ignore#1{}</programlisting> + combined with the command + <programlisting>(markup-trace :open "\ignore{" :close "}")</programlisting> + </para> + </section> + + </section> + + <section id="xindy-command-list-raw-index"> + <title>Raw Index Interface</title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Command List</secondary> + <tertiary>Raw Index Interface</tertiary> + </indexterm> + <para>This section can be skipped if the reader is not + interested in adapting xindy to a new document + preparation system. + </para> + <para>The raw index is the file that represents the index + that is to be processed. Since many different document + preparation systems may use different forms of index + representations, their output must be transformed in a + form readable by xindy. We also could have written an + configurable parser performing this task, but usually + a tool written with some text processing tools such as + <command>perl</command>, <command>sed</command> or + <command>awk</command> can achieve the same task as well. + Therefore, adapting xindy to a completely different system + can mostly be done by writing an appropriate raw index filter. + </para> + <para>The format of the raw index interface of xindy is + defined as follows: + </para> + <programlisting>(indexentry { :key string-list [:print string-list] + | :tkey list-of-layers } + [:attr string] + { :locref string [:open-range | :close-range] + | :xref string-list } )</programlisting> + <para>The pseudo variable <emphasis>string</emphasis> is a + sequence of characters surrounded by double quotes, e.g. + <programlisting>"Hi, it's me" "one" "a string with two \"double quotes\""</programlisting> + are three examples of valid strings. If you need to include + a double quote as a literal character, you must quote it + itself with a backslash as shown in the third example. + A <emphasis>string list</emphasis> is simply a list of strings + separated by whitespaces and surrounded by round braces. + An example of a string list is + <programlisting>("This" "is" "a" "list" "of" "strings")</programlisting> + </para> + <para>So far about the syntax. The semantics of the + different elements are described here. + </para> + <variablelist role="db2latex:compact"> + <varlistentry> + <term><literal>:key</literal></term> + <listitem> + <para>The argument <emphasis>string list</emphasis> + defines the keyword of the index entry. It must be + a list of strings, since the keyword may consist of + different layers such as + <literal>("heap" "fibonacci")</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>:print</literal></term> + <listitem> + <para>The optional <emphasis>print key</emphasis> defines + the way the keyword has to be printed in the markup phase. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>:tkey</literal></term> + <listitem> + <para>Another possibility to define the keys of an index + entry is with the <literal>:tkey</literal> keyword + argument. It can be used instead of the + <literal>:key</literal> and <literal>:print</literal> + arguments. Instead of specifying separately the key + and the corresponding print key, we define the keyword + by its layers. Each layer consist of a list of one or + two strings. The first string will be interpreted as the + main key, whereas the second one will become the print + key. If the print key is ommited, the main key is taken + instead. So the definition + <programlisting>:tkey (("This") ("is") ("a") ("bang" "BANG !!!"))</programlisting> + is equivalent to + <programlisting>:key ("This" "is" "a" "bang") +:print ("This" "is" "a" "BANG !!!")</programlisting> + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>:locref</literal></term> + <listitem> + <para>The reference an index entry describes can be a + <emphasis>location reference</emphasis> or a + <emphasis>cross reference</emphasis>. The switch + <literal>:locref</literal> describes a location + reference. Its optional arguments are + <literal>:open-range</literal> and + <literal>:close-range</literal>. The + <emphasis>string</emphasis> that must be supplied must + somehow encode the location reference. It might look + like the string <literal>"25"</literal> representing + the page number 25, or <literal>"Appendix-I"</literal> + representing the first appendix numbered in + uppercase roman numerals. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>:open-range,:close-range</literal></term> + <listitem> + <para>These are switches that do not take any arguments. + They describe the beginning and ending of a + <emphasis>range</emphasis>, starting or ending from + the location reference that is given by the argument + <literal>:locref</literal>. If they are supplied, + the location reference may have influence on the + way ranges are build. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>:xref</literal></term> + <listitem> + <para>These arguments choose the second alternative. + The argument <emphasis>string list</emphasis> of + parameter <literal>:xref</literal> describes where + the index entry should point to. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term><literal>:attr</literal></term> + <listitem> + <para>This parameter may be used to tag a location + reference with a certain attribute or it names the + class of a cross reference. It may also used to + associate different markup for different attributes + in the markup phase. If this parameter is omitted + or is the empty string, the indexentry is declared + to have the attribute <literal>default</literal>. + </para> + </listitem> + </varlistentry> + </variablelist> + <para>Some examples: + <programlisting>(indexentry :key ("airplane") :locref "25" :attr "default")</programlisting> + defines an index entry with the key + <emphasis>airplane'</emphasis> indexed on page + <emphasis>25'</emphasis>. This index entry has the + attribute <literal>default</literal>. + </para> + <para><programlisting>(indexentry :key ("house") :xref("building") :attr "see")</programlisting> + defines a cross reference with the key + <literal>house</literal> pointing to the term + <literal>building</literal>. This cross reference belongs to + the cross reference class <literal>see</literal>. + </para> + <para><programlisting>(indexentry :key ("house") :xref("building") :open-range)</programlisting> + is an invalid specification, since + <literal>:open-range</literal> + mustn't be used together with cross references. + </para> + </section> + + </section> + + <section id="xindy-invoking"> + <title>Invoking xindy</title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Invoking</secondary> + </indexterm> + + <section id="xindy-invoking-cmdline"> + <title>Command Line Options</title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Invoking</secondary> + <tertiary>Command Line Options</tertiary> + </indexterm> + <para>The following command line options are accepted:</para> + <programlisting>xindy [-h] [-t] [-v] [-l logfile] [-o outfile] + [-L n] [-f filterprog] + indexstyle raw-index</programlisting> + <para>The argument <literal>indexstyle</literal> names a file, + containing the index style description. The argument + <literal>raw-index</literal> names a file, containing + the raw index. Both arguments are mandatory. + </para> + + <para><variablelist role="db2latex:compact"> + <varlistentry> + <term>-h</term> + <listitem> + <para>Gives a short summary of all command line options. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>-l</term> + <listitem> + <para>Writes helpful information into the + specified <literal>logfile</literal>. For example, + the keyword mappings are written into this file, + so one can check if the intended mappings were + actually performed this way. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>-o</term> + <listitem> + <para>Explicitly defines the name of the + <literal>output</literal> file. + If not given, the name of the + <literal>raw-index</literal> is used with + its extension changed to <literal>.ind</literal> + (or added, if it had no extension at all). + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>-t</term> + <listitem> + <para>Enters tracing mode of the symbolic markup tags. + The format of the emitted tags can be defined with + the command <literal>markup-trace</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>-L</term> + <listitem> + <para>Set the xindy logging-level to <literal>n</literal>. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>-f</term> + <listitem> + <para>Run <literal>filterprog</literal> on + <literal>raw-index</literal> before reading. + The program must act as a filter reading from + <literal>stdin</literal> and writing to + <literal>stdout</literal>. The most obvious use + of this option in conjunction with TeX is to run + <literal>-f tex2xindy</literal> on the index file + prior to reading the entries into xindy. + </para> + </listitem> + </varlistentry> + <varlistentry> + <term>-v</term> + <listitem> + <para>Shows the version number of xindy. + </para> + </listitem> + </varlistentry> + </variablelist> + Errors and warnings are reported to <literal>stdout</literal> + and additionally to the logfile if <literal>-l</literal> + was specified. + </para> + </section> + + <section id="xindy-search-path"> + <title>Search Path</title> + <indexterm> + <primary>&xindy;</primary> + <secondary>Invoking</secondary> + <tertiary>Search Path</tertiary> + </indexterm> + <para>The system uses the concept of a search path for + finding the index style files and modules. The searchpath + can be set with the environment variable + <envar>XINDY_SEARCHPATH</envar> which must contain a + list of colon-separated directories. If it ends with a + colon, the built-in searchpath is added to the entire + searchpath. See the command + <link linkend="xindy-command-list-processing-searchpath">searchpath</link> + for further details. + </para> + </section> + + </section> + +</chapter> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-chunk.xsl b/Master/texmf-doc/source/english/tex-refs/tex-refs-chunk.xsl new file mode 100644 index 00000000000..d55d0c48c13 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-chunk.xsl @@ -0,0 +1,151 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0" + xmlns="http://www.w3.org/TR/xhtml1/transitional" + exclude-result-prefixes="#default"> + + <!-- $Id: tex-refs-chunk.xsl 142 2004-10-24 15:13:24Z mw $ --> + + <!-- FIXME: XHTML --> + <!-- <xsl:import href="file:///home/mw/docbook-xsl/html/chunk.xsl"/> --> + <!-- we use an XML catalog to resolve this file --> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"/> + + <!-- import common customizations --> + <xsl:import href="tex-refs-common.xsl"/> + + <!-- insert customization here --> + + <xsl:param name="default.encoding" select="'ISO-8859-1'"/> + + <xsl:param name="use.id.as.filename" select="'1'"/> + <xsl:param name="section.autolabel" select="1"/> + <xsl:param name="html.stylesheet" select="'../tex-refs.css'"/> + + <!-- chunking options --> + <xsl:param name="chunk.fast" select="1"/> + + <!-- Chunk the first top-level section? --> + <xsl:param name="chunk.first.sections" select="0"/> + + <!-- Depth to which sections should be chunked --> + <xsl:param name="chunk.section.depth" select="1"/> + + <xsl:param name="process.source.toc">1</xsl:param> + + <!-- How deep should recursive sections appear in the TOC? --> + <xsl:param name="toc.section.depth">2</xsl:param> + + <!-- Control depth of TOC generation in sections --> + <xsl:param name="generate.section.toc.level" select="2"/> + + <xsl:param name="section.label.includes.component.label" select="1"/> + + <xsl:param name="chunker.output.method" select="'html'"/> + + <!-- no titles in headers and footers --> + <!--<xsl:param name="navig.showtitles" select="0"/> --> + + <!-- exchange header --> + <xsl:template name="header.navigation"> + <xsl:param name="prev" select="/foo"/> + <xsl:param name="next" select="/foo"/> + <xsl:param name="nav.context"/> + + <xsl:variable name="home" select="/*[1]"/> + <xsl:variable name="up" select="parent::*"/> + + <xsl:variable name="row1" select="$navig.showtitles != 0"/> + <xsl:variable name="row2" select="count($prev) > 0 + or (count($up) > 0 + and generate-id($up) != generate-id($home) + and $navig.showtitles != 0) + or count($next) > 0"/> + + <xsl:if test="$suppress.navigation = '0' and $suppress.header.navigation = '0'"> + <div class="navheader"> + <xsl:if test="$row1 or $row2"> + <table width="100%" summary="Navigation header"> + <xsl:if test="$row1"> + <tr> + <th colspan="3" align="center"> + <xsl:choose> + <xsl:when test="count($up) > 0 + and generate-id($up) != generate-id($home) and $navig.showtitles != 0"> + <xsl:apply-templates select="$up" mode="object.title.markup"/> + </xsl:when> + <xsl:otherwise> </xsl:otherwise> + </xsl:choose> + </th> + </tr> + </xsl:if> + + <xsl:if test="$row2"> + <tr> + <td width="20%" align="left"> + <xsl:if test="count($prev)>0"> + <a accesskey="p"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$prev"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'prev'"/> + </xsl:call-template> + </a> + </xsl:if> + <xsl:text> </xsl:text> + </td> + <th width="60%" align="center"> + <xsl:apply-templates select="." mode="object.title.markup"/> + </th> + <td width="20%" align="right"> + <xsl:text> </xsl:text> + <xsl:if test="count($next)>0"> + <a accesskey="n"> + <xsl:attribute name="href"> + <xsl:call-template name="href.target"> + <xsl:with-param name="object" select="$next"/> + </xsl:call-template> + </xsl:attribute> + <xsl:call-template name="navig.content"> + <xsl:with-param name="direction" select="'next'"/> + </xsl:call-template> + </a> + </xsl:if> + </td> + </tr> + </xsl:if> + </table> + </xsl:if> + <xsl:if test="$header.rule != 0"> + <hr/> + </xsl:if> + </div> + </xsl:if> + </xsl:template> + + <!-- FIXME: XHTML + <xsl:param name="chunker.output.doctype-public" + select="'-//W3C//DTD XHTML 4.01 Transitional//EN'"/> + <xsl:param name="chunker.output.doctype-system" + select="'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'"/> + --> + + <!-- this enables generation of TOC in appendix + <xsl:param name="generate.toc"> +appendix toc +article/appendix toc +article toc +book toc,title,figure,table,example,equation +sect1 toc +sect2 toc +sect3 toc +sect4 toc +sect5 toc +section toc + </xsl:param> + --> + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-common.xsl b/Master/texmf-doc/source/english/tex-refs/tex-refs-common.xsl new file mode 100644 index 00000000000..edb8623bb5f --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-common.xsl @@ -0,0 +1,68 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0" + xmlns="http://www.w3.org/TR/xhtml1/transitional" + exclude-result-prefixes="#default"> + + <!-- $Id: tex-refs-common.xsl 137 2004-06-21 09:45:54Z mw $ --> + + <!-- Common customizations for all stylesheets --> + + <xsl:template match="toc"/> + + <!-- this omits the trailing '.' in numbered sections --> + <xsl:param name="autotoc.label.separator" select="' '"/> + <xsl:param name="local.l10n.xml" select="document('')"/> + + <l:i18n xmlns:l="http://docbook.sourceforge.net/xmlns/l10n/1.0"> + <l:l10n language="en"> + <l:context name="title-numbered"> + <l:template name="section" text="%n %t"/> + </l:context> + </l:l10n> + </l:i18n> + + <!-- override template for revhistory table --> + <xsl:template match="revhistory" mode="titlepage.mode"> + <xsl:variable name="numcols"> + <xsl:choose> + <xsl:when test="//authorinitials">3</xsl:when> + <xsl:otherwise>2</xsl:otherwise> + </xsl:choose> + </xsl:variable> + + <div xmlns="http://www.w3.org/1999/xhtml" class="{name(.)}"> + <table border="2" cellspacing="4" width="100%" summary="Revision history"> + <tr> + <th align="left" valign="top" colspan="{$numcols}"> + <b> + <xsl:call-template name="gentext"> + <xsl:with-param name="key" select="'RevHistory'"/> + </xsl:call-template> + </b> + </th> + </tr> + <xsl:apply-templates mode="titlepage.mode"> + <xsl:with-param name="numcols" select="$numcols"/> + </xsl:apply-templates> + </table> + </div> + </xsl:template> + + <xsl:template match="symbol"> + <xsl:param name="entity"><xsl:value-of select="." /></xsl:param> + <xsl:choose> + <xsl:when test="$entity='--'"><xsl:text>-</xsl:text></xsl:when> + <xsl:when test="$entity='BibTeX'"><xsl:text>BibTeX</xsl:text></xsl:when> + <xsl:when test="$entity='LaTeX'"><xsl:text>LaTeX</xsl:text></xsl:when> + <xsl:when test="$entity='LaTeX2e'"><xsl:text>LaTeX2e</xsl:text></xsl:when> + <xsl:when test="$entity='Makeindex'"><xsl:text>Make-Index</xsl:text></xsl:when> + <xsl:when test="$entity='PiCTeX'"><xsl:text>PiCTeX</xsl:text></xsl:when> + <xsl:when test="$entity='TeX'"><xsl:text>TeX</xsl:text></xsl:when> + <xsl:otherwise> + <xsl:call-template name="inline.charseq"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-htmlhelp.xsl b/Master/texmf-doc/source/english/tex-refs/tex-refs-htmlhelp.xsl new file mode 100644 index 00000000000..cda38a96cb8 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-htmlhelp.xsl @@ -0,0 +1,15 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0" + xmlns="http://www.w3.org/TR/xhtml1/transitional" + exclude-result-prefixes="#default"> + + <!-- $Id: tex-refs-htmlhelp.xsl 120 2004-03-26 20:19:43Z mw $ --> + + <xsl:import href="file:///home/mw/docbook-xsl-1.62.4/htmlhelp/htmlhelp.xsl"/> + + <!-- insert customization here --> + <xsl:param name="use.id.as.filename" select="'1'"/> + <xsl:param name="htmlhelp.chm" select="'tex-refs.chm'"/> + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-local.mapping.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-local.mapping.xml new file mode 100644 index 00000000000..7a00d019d20 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-local.mapping.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> + +<!-- $Id: tex-refs-local.mapping.xml 137 2004-06-21 09:45:54Z mw $ --> + +<latexbindings> + + <!-- LaTeX mapping, role, BEGIN --> + <latexmapping role="begin"> + <mapping key="revhistory" text=""> + <line> </line> + <line>\pagebreak </line> + <line>\chapter*{%title%} </line> + <line>\label{%id%}\hypertarget{%id%}{}% </line> + <line>\begin{tabular}{@{}lll@{}} </line> + </mapping> + </latexmapping> + + <!-- LaTeX mapping, role, END --> + <latexmapping role="end"> + <mapping key="revhistory" text=""> + <line>\end{tabular} </line> + </mapping> + </latexmapping> + + +</latexbindings> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-pdf.xsl b/Master/texmf-doc/source/english/tex-refs/tex-refs-pdf.xsl new file mode 100644 index 00000000000..e3508e53d5d --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-pdf.xsl @@ -0,0 +1,584 @@ +<?xml version="1.0" encoding="ISO-8859-1"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> + + <!-- $Id: tex-refs-pdf.xsl 146 2005-05-14 15:34:22Z mw $ --> + + <!-- we use an XML catalog to resolve this file --> + <xsl:import href="http://db2latex.sourceforge.net/xsl/docbook.xsl"/> + + <xsl:output method="text" encoding="ISO-8859-1" indent="yes"/> + + <xsl:param name="latex.documentclass">scrbook</xsl:param> + <xsl:param name="latex.documentclass.book">twoside,openright,tocleft,listsleft,smallheadings,10pt,halfparskip</xsl:param> + + <xsl:param name="latex.hyperref.param.common">bookmarksnumbered,backref,breaklinks,linktocpage</xsl:param> + + <xsl:variable name="latex.math.support">1</xsl:variable> + + <!-- we use the Latin Modern fonts --> + <xsl:variable name="latex.document.font">lmodern</xsl:variable> + + <xsl:variable name="latex.documentclass.common"></xsl:variable> + <xsl:variable name="latex.babel.language">english</xsl:variable> + + <xsl:variable name="latex.hyphenation.tttricks">1</xsl:variable> + + <xsl:param name="latex.inline.monoseq.style">\texttt</xsl:param> + + <xsl:variable name="latex.admonition.environment"> + <xsl:text>% ---------------------------------------------- </xsl:text> + <xsl:text>% Define a new LaTeX environment (adminipage) </xsl:text> + <xsl:text>% Modified for DAHB, M. Wiedmann, 2003.07.25 </xsl:text> + <xsl:text>% ---------------------------------------------- </xsl:text> + <xsl:text>\newenvironment{admminipage}% </xsl:text> + <xsl:text>{ % this code corresponds to the \begin{adminipage} command </xsl:text> + <xsl:text> \begin{Sbox}% </xsl:text> + <xsl:text> \begin{minipage}% </xsl:text> + <xsl:text>} %done </xsl:text> + <xsl:text>{ % this code corresponds to the \end{adminipage} command </xsl:text> + <xsl:text> \end{minipage} </xsl:text> + <xsl:text> \end{Sbox} </xsl:text> + <xsl:text> \fbox{\TheSbox} </xsl:text> + <xsl:text>} %done </xsl:text> + <xsl:text>% ---------------------------------------------- </xsl:text> + <xsl:text>% Define a new LaTeX length (admlength) </xsl:text> + <xsl:text>% ---------------------------------------------- </xsl:text> + <xsl:text>\newlength{\admlength} </xsl:text> + <xsl:text>% ---------------------------------------------- </xsl:text> + <xsl:text>% Define a new LaTeX environment (admonition) </xsl:text> + <xsl:text>% With 2 parameters: </xsl:text> + <xsl:text>% #1 The file (e.g. note.pdf) </xsl:text> + <xsl:text>% #2 The caption </xsl:text> + <xsl:text>% ---------------------------------------------- </xsl:text> + <xsl:text>\newenvironment{admonition}[2] </xsl:text> + <xsl:text>{ % this code corresponds to the \begin{admonition} command </xsl:text> + <xsl:text> \begin{center}% Added MW </xsl:text> + <xsl:text> %\hspace{0mm}\newline\hspace*\fill\newline </xsl:text> + <xsl:text> \noindent </xsl:text> + <xsl:text> \setlength{\fboxsep}{5pt} </xsl:text> + <xsl:text> \setlength{\admlength}{\linewidth} </xsl:text> + <xsl:text> \addtolength{\admlength}{-10\fboxsep} </xsl:text> + <xsl:text> \addtolength{\admlength}{-10\fboxrule} </xsl:text> + <xsl:text> \admminipage{\admlength} </xsl:text> + <xsl:text> {\bfseries \sc\normalsize{#2}}</xsl:text> + <xsl:text> \newline </xsl:text> + <xsl:text> \\[0.3ex] </xsl:text> + <xsl:text> \sffamily </xsl:text> + <!-- + If we cannot find the latex.admonition.path; + Comment out the next line (\includegraphics). + This tactic is to avoid deleting the \includegraphics + altogether, as that could confuse a person trying to + find the use of parameter #1 in the environment. + --> + <xsl:if test="$latex.admonition.path=''"> + <xsl:text>%</xsl:text> + </xsl:if> + <xsl:text> \includegraphics[</xsl:text> <xsl:value-of select="$latex.admonition.imagesize" /> <xsl:text>]{#1} </xsl:text> + <xsl:text> \addtolength{\admlength}{-1cm} </xsl:text> + <xsl:text> \addtolength{\admlength}{10pt} </xsl:text> + <xsl:text> \begin{minipage}[lt]{\admlength} </xsl:text> + <xsl:text> \parskip=0.5\baselineskip \advance\parskip by 0pt plus 2pt </xsl:text> + <xsl:text> \small% Added MW </xsl:text> + <xsl:text>} %done </xsl:text> + <xsl:text>{ % this code corresponds to the \end{admonition} command </xsl:text> + <xsl:text> \vspace{1mm}% Changed MW: from 5 to 1mm </xsl:text> + <xsl:text> \end{minipage} </xsl:text> + <xsl:text> \endadmminipage </xsl:text> + <xsl:text> \vspace{.5em} </xsl:text> + <xsl:text> \par </xsl:text> + <xsl:text> \end{center}% Added MW </xsl:text> + <xsl:text>} </xsl:text> +</xsl:variable> + + <!-- path to admonition figure graphic files --> + <!-- <xsl:param name="latex.admonition.path">/usr/share/sgml/docbook/stylesheet/xsl/db2latex/latex/figures</xsl:param> --> + <xsl:param name="latex.admonition.path"></xsl:param> + + <!-- we use scrbook which provides headers + but they do not work yet! + --> + <xsl:param name="latex.use.fancyhdr">1</xsl:param> + + <xsl:param name="latex.use.tabularx">1</xsl:param> + + <xsl:variable name="latex.hyperref.param.pdftex"> + pdfauthor={Michael Wiedmann}, + pdfpagemode=UseNone, + pdfstartview=FitH, + pdftitle={References for TeX and Friends}, + pdfcreator={DocBook/XML db2latex-xsl}, + pdfsubject={}, + pdfkeywords={TeX, LaTeX}, + pdfpagelabels + </xsl:variable> + + <xsl:param name="latex.use.parskip">1</xsl:param> + <xsl:param name="latex.use.makeidx">1</xsl:param> + <xsl:param name="toc.section.depth">2</xsl:param> + + <xsl:param name="latex.entities"></xsl:param> + + <xsl:param name="latex.use.subfigure">0</xsl:param> + <xsl:param name="latex.caption.swapskip">0</xsl:param> + + <!-- for customizing LaTeX mapping --> + <!-- we need this e.g. for 'revhistory' --> + <xsl:variable name="latex.mapping.xml" select="document('tex-refs-local.mapping.xml')"/> + + <xsl:variable name="latex.book.varsets"> + <xsl:text>%% headings </xsl:text> + <xsl:text>%\usepackage[automark]{scrpage2} </xsl:text> + <xsl:text>%\pagestyle{scrheadings} </xsl:text> + <xsl:text>%% T1 encoding </xsl:text> + <xsl:text>\usepackage[T1]{fontenc} </xsl:text> + <xsl:text>%% character protruding for pdftex </xsl:text> + <xsl:text>\usepackage[activate]{pdfcprot} </xsl:text> + <xsl:text>%% load geometry package for setting margins </xsl:text> + <xsl:text>\usepackage{geometry} </xsl:text> + <xsl:text>\geometry{lmargin=2.5cm,rmargin=2.0cm,tmargin=2.0cm,bmargin=2.0cm,headsep=1.0cm,footskip=1.5cm} </xsl:text> + <xsl:text>%% title </xsl:text> + <xsl:text>%FIXME </xsl:text> + <xsl:text>\pagestyle{plain} </xsl:text> + <xsl:text>\titlehead{} </xsl:text> + <xsl:text>\uppertitleback{} </xsl:text> + <xsl:text>\lowertitleback{} </xsl:text> + <xsl:text>\dedication{} </xsl:text> + <xsl:text>\subject{} </xsl:text> + <xsl:text>\publishers{} </xsl:text> + <xsl:text>\date{</xsl:text><xsl:value-of select="/book/bookinfo/date"/><xsl:text>} </xsl:text> + <xsl:text>%% support for landscape pages </xsl:text> + <xsl:text>\usepackage{lscape} </xsl:text> + <xsl:text>%% used by multicolumn! </xsl:text> + <xsl:text>\usepackage{calc} </xsl:text> + <!-- + <xsl:text>%% end up with even pages </xsl:text> + <xsl:text>\AtEndDocument{% </xsl:text> + <xsl:text> \newcommand\QuadPages{% </xsl:text> + <xsl:text> \setcounter{subparagraph}{\value{page}}% </xsl:text> + <xsl:text> \divide\value{subparagraph} by 2\relax% </xsl:text> + <xsl:text> \multiply\value{subparagraph} by 2\relax% </xsl:text> + <xsl:text> \ifnum\value{subparagraph}=\value{page}\let\QuadPages=\relax </xsl:text> + <xsl:text> \null\thispagestyle{empty}\clearpage </xsl:text> + <xsl:text> \else\null\newpage\fi </xsl:text> + <xsl:text> \QuadPages} </xsl:text> + <xsl:text> \clearpage </xsl:text> + <xsl:text> \markboth{Notes}{Notes}\QuadPages </xsl:text> + <xsl:text>} </xsl:text> + --> + </xsl:variable> + + <!-- outputs per default \makeglossary which we don't use --> + <xsl:param name="latex.book.afterauthor"/> + + <xsl:variable name="latex.book.preamble.post"> + <xsl:text>%% get rid of fancyhdr's rulers </xsl:text> + <xsl:text>\renewcommand{\headrulewidth}{0pt} </xsl:text> + <xsl:text>\renewcommand{\footrulewidth}{0pt} </xsl:text> + <xsl:text>\fancyhead[LE,RO]{\nouppercase{\rightmark}} </xsl:text> + <xsl:text>\fancyhead[LO,RE]{\nouppercase{\leftmark}} </xsl:text> + <xsl:text>\cfoot{} </xsl:text> + <xsl:text>\fancyfoot[LE,RO]{\thepage} </xsl:text> + <xsl:text>%% </xsl:text> + <xsl:text>%% hyphenation settings </xsl:text> + <xsl:text>\setlength\emergencystretch{3em} </xsl:text> + <xsl:text>\hyphenpenalty=1000 </xsl:text> + <xsl:text>\AtBeginDocument{\lefthyphenmin=3\righthyphenmin=3} </xsl:text> + <xsl:text>%% more space for floats </xsl:text> + <xsl:text>\renewcommand{\textfraction}{0.05}% </xsl:text> + <xsl:text>\renewcommand{\topfraction}{0.95}% </xsl:text> + <xsl:text>\renewcommand{\bottomfraction}{0.95}% </xsl:text> + <xsl:text>\renewcommand{\floatpagefraction}{0.35}% </xsl:text> + <xsl:text>%% some special lists </xsl:text> + <xsl:text>\usepackage{mdwlist} </xsl:text> + <xsl:text>% </xsl:text> + <xsl:text>%some special symbols </xsl:text> + <xsl:text>\providecommand\BibTeX{\textsc{Bib}\kern-0.08em\TeX} </xsl:text> + <xsl:text>\providecommand\Makeindex{\textit{Make\-Index}} </xsl:text> + <xsl:text>\providecommand\PiCTeX{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC\kern-.11em\TeX} </xsl:text> + <xsl:text>% Taken from "dtklogos.sty" </xsl:text> + <xsl:text><![CDATA[% tbd. for MP/MF]]> </xsl:text> + <xsl:text>\usepackage{shorttoc} </xsl:text> + <xsl:text>% </xsl:text> + <xsl:text>% Code to handle the revhistory, copyright, </xsl:text> + <xsl:text>% and legalnotice tags like we want </xsl:text> + <xsl:text><![CDATA[\newcommand*\mystartvskip{} +\newcommand*\myendvskip{} +\makeatletter +\begingroup +\def\vspace*#1{#1} +\@tempskipa=\chapterheadstartvskip\relax +\@tempskipa=-\@tempskipa +\xdef\mystartvskip{\the\@tempskipa} +\def\vspace#1{#1} +\@tempskipa=\chapterheadendvskip\relax +%\@tempskipa=-\@tempskipa +\xdef\myendvskip{\the\@tempskipa} +\endgroup + +\newcommand\originalsection{} +\let\originalsection=\section +\newcommand*\fakechapter{\@startsection{chapter}{0}{\z@}% + {\mystartvskip}% + {\myendvskip}% + {\raggedsection\normalfont\sectfont\nobreak\size@chapter\nobreak}} +\makeatother +]]> </xsl:text> + <xsl:text>% end of special code </xsl:text> + </xsl:variable> + + <!-- template overrides --> + + <xsl:template match="toc"> + <xsl:text> \def\dbtolatex@@contentsname{</xsl:text> + <xsl:variable name="title"> + <xsl:call-template name="extract.object.title"> + <xsl:with-param name="object" select="."/> + </xsl:call-template> + </xsl:variable> + <xsl:choose> + <xsl:when test="$title=''"> + <xsl:text>\dbtolatex@@contentsname</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="$title"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text>} </xsl:text> + <xsl:choose> + <xsl:when test="starts-with(@condition,'db2latex:')"> + <xsl:text>\shorttoc{\dbtolatex@@contentsname}{</xsl:text> + <xsl:value-of select="substring-after(@condition,'db2latex:')"/> + <xsl:text>}</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:apply-imports/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- override 'revision' --> + <!-- use a more pleasant (IMHO) table layout for the 'revhistory' --> + <xsl:template match="revhistory/revision"> + <xsl:variable name="revnumber" select=".//revnumber"/> + <xsl:variable name="revdate" select=".//date"/> + <xsl:variable name="revauthor" select=".//authorinitials"/> + <xsl:variable name="revremark" select=".//revremark|.//revdescription"/> + + <xsl:if test="$revnumber"> + <xsl:call-template name="gentext.element.name"/> + <xsl:text> </xsl:text> + <xsl:apply-templates select="$revnumber"/> + </xsl:if> + <xsl:text> & </xsl:text> + <xsl:apply-templates select="$revdate"/> + <xsl:text> & </xsl:text> + <xsl:choose> + <xsl:when test="count($revauthor)=0"> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">nbsp</xsl:with-param> + </xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates select="$revauthor"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text> \\ </xsl:text> + <xsl:if test="$revremark"> + <xsl:text>\multicolumn{3}{@{}l@{}}{\parbox{\linewidth-4\tabcolsep}{</xsl:text> + <xsl:apply-templates select="$revremark"/> + <xsl:choose> + <xsl:when test="position()!=last()"> + <xsl:text>\\[.2em]~}}\\</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text>\\~}}\\</xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:text> </xsl:text> + </xsl:if> + </xsl:template> + + + <!-- override maketile of db2latex --> + <xsl:variable name="latex.maketitle"> + <xsl:text>\maketitle </xsl:text> + </xsl:variable> + + <!-- override "verbatim.apply.templates": + we support attribute 'role' with different values + for 'fontsize', 'samepage', and 'lines' + (see 'fancyvrb' for details) + additionally we support 'landscape': places content on + separate pages in landscape mode + --> + <xsl:template name="verbatim.apply.templates"> + <xsl:if test="contains(@role,'landscape')"> + <xsl:text>\begin{landscape} </xsl:text> + </xsl:if> + <xsl:choose> + <xsl:when test="$latex.use.fancyvrb='1'"> + <xsl:variable name="not_monospaced" select="local-name(.)='literallayout' and @format!='monospaced'"/> + <xsl:text> \begin{Verbatim}[</xsl:text> + <xsl:if test="@linenumbering='numbered'"> + <xsl:text>,numbers=left</xsl:text> + </xsl:if> + <xsl:if test="$not_monospaced"> + <xsl:text>,fontfamily=default</xsl:text> + </xsl:if> + <!-- extensions by MW --> + <xsl:if test="@role"> + <xsl:if test="contains(@role,'small')"> + <xsl:text>,fontsize=\small</xsl:text> + </xsl:if> + <xsl:if test="contains(@role,'footnotesize')"> + <xsl:text>,fontsize=\footnotesize</xsl:text> + </xsl:if> + <xsl:if test="contains(@role,'scriptsize')"> + <xsl:text>,fontsize=\scriptsize</xsl:text> + </xsl:if> + <xsl:if test="contains(@role,'large')"> + <xsl:text>,fontsize=\large</xsl:text> + </xsl:if> + <xsl:if test="contains(@role,'Large')"> + <xsl:text>,fontsize=\Large</xsl:text> + </xsl:if> + <xsl:if test="contains(@role, 'samepage')"> + <xsl:text>,samepage=true</xsl:text> + </xsl:if> + <xsl:if test="contains(@role, 'lines')"> + <xsl:text>,frame=lines</xsl:text> + </xsl:if> + </xsl:if> + <xsl:text>] </xsl:text> + <xsl:choose> + <xsl:when test="$not_monospaced"> + <!-- Needs to be changed to cope with regular characterset! --> + <xsl:apply-templates mode="latex.verbatim"/> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="latex.verbatim"/> + </xsl:otherwise> + </xsl:choose> + <xsl:text> \end{Verbatim} </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> \begin{verbatim} </xsl:text> + <xsl:apply-templates mode="latex.verbatim"/> + <xsl:text> \end{verbatim} </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:if test="contains(@role,'landscape')"> + <xsl:text>\end{landscape} </xsl:text> + </xsl:if> + </xsl:template> + + <!-- override: use 'role="nohyphenation"' to avoid hyphenation in title's --> + <xsl:template match="filename"> + <xsl:choose> + <xsl:when test="contains(@role,'nohyphenation')"> + <xsl:call-template name="inline.monoseq"><xsl:with-param name="hyphenation"></xsl:with-param></xsl:call-template> + </xsl:when> + <xsl:otherwise> + <xsl:call-template name="inline.monoseq"><xsl:with-param name="hyphenation">\docbookhyphenatefilename</xsl:with-param></xsl:call-template> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- override floatstyles for figures and tables --> + <!-- we use 'floatstyle=plain' for figures and tables --> + <xsl:template name="latex.float.preamble"> + <xsl:text>% -------------------------------------------- </xsl:text> + <xsl:text>% Commands to manage/style/create floats </xsl:text> + <xsl:text>% figures, tables, algorithms, examples, eqn </xsl:text> + <xsl:text>% Customized for DAHB by mw, 20030506 </xsl:text> + <xsl:text>% -------------------------------------------- </xsl:text> + <xsl:text> \floatstyle{plain} </xsl:text> + <xsl:text> \restylefloat{figure} </xsl:text> + <xsl:text> \floatstyle{plain} </xsl:text> + <xsl:text> \restylefloat{table} </xsl:text> + <xsl:text> \floatstyle{ruled} </xsl:text> + <xsl:text> \newfloat{program}{ht}{lop}[section] </xsl:text> + <xsl:text> \floatstyle{ruled} </xsl:text> + <xsl:text> \newfloat{example}{ht}{loe}[section] </xsl:text> + <xsl:text> \floatname{example}{</xsl:text> + <xsl:call-template name="gentext.element.name"> + <xsl:with-param name="element.name">example</xsl:with-param> + </xsl:call-template> + <xsl:text>} </xsl:text> + <xsl:text> \floatstyle{ruled} </xsl:text> + <xsl:text> \newfloat{dbequation}{ht}{loe}[section] </xsl:text> + <xsl:text> \floatname{dbequation}{</xsl:text> + <xsl:call-template name="gentext.element.name"> + <xsl:with-param name="element.name">equation</xsl:with-param> + </xsl:call-template> + <xsl:text>} </xsl:text> + <xsl:text> \floatstyle{boxed} </xsl:text> + <xsl:text> \newfloat{algorithm}{ht}{loa}[section] </xsl:text> + <xsl:text> \floatname{algorithm}{Algorithm} </xsl:text> + </xsl:template> + + <!-- override informaltable: we want a smaller font --> + <xsl:template match="informaltable"> + <xsl:if test="contains(@role,'Large')"> + <xsl:text>\Large </xsl:text> + </xsl:if> + <xsl:if test="contains(@role,'large')"> + <xsl:text>\large </xsl:text> + </xsl:if> + <xsl:if test="contains(@role,'small')"> + <xsl:text>\small </xsl:text> + </xsl:if> + <xsl:if test="contains(@role,'footnotesize')"> + <xsl:text>\footnotesize </xsl:text> + </xsl:if> + + <xsl:call-template name="map.begin"/> + <xsl:apply-templates/> + <xsl:call-template name="map.end"/> + + <xsl:text>\normalsize </xsl:text> + </xsl:template> + + <!-- we want "\noindent" in some cases --> + <xsl:template match="para|simpara"> + <xsl:choose> + <xsl:when test="contains(@role,'db2latex:noindent')"> + <xsl:text>\noindent </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:apply-templates/> + <xsl:choose> + <xsl:when test="contains(@role,'db2latex:noindent')"> + <xsl:text>\vspace{1ex}\par</xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> </xsl:text> + </xsl:otherwise> + </xsl:choose> + <xsl:text> </xsl:text> + </xsl:template> + + <!-- include modified table templates. + Snapshot up to 2003-10-01 is buggy. + --> + <xsl:include href="db2latex-mw-table.xsl"/> + + <!-- include modified (enhanced) variablelist template --> + <xsl:include href="db2latex-mw-variablelist.xsl"/> + + <!-- include modified (enhanced) itemizedlist template --> + <xsl:include href="db2latex-mw-itemizedlist.xsl"/> + + <xsl:template match="bridgehead" name="bridgehead"> + <xsl:param name="renderas" select="@renderas"/> + <xsl:param name="content"><xsl:apply-templates/></xsl:param> + <xsl:choose> + <xsl:when test="$renderas='sect1' or $renderas='sect2' or $renderas='sect3'"> + <xsl:text> \</xsl:text> + <xsl:if test="$renderas='sect2'"><xsl:text>sub</xsl:text></xsl:if> + <xsl:if test="$renderas='sect3'"><xsl:text>subsub</xsl:text></xsl:if> + <xsl:text>section*{</xsl:text> + <xsl:copy-of select="$content"/> + <xsl:text>}</xsl:text> + <xsl:call-template name="label.id"/> + <xsl:text> </xsl:text> + </xsl:when> + <xsl:otherwise> + <xsl:text> </xsl:text> + <!-- <xsl:text>\vspace{1em}\noindent{\bfseries </xsl:text><xsl:copy-of select="$content"/><xsl:text>}</xsl:text> --> + <xsl:text>\noindent\subparagraph*{</xsl:text><xsl:copy-of select="$content"/><xsl:text>}</xsl:text> + <xsl:call-template name="label.id"/> + <!-- changed, original was: \par\noindent --> + <xsl:text>\par </xsl:text> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="generate.bookinfo.copyright"> + <xsl:apply-templates select="copyright" /> + </xsl:template> + + <xsl:template match="copyright"> + <xsl:if test="count(preceding-sibling::copyright)=0"> + <xsl:text>% switch to fake section </xsl:text> + <xsl:text>\let\section=\fakechapter </xsl:text> + <xsl:text>\section*{</xsl:text> + <xsl:call-template name="gentext.element.name"/> + <xsl:text>} </xsl:text> + </xsl:if> + <xsl:call-template name="gentext.element.name"/> + <xsl:call-template name='gentext.space'/> + <xsl:call-template name="dingbat"> + <xsl:with-param name="dingbat">copyright</xsl:with-param> + </xsl:call-template> + <xsl:call-template name='gentext.space'/> + <xsl:apply-templates select="year"/> + <xsl:call-template name='gentext.space'/> + <xsl:apply-templates select="holder"/> + <xsl:if test="count(following-sibling::copyright)>0"> + <xsl:text>\newline</xsl:text> + </xsl:if> + <xsl:text> </xsl:text> + </xsl:template> + + <xsl:template match="legalnotice"> + <xsl:text>\section*{</xsl:text> + <xsl:call-template name="legalnotice.title"/> + <xsl:text>} </xsl:text> + <xsl:text>\small </xsl:text> + <xsl:apply-templates select="node()[not(self::title)]"/> + <xsl:text>%\vspace{0.6em}\par </xsl:text> + <xsl:text>\normalsize\rmfamily </xsl:text> + <xsl:text>% switch back to normal section </xsl:text> + <xsl:text>\let\section=\originalsection </xsl:text> + </xsl:template> + + <xsl:template match="symbol"> + <xsl:param name="entity"><xsl:value-of select="." /></xsl:param> + <xsl:choose> + <xsl:when test="$entity='--'"><xsl:text>--</xsl:text></xsl:when> + <xsl:when test="$entity='BibTeX'"><xsl:text>{\BibTeX{}}</xsl:text></xsl:when> + <xsl:when test="$entity='LaTeX'"><xsl:text>{\LaTeX{}}</xsl:text></xsl:when> + <xsl:when test="$entity='LaTeX2e'"><xsl:text>{\LaTeXe{}}</xsl:text></xsl:when> + <xsl:when test="$entity='Makeindex'"><xsl:text>{\Makeindex{}}</xsl:text></xsl:when> + <xsl:when test="$entity='PiCTeX'"><xsl:text>{\PiCTeX{}}</xsl:text></xsl:when> + <xsl:when test="$entity='TeX'"><xsl:text>{\TeX{}}</xsl:text></xsl:when> + <xsl:otherwise> + <xsl:call-template name="inline.charseq"/> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + + <!-- testing --> + + <xsl:template name="label.id"> + <xsl:text> % MW: label.id </xsl:text> + <xsl:param name="object" select="."/> + <xsl:text>\label{</xsl:text> + <xsl:call-template name="generate.label.id"> + <xsl:with-param name="object" select="$object"/> + </xsl:call-template> + <xsl:text>}</xsl:text> + </xsl:template> + + <xsl:template name="generate.label.id"> + <xsl:param name="object" select="."/> + <xsl:variable name="id"> + <xsl:choose> + <xsl:when test="$object/@id"> + <xsl:value-of select="$object/@id"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select="generate-id($object)"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:value-of select="normalize-space($id)"/> + </xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-plucker.xsl b/Master/texmf-doc/source/english/tex-refs/tex-refs-plucker.xsl new file mode 100644 index 00000000000..76c85da75ae --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-plucker.xsl @@ -0,0 +1,18 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0" + xmlns="http://www.w3.org/TR/xhtml1/transitional" + exclude-result-prefixes="#default"> + + <!-- $Id: tex-refs-plucker.xsl 125 2004-04-06 19:55:32Z mw $ --> + + <!-- we use an XML catalog to resolve this file --> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/1.64.1/html/docbook.xsl"/> + + <!-- import common customizations --> + <xsl:import href="tex-refs-common.xsl"/> + + <!-- insert customization here --> + <!-- up to now we don't need any special customizations for plucker --> + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs-xinclude.xml b/Master/texmf-doc/source/english/tex-refs/tex-refs-xinclude.xml new file mode 100644 index 00000000000..0a3ac121209 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs-xinclude.xml @@ -0,0 +1,274 @@ +<?xml version='1.0' encoding='ISO-8859-1'?> +<!-- <?xml-stylesheet href="docbook-css/driver.css" type="text/css"?> --> + +<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" + "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" +[ + <!ENTITY % tex-refs-ent SYSTEM "tex-refs.ent" > +%tex-refs-ent; +]> + +<!-- $Id: tex-refs-xinclude.xml 148 2005-05-14 15:43:12Z mw $ --> + +<book lang="en"> + + <bookinfo id="bookinfo"> + + <title id="bookinfo-title">References for &tex; and Friends</title> + + <author> + <firstname>Michael</firstname> + <surname>Wiedmann</surname> + <affiliation> + <address><email>mw at miwie dot in-berlin dot de</email></address> + </affiliation> + </author> + + <date>V&rev; &date;</date> + + <revhistory> + + <revision> + <revnumber>&rev;</revnumber> + <date>&date;</date> + <revremark>tbd. + </revremark> + </revision> + + <revision> + <revnumber>0.2.0</revnumber> + <date>2003-01-11</date> + <revremark>License changed to + <ulink url="http://www.gnu.org/licenses/fdl.html">GNU Free Documentation License</ulink>. + </revremark> + </revision> + + <revision> + <revnumber>0.0.1</revnumber> + <date>2002-06-21</date> + <revremark>This version was adapted from the edition 1.6 + of the &latex2e; documentation, converted to &docbook; XML + using + <ulink url="http://www.tldp.org/downloads/">texi2db</ulink>, + and further edited manually. + </revremark> + </revision> + </revhistory> + + <copyright> + <year>?</year> + <holder>Stephen Gilmore</holder> + </copyright> + <copyright> + <year>?</year> + <holder>Torsten Martinsen</holder> + </copyright> + <copyright> + <year>1988, 1994</year> + <holder>Free Software Foundation, Inc.</holder> + </copyright> + <copyright> + <year>1994 ‐ 1996</year> + <holder>Torsten Martinsen</holder> + </copyright> + <copyright> + <year>2002, 2003</year> + <holder>Peter Karp, Michael Wiedmann</holder> + </copyright> + <copyright> + <year>2004, 2005</year> + <holder>Michael Wiedmann</holder> + </copyright> + + <legalnotice> + <title>License</title> + <para>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. + </para> + </legalnotice> + + </bookinfo> + + + <preface id="preface"> + <title>Preface</title> + <para role="db2latex:noindent">&latex2e; is a document preparation + system implemented as a macro package for Donald E. Knuth's + &tex; typesetting program. + </para> + <para role="db2latex:noindent">&latex; was originally conceived by + Leslie Lamport. + </para> + <para role="db2latex:noindent">This updated &latex; reference + is by no means complete, + but it's a first step towards a more complete &latex; reference! + We welcome if we'll get pointed to missing commands or even + better when you make additions and further improvements and + send them to the authors. + </para> + <para role="db2latex:noindent"> + <ulink url="http://www.tug.org">TUG (&tex; User Group)</ulink> + and + <ulink url="http://www.dante.de">DANTE (German &tex; User Group)</ulink> + both have excellent FAQ's which answer many questions or + give great pointers to additional resources both on the + internet or in books. Most if not all missing packages + can also be found on the CTAN servers. + </para> + <para role="db2latex:noindent">This reference is not meant to + replace the package documentation or the standard literature + like the &latex; handbook and the &latex; companion. + Look there for detailed + descriptions of the commands and even mostly more options and + examples. + </para> + <para role="db2latex:noindent">The authors intend to extend + this documentation to other + &tex; related packages (e.g. ConTeXt, &metapost;, &metafont;, + etc.). Contributions are very welcome! + </para> + </preface> + + <preface id ="credits"> + <title>Credits</title> + <indexterm> + <primary>Credits</primary> + </indexterm> + <para>The following people have contributed substantial parts + to this documentation project or helped in some other way + (listed alphabetically): + </para> + <itemizedlist spacing="compact"> + <listitem> + <simpara>Karl Berry</simpara> + <indexterm> + <primary>People</primary> + <secondary>Berry, Karl</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Wolfgang Borgert</simpara> + <indexterm> + <primary>People</primary> + <secondary>Borgert, Wolfgang</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Ramon Casellas</simpara> + <indexterm> + <primary>People</primary> + <secondary>Casellas, Ramon</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Holger Danielsson</simpara> + <indexterm> + <primary>People</primary> + <secondary>Danielsson, Holger</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>James Devenish</simpara> + <indexterm> + <primary>People</primary> + <secondary>Devenish, James</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Hubert Gaesslein</simpara> + <indexterm> + <primary>People</primary> + <secondary>Gaesslein, Hubert</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Peter Karp</simpara> + <indexterm> + <primary>People</primary> + <secondary>Karp, Peter</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Rolf Niepraschk</simpara> + <indexterm> + <primary>People</primary> + <secondary>Niepraschk, Rolf</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Hans Fredrik Nordhaug</simpara> + <indexterm> + <primary>People</primary> + <secondary>Nordhaug, Hans Fredrik</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Simon Pepping</simpara> + <indexterm> + <primary>People</primary> + <secondary>Pepping, Simon</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Bob Stayton</simpara> + <indexterm> + <primary>People</primary> + <secondary>Stayton, Bob</secondary> + </indexterm> + </listitem> + <listitem> + <simpara>Herbert Voss</simpara> + <indexterm> + <primary>People</primary> + <secondary>Voss, Herbert</secondary> + </indexterm> + </listitem> + </itemizedlist> + </preface> + + <!-- was proof of concept + <toc condition="db2latex:0"> + <title>Short Contents</title> + </toc> + --> + + <toc> + <title>Table of Contents</title> + </toc> + + <!-- FIXME + <lot label="tables"> + </lot> + --> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="tex-refs-chapter-tex.xml" /> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="tex-refs-chapter-pdftex.xml" /> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="tex-refs-chapter-metafont.xml" /> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="tex-refs-chapter-metapost.xml" /> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="tex-refs-chapter-bibtex.xml" /> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="tex-refs-chapter-makeindex.xml" /> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="tex-refs-chapter-xindy.xml" /> + + <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" + href="tex-refs-chapter-appendices.xml" /> + + +</book> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs.css b/Master/texmf-doc/source/english/tex-refs/tex-refs.css new file mode 100644 index 00000000000..c4d1e1bdc53 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs.css @@ -0,0 +1,124 @@ +/* $Id: tex-refs.css 120 2004-03-26 20:19:43Z mw $ */ + +body { background-color: whitesmoke; + } + +h1.title { background-color: gainsboro; + text-align: center; + font-family: sans-serif; + color: black; + } + +h2.title { background-color: gainsboro; + font-family: sans-serif; + color: black; + } + +h3.title { background-color: gainsboro; + font-family: sans-serif; + color: black; + } + +h4.title { background-color: gainsboro; + font-family: sans-serif; + color: black; + } +h5.title { background-color: gainsboro; + font-family: sans-serif; +/* font-size: small; */ + color: black; + } +h6.title { background-color: gainsboro; + font-family: sans-serif; +/* font-size: x-small; */ + font-size: small; + color: black; + } +span.title { background-color: gainsboro; + font-family: sans-serif; +/* font-size: x-small; */ + font-size: small; + color: black; + } + +.title { background-color: gainsboro; + font-family: sans-serif; + } + +.authorgroup { + background-color: #EEEEEE + } + +.copyright { + } + +.legalnotice { + } + +.revhistory { + } + +.abstract { + margin-top: 1em + } + +.toc { + } + +.itemizedlist { + } + +.orderedlist { + } + +.variablelist { + } + +.term { background-color: #EFEFEF + } + +pre.programlisting +{ + background-color: #E0E0E0; + border: thin solid gray; + margin-top: 1.33ex; + margin-bottom: 1.33ex; +} + + +.footer-date { font-size: xx-small; + font-family: monospace; + } + + +#customheader, #customfooter +{ + /* list of fonts provides fallbacks if a font is not present */ + font-family: Verdana, Arial, Helvetica, Sans-Serif; + /* font size, relative to body font size */ + font-size: 80%; + + /* line height, relative to body font size */ + line-height: 200%; + + text-align: center; + vertical-align: middle; + color: #fff; + background-color: #009; +} + +/* leave more space between last paragraph and footer */ +/* some browser do not add up the bottom margin of the prior element */ +/* and the top margin of the footer */ +#customfooter { + margin-top: 15px; +} + +/* define special font for logo */ +/* list of fonts provides fallbacks in case selected fonts are not present +*/ +.logo +{ + font-family: Lucida Console, Verdana, Arial, Sans-Serif; +} + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs.ent b/Master/texmf-doc/source/english/tex-refs/tex-refs.ent new file mode 100644 index 00000000000..e0a001751a1 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs.ent @@ -0,0 +1,40 @@ +<?xml version="1.0" encoding="iso-8859-1" ?> + +<!-- $Id: tex-refs.ent 146 2005-05-14 15:34:22Z mw $ --> + +<!ENTITY date "2005-0X-YY"> +<!ENTITY abbrdate "05-0X-YY"> +<!ENTITY rev "0.3.10"> + +<!ENTITY bibtex "<symbol>BibTeX</symbol>"> +<!ENTITY context "ConTeXt"> +<!ENTITY dash "<symbol>--</symbol>"> +<!ENTITY dic "DocBook In ConTeXt"> +<!ENTITY komascript "KOMA-Script"> +<!ENTITY latex2e "<symbol>LaTeX2e</symbol>"> +<!ENTITY latex "<symbol>LaTeX</symbol>"> +<!ENTITY makeindex "<symbol>Makeindex</symbol>"> +<!ENTITY metafont "Metafont"> +<!ENTITY metapost "MetaPost"> +<!ENTITY pdftex "pdf<symbol>TeX</symbol>"> +<!ENTITY pdflatex "pdf<symbol>LaTeX</symbol>"> +<!ENTITY pictex "<symbol>PiCTeX</symbol>"> +<!ENTITY plaintex "Plain<symbol>TeX</symbol>"> +<!ENTITY pstricks "PSTricks"> +<!ENTITY tex "<symbol>TeX</symbol>"> +<!ENTITY texinfo "Texinfo"> +<!ENTITY xindy "xindy"> + +<!ENTITY Default "Default:"> +<!ENTITY tbd "tbd."> +<!ENTITY overview "Overview"> + +<!ENTITY db2latex "DB2<symbol>LaTeX</symbol> XSL Stylesheets (V0.8pre1+20050330"> +<!ENTITY docbook "DocBook"> +<!ENTITY docbookxml "DocBook XML (V4.3)"> +<!ENTITY docbookxsl "DocBook XSL Stylesheets (V1.68.1)"> +<!ENTITY komascript "KOMA-Script"> +<!ENTITY lmodern "Latin Modern Type 1 Fonts (V0.92)"> +<!ENTITY komabook "scrbook [2004/09/16 v2.9t LaTeX2e KOMA document class]"> +<!ENTITY xsltp "xsltproc (libxml2-2.6.16/libxslt-1.1.12)"> + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs.ist b/Master/texmf-doc/source/english/tex-refs/tex-refs.ist new file mode 100644 index 00000000000..798909a0ce0 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs.ist @@ -0,0 +1,18 @@ +% Index-Style for tex-refs, taken from: +% Index-Style fuer DE-TeX-FAQ; aehnlich `scrguide.ist'; 2000/01/22; RN + +% $Id: tex-refs.ist 120 2004-03-26 20:19:43Z mw $ + +preamble "\\begin{theindex}\\small\\raggedright\n" +postamble "\n\\indexspace\\end{theindex}\n" + +delim_0 "~\\dotfill~" +delim_1 "~\\dotfill~" +delim_2 "~\\dotfill~" + +heading_prefix "\\textbf{\\sectfont " +heading_suffix "}\\nopagebreak\n" +headings_flag 1 + +%% End of file `tex-refs.ist'. + diff --git a/Master/texmf-doc/source/english/tex-refs/tex-refs.xsl b/Master/texmf-doc/source/english/tex-refs/tex-refs.xsl new file mode 100644 index 00000000000..7a77ee198e5 --- /dev/null +++ b/Master/texmf-doc/source/english/tex-refs/tex-refs.xsl @@ -0,0 +1,48 @@ +<?xml version="1.0"?> +<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" + version="1.0" + xmlns="http://www.w3.org/TR/xhtml1/transitional" + exclude-result-prefixes="#default"> + + <!-- $Id: tex-refs.xsl 142 2004-10-24 15:13:24Z mw $ --> + + <!-- <xsl:import href="file:///home/mw/docbook-xsl/xhtml/docbook.xsl"/> --> + <!-- we use an XML catalog to resolve this file --> + <xsl:import href="http://docbook.sourceforge.net/release/xsl/current/xhtml/docbook.xsl"/> + + <!-- import common customizations --> + <xsl:import href="tex-refs-common.xsl"/> + + <xsl:output method="html" + encoding="ISO-8859-1" + indent="no"/> + + <!-- insert customization here --> + + <xsl:param name="section.autolabel" select="1"/> + <xsl:param name="html.stylesheet" select="'tex-refs.css'"/> + + <!-- override bridgehead to pass down a class "attribute" --> + <xsl:template match="bridgehead"> + <xsl:variable name="hlevel"> + <xsl:choose> + <xsl:when test="@renderas = 'sect1'">1</xsl:when> + <xsl:when test="@renderas = 'sect2'">2</xsl:when> + <xsl:when test="@renderas = 'sect3'">3</xsl:when> + <xsl:when test="@renderas = 'sect4'">4</xsl:when> + <xsl:when test="@renderas = 'sect5'">5</xsl:when> + <xsl:otherwise> + <xsl:value-of select="5"/> + </xsl:otherwise> + </xsl:choose> + </xsl:variable> + <xsl:element name="h{$hlevel}" namespace="http://www.w3.org/1999/xhtml"> + <xsl:attribute name="class"><xsl:text>title</xsl:text></xsl:attribute> + <xsl:call-template name="anchor"> + <xsl:with-param name="conditional" select="0"/> + </xsl:call-template> + <xsl:apply-templates/> + </xsl:element> + </xsl:template> + +</xsl:stylesheet> diff --git a/Master/texmf-doc/source/english/texlive-en/Makefile b/Master/texmf-doc/source/english/texlive-en/Makefile new file mode 100644 index 00000000000..d2feb0b5f19 --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/Makefile @@ -0,0 +1,68 @@ +# $Id: //depot/Master/texmf-doc/source/english/texlive-en/Makefile#12 $ $Date: 2005/09/27 $ $Author: karl $ +# Makefile for TeX Live documentation. Public domain. +doc = live + +all: pdf html + +env = TEXINPUTS=../../general/texlive-common:; 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)' + +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 live.dvi live.ps + +realclean: clean + rm -f live.pdf + rm -f *.html *.htm live.css *.gif *.jpg + + +insttop = ../../../doc +instfiles = live*html *.css live.pdf +install: + lang=`dirname \`pwd\` | sed 's,.*/,,'`; \ + tldir=`pwd | sed 's,.*/,,'`; \ + instdir=$(insttop)/$$lang/$$tldir; \ + echo tldoc install to $$instdir; \ + for f in $(instfiles); do \ + cmp -s $$f $$instdir/$$f && continue; \ + p4 edit $$instdir/$$f; \ + cp -p $$f $$instdir/$$f; \ + done + @echo "Don't forget to p4 submit." + + +# 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/source/english/texlive-en/README b/Master/texmf-doc/source/english/texlive-en/README new file mode 100644 index 00000000000..6dc503eeb6b --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/README @@ -0,0 +1,5 @@ +$Id: //depot/Master/texmf-doc/source/english/texlive-en/README#1 $ $Date: 2004/10/11 $ $Author: karl $ +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/source/english/texlive-en/archive/bv-live.tex b/Master/texmf-doc/source/english/texlive-en/archive/bv-live.tex new file mode 100644 index 00000000000..ad044e568cb --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/bvoutln.sty b/Master/texmf-doc/source/english/texlive-en/archive/bvoutln.sty new file mode 100644 index 00000000000..92f19fd027b --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/changemail b/Master/texmf-doc/source/english/texlive-en/archive/changemail new file mode 100644 index 00000000000..dd792a25f78 --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/l.pl b/Master/texmf-doc/source/english/texlive-en/archive/l.pl new file mode 100644 index 00000000000..d74f313a5cc --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/live-2003.tex b/Master/texmf-doc/source/english/texlive-en/archive/live-2003.tex new file mode 100644 index 00000000000..49591b965e2 --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/archive/live-2003.tex @@ -0,0 +1,3937 @@ +% $Id: //depot/Build/cdbuild/tldocsource/english/live.tex#88 $ $Author: karl $ $Date: 2003/09/25 $ +% 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/source/english/texlive-en/archive/live-2004.tex b/Master/texmf-doc/source/english/texlive-en/archive/live-2004.tex new file mode 100644 index 00000000000..81fa5d22c20 --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/archive/live-2004.tex @@ -0,0 +1,3854 @@ +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/live.tex#19 $ $Author: karl $ $Date: 2005/05/14 $ +% 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/source/english/texlive-en/archive/live-tl7.tex b/Master/texmf-doc/source/english/texlive-en/archive/live-tl7.tex new file mode 100644 index 00000000000..1e8ee77312b --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/live4ht.cfg-2004 b/Master/texmf-doc/source/english/texlive-en/archive/live4ht.cfg-2004 new file mode 100644 index 00000000000..555db7a13d8 --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/archive/live4ht.cfg-2004 @@ -0,0 +1,36 @@ +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/live4ht.cfg#6 $ $Date: 2004/11/24 $ $Author: karl $ +% 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/source/english/texlive-en/archive/mod.pl b/Master/texmf-doc/source/english/texlive-en/archive/mod.pl new file mode 100644 index 00000000000..4f8df5df762 --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/nocites.tex b/Master/texmf-doc/source/english/texlive-en/archive/nocites.tex new file mode 100644 index 00000000000..759b379f30e --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/picture.tex b/Master/texmf-doc/source/english/texlive-en/archive/picture.tex new file mode 100644 index 00000000000..098cfe18f10 --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/split.pl b/Master/texmf-doc/source/english/texlive-en/archive/split.pl new file mode 100644 index 00000000000..bca00584335 --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/status.pl b/Master/texmf-doc/source/english/texlive-en/archive/status.pl new file mode 100644 index 00000000000..28c3d0d6d4c --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/tex-live.bib b/Master/texmf-doc/source/english/texlive-en/archive/tex-live.bib new file mode 100644 index 00000000000..17c75e197b7 --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/tex-live.bst b/Master/texmf-doc/source/english/texlive-en/archive/tex-live.bst new file mode 100644 index 00000000000..a4954030c95 --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/tex-live.sty-2003 b/Master/texmf-doc/source/english/texlive-en/archive/tex-live.sty-2003 new file mode 100644 index 00000000000..3b75b7b5bfd --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/archive/tex-live.sty-2004 b/Master/texmf-doc/source/english/texlive-en/archive/tex-live.sty-2004 new file mode 100644 index 00000000000..a7efdd3a87d --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/archive/tex-live.sty-2004 @@ -0,0 +1,422 @@ +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/tex-live.sty#10 $ $Author: karl $ $Date: 2004/11/27 $ +% 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/source/english/texlive-en/archive/texlive.pl b/Master/texmf-doc/source/english/texlive-en/archive/texlive.pl new file mode 100644 index 00000000000..33a19a801d6 --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/live.tex b/Master/texmf-doc/source/english/texlive-en/live.tex new file mode 100644 index 00000000000..0a70e15823f --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/live.tex @@ -0,0 +1,3174 @@ +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/live.tex#31 $ $Author: staw $ $Date: 2005/10/31 $ +% 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/source/english/texlive-en/live4ht.cfg b/Master/texmf-doc/source/english/texlive-en/live4ht.cfg new file mode 100644 index 00000000000..affcc553fc8 --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/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=utf-8,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/source/english/texlive-en/tex-live.css b/Master/texmf-doc/source/english/texlive-en/tex-live.css new file mode 100644 index 00000000000..5062bc0d229 --- /dev/null +++ b/Master/texmf-doc/source/english/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/source/english/texlive-en/tex-live.sty b/Master/texmf-doc/source/english/texlive-en/tex-live.sty new file mode 100644 index 00000000000..13ea2251275 --- /dev/null +++ b/Master/texmf-doc/source/english/texlive-en/tex-live.sty @@ -0,0 +1,429 @@ +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/tex-live.sty#13 $ $Author: karl $ $Date: 2005/11/01 $ +% 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/source/french/texlive-fr/Makefile b/Master/texmf-doc/source/french/texlive-fr/Makefile new file mode 100644 index 00000000000..95c8457ce86 --- /dev/null +++ b/Master/texmf-doc/source/french/texlive-fr/Makefile @@ -0,0 +1,2 @@ +include ../../english/texlive-en/Makefile + diff --git a/Master/texmf-doc/source/french/texlive-fr/french/live-fr.pdf b/Master/texmf-doc/source/french/texlive-fr/french/live-fr.pdf Binary files differnew file mode 100644 index 00000000000..0ab3fa407a7 --- /dev/null +++ b/Master/texmf-doc/source/french/texlive-fr/french/live-fr.pdf diff --git a/Master/texmf-doc/source/french/texlive-fr/live.tex b/Master/texmf-doc/source/french/texlive-fr/live.tex new file mode 100644 index 00000000000..84bac656b7f --- /dev/null +++ b/Master/texmf-doc/source/french/texlive-fr/live.tex @@ -0,0 +1,3857 @@ +%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) +% 2005/11/01: synced with 2005 English version, by 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}{HЮn Th\'{Й} Thanh} + +\usepackage{comment} + +\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} +%%%% 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 utilisИe en v.f. +\renewcommand{\TL}{\TeX{} Live\xspace}% Robuste (pas besoin de \protect)... +% 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.{p.~} +% 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{...}. + +\setlength{\parindent}{0mm} +\addtolength{\parskip}{.25\baselineskip} + +\begin{document} + +\title{{\huge Guide pratique de \TL{}} \\ \strut + {\LARGE\textsf{\TK{} 2005}} + } + +\author{Sebastian Rahtz \& Karl Berry \\[3mm] + \url{http://tug.org/texlive/}\\[5mm] + \textit{Version franГaise}\\[3mm] + Daniel Flipo (GUTenberg) + } + +\date{Octobre 2005} + +\maketitle +\thispagestyle{empty} % no need for page number + +\newpage +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Introduction} +\label{sec:intro} + +Ce document dИcrit les principales caractИristiques de la +distribution \TL{}, une distribution de \TeX{} et \LaTeX{} +pour Linux et autres Unix, \MacOSX{} et systХmes Windows 32 bits +(attention, cette distribution n'est pas vraiment utilisable avec +les anciens systХmes Mac ou \acro{MS-DOS}). Elle 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 la composition de textes +qui utilisent plusieurs systХmes d'Иcritures diffИrentes venant de toute +la surface du globe. +La distribution \TL{} est en fait un sous-ensemble de \TK{} (dИcrit briХvement +Ю la section ~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}) +produit grБce aux efforts combinИs des diffИrents groupes d'utilisateurs +de \TeX. + +L'Иdition 2005 a ИtИ figИe en octobre 2005. % (df) Ю prИciser ? +Les futures mises Ю jour des composants de la distribution 2005 +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 +apportИes au fil du temps Ю la distribution \TL. + +Les utilisateurs des Иditions prИcИdentes de \TL{} sont invitИs +Ю lire, \emph{avant toute mise Ю jour}, la section~\ref{tlcurrent} +\p.\pageref{tlcurrent} qui prИsente les principaux changements intervenus +cette annИe. + + +\subsection{Utilisation ИlИmentaire de \TL{}} +\label{sec:basic} + +Vous pouvez utiliser \TL{} de trois faГons diffИrentes : +\begin{enumerate} +\item Vous pouvez exИcuter \TL{} directement depuis le + \DVDlive{} (toutes plates-formes). + Cela prend trХs peu d'espace disque et + donne un accХs immИdiat Ю tout le contenu de + \TL. C'est une solution parfaitement acceptable mЙme 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 frИquente 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... schИma GUT = 800 Mo chez moi ! + 400\,Mo pour un systХme standard ou 800\,Mo pour un systХme complet. +\item Vous pouvez incorporer un jeu de composants particulier ou une + collection dans un systХme \TeX{} dИjЮ prИsent, soit un + systХme \TL{} installИ prИcИdemment, soit un systХme \TeX{} diffИrent. +\end{enumerate} + +Ces trois utilisations sont dИcrites en dИtail dans les sections +concernant l'installation spИcifique Ю chaque systХme. +Quelques remarques gИnИrales : + +\begin{itemize} + +\item Le script d'installation globale pour Unix et pour \MacOSX{} s'appelle +\texttt{install-tl.sh}. + +\item Pour installer une extension ou une collection, on utilise le script + d'installation \texttt{install-pkg.sh}. + +\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 sИrieuse finit 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 \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 ИlИments 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 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 \foreignlanguage{english}% + {\url{http://groups.google.com/groups?group=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 n'obtenez pas de rИponse, 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 faГon de + rИdiger la question pour avoir des chances d'obtenir une rИponse : + \foreignlanguage{english}% + {\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'hИsitez 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 dИcrivons 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 liИes au format des \acro{CD-ROM} nous ont contraint +Ю diviser \TK{} en plusieurs distributions : + +\begin{description} + +\item [live] Un systХme exИcutable complet sur \acro{DVD} ; il est + trop volumineux pour tenir sur \acro{CD-ROM}. Le \DVD{} contient + aussi une image du systХme \CTAN{}, totalement indИpendant de + \TL{}, la distribution Mac\TeX{} pour \MacOSX, la distribution \ProTeXt{} + pour Windows, ainsi que d'autres extensions + rИunies dans un rИpertoire \texttt{texmf-extra}. + + Les droits d'utilisation des fichiers prИsents dans \CTAN, \ProTeXt, + Mac\TeX{} 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. + +\item [inst\textrm{(allable)}] Un systХme 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'exИcuter directement \TeX\ + depuis le \CD\ d'installation, il vous faut l'installer sur disque + (d'oЫ le nom). L'installation est dИcrite dans les sections + concernИes (\ref{sec:unix-install-disk} et \ref{sec:osx-unix-inst} + pour \MacOSX). + +\item [protext] Une extension du systХme \MIKTEX\ sur \CD{} pour + Windows. Cette distribution est totalement indИpendante du \TL{}, + elle nИcessite un mode d'installation spИcifique. + Elle peut Йtre installИe sur disque ou exИcutИe 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{} spИcifique pour ceux qui n'ont pas de lecteur de \DVD. + +\end{description} + +\noindent On peut dИterminer la nature de la distribution +utilisИe en recherchant le fichier \texttt{00\var{type}.TL} dans le +rИpertoire racine du mИdium utilisИ (\CD{} ou \DVD{}). +Ce fichier contient aussi la date de derniХre mise Ю jour du \TL. + +%(df) Que fait GUT ? +%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{RИpertoires situИs Ю la racine} +\label{sec:tld} + +Les rИpertoires les plus importants situИs Ю la racine +% (df) bin et source ne sont pas sur \CDinst +du \DVDlive{} +sont ИnumИrИs ci-dessous. Cette annИe, la distribution \TL{} +est dans un sous-rИpertoire \dirname{texlive2005} 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 prИsent sur \CDinst : les .zip des binaires sont dans 'archive' +bin & Programmes de la famille \TeX{}, rangИs dans des + sous-rИpertoires 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}, compressИe par bzip2. + % Ajout (df) + Faute de place, le rИpertoire \texttt{source} + n'est pas sur le \CDinst{} (seulement sur le \DVDlive{}).\\ +support & Ensemble d'extensions et programmes auxiliaires. Ils ne + sont \emph{pas} installИs par dИfaut. +% Faux (df) +% On y trouve \cmdname{Ghostscript}, \cmdname{netpbm} et un ensemble +% d'Иditeurs orientИs \TeX{}. +\\ +texmf & RИpertoire contenant les programmes et leur documentation. + Ne contient ni les formats ni les extensions + (appelИ \envname{TEXMFMAIN} dans la section suivante.) \\ +texmf-dist & RИpertoire principal oЫ se trouvent les extensions + les fontes, etc., avec leur documentation + (appelИ \envname{TEXMFDIST} dans la section suivante.) \\ +texmf-doc & RИpertoire contenant le reste de la documentation, + le sous-rИpertoire doc est organisИ par langue. \\ +texmf-var & RИpertoire contenant les fichiers gИnИrИs automatiquement + (appelИ \envname{TEXMFSYSVAR} dans la section suivante.) \\ +xemtex & RИpertoire contenant des programmes utiles pour Windows. + % ajout (df) + \emph{Ce n'est pas la distribution \XemTeX{} de + Fabrice Popineau !} +\end{tabular} +\endgroup + +\smallskip + +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Ы 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 mЙme niveau que les rИpertoires mentionnИs ci-dessus, +les scripts d'installation et les fichiers \filename{README} (dans +diffИrentes langues). + +\subsection{Description des arborescences texmf utilisИes} +\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.), 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 rИpertoire est sous \verb+$HOME+ % $ + par dИfaut. La variable \envname{TEXINPUTS} ne devrait plus Йtre utilisИe. +\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 \verb+$HOME+ 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} + +Les possibilitИs offertes par \cmdname{texconfig} sont dИcrites Ю 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 dИtails consulter le + fichier \OnCD{texmf-dist/doc/etex/base/etex_man.pdf} du \DVDlive{}. + +\item [pdf\TeX{}] 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} + prИsente un exemple d'utilisation. L'extension \pkgname{hyperref} + de \LaTeX{} possХde une option \og \optname{pdftex}\fg{} qui + active tous les mИcanismes nИcessaires. + +\item [pdfe\TeX] combine les fonctionnalitИs de pdf\TeX\ et \eTeX. + C'est le moteur utilisИ dИsormais par tous les formats Ю l'exception + de plain \TeX. + +\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 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'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} + +\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 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] VИrification 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 faГons principales : + +\begin{enumerate} +\item ExИcution directe depuis le \DVDlive. +\item Installation sur le disque dur. +\item IntИgration d'un jeu de composants ou collections dans un systХme +\TeX{} dИjЮ installИ. +\end{enumerate} + +\noindent +Les procИdures spИcifiques Ю Unix sont dИcrites 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 systХme doit pouvoir reconnaНtre 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 rИseau local est + constituИ de machines diffИrentes, 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 systХmes modernes +ne devrait pas poser de problХmes. S'il y en avait, n'hИsitez 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 +connaНtre 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) rИpertoire(s) d'installation est Иvidemment +indispensable). Cette remarque concerne particuliХrement 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 donnИe +page~\pageref{tab:archlist} (table~\ref{tab:archlist}). + +\def\runlive{% text repeated in windows section +On peut utiliser le systХme \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 dИmarrer, il faut d'abord \og monter \fg{} le mИdium avec les +extensions Rock Ridge. +La commande exacte varie d'un systХme Ю l'autre ; la commande suivante +fonctionne sous Linux, mais les noms du pИriphИrique (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{soulignИes}. +\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 AprХs l'affichage de divers messages de bienvenue et une liste des +options du menu principal, l'installation rИclame l'entrИe d'une commande. +Taper alors le caractХre 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 exИcuter \pkgname{live}, la premiХre commande est \Ucom{d} +suivie de la sous-commande \Ucom{1} pour choisir le rИpertoire du disque +local oЫ seront placИs les fichiers (tels que les fontes et les formats) que +le systХme \TeX{} gИnХre lui-mЙme ainsi que les fichiers de configuration si +besoin est. On utilisera \dirname{/opt/texlive2005} dans cet exemple, +mais un utilisateur non privilИgiИ peut trХs bien choisir un +sous-rИpertoire non-existant de son rИpertoire personnel (il sera crИИ +et ne contiendra donc que du matИriel \TL{}). +иtant donnИ que les fichiers crИИs ne sont pas toujours compatibles d'une +annИe sur l'autre, il est recommandИ d'inclure l'annИe dans le nom du +rИpertoire. +Si la valeur par dИfaut \dirname{/usr/local/texlive/2005} vous convient +(c.-Ю-d. que \dirname{/usr/local/texlive/2005} n'est pas un rИpertoire +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/2005 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive/2005]: \Ucom{/opt/texlive2005} +... +Enter command: \Ucom{r} +\end{alltt} + +Retour au menu principal. La seconde (et derniХre) 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 dИpend du \textit{shell} utilisИ. Les syntaxes +prИcises sont affichИes 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 connaНtre le nom du \textit{shell} utilisИ. +Le plus simple est de recopier par copier-coller, soit les deux lignes +commenГant 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 Ю redИfinir \envname{PATH} et \envname{TEXMFSYSVAR} +Ю chaque nouvelle connexion, il suffit d'entrer les mЙmes 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 dИbut de chaque nouvelle +session. + +\def\textruntexconfig{% + Une fois l'installation terminИe et les variables d'environnement + initialisИes, la derniХre Иtape consiste Ю exИcuter \cmdname{texconfig} ou + \cmdname{texconfig-sys} pour Иventuellement modifier certains paramХtres. + 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'hИsitez pas Ю contacter un gourou systХme pour +vous aider Ю rИsoudre vos problХmes, tels que la faГon de monter le + mИdium \TL{}, le choix des rИpertoires Ю 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 mЙme habituel, d'installer le systХme \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 diffИrentes 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 derniХre choisie. Il est cependant raisonnable de +procИder 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{schИma d'installation} de base + (complet, recommandИ, GUTenberg, etc.).\\ +c & modifier le choix des collections individuelles\\ +l & modifier le choix des langues Ю installer\\ +d & rИpertoire oЫ faire l'installation\\ +o & autres options\\ +i & lancer l'installation\\ +\end{tabular} +\end{table} + +Voici quelques prИcisions sur chaque option. + +\begin{description} + +\item[\optname{p} -- Platform (current).] Plate-forme utilisИe.\\ +Le script d'installation dИtecte automatiquement la plate-forme +sur laquelle il tourne, il est en gИnИral inutile de modifier cette option, +sauf en cas d'erreur. + +\item[\optname{b} -- Binary architectures.] Binaires pour d'autres +architectures.\\ +Par dИfaut, seuls les binaires pour votre plate-forme seront installИs. ю +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 rИseau de machines hИtИrogХnes. +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) vИrifier 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.] +SchИma d'installation de base.\\ +Ce menu permet de choisir un type d'installation plus ou moins complet. +L'option par dИfaut (\optname{full}) installe tout, c'est un bon choix si +l'espace disque n'est pas limitИ. Les francophones prИfИreront peut-Йtre +le schИma \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 spИcifiques 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 schИma choisi ci-dessus. +Chaque collection\Dash fichiers de macros TeX, familles de fontes Metafont, +etc.\Dash{} est formИe de plusieurs composants. +Attention, le programme diffИrencie les lettres minuscules +des lettres capitales pour les touches de sИlection. + +\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 diffИrencie les lettres minuscules +des lettres capitales pour les touches de sИlection. + +Voici la liste des collections de langues du \TL{} +(on garde ici les noms anglais des options qui sont ceux du systХme !) : + +% 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 cИsure et autres fichiers. Par exemple, +\pkgname{frenchle.sty} est installИ lorsqu'on sИlectionne la collection +\optname{French}. Par ailleurs, l'installation d'une langue de la collection +modifie le fichier de configuration \filename{language.dat} qui contrТle +quelles divisions (ou coupures de mots) sont chargИes. + +\item[\optname{d} -- Installation directories] Choix des +rИpertoires d'installation.\\ \label{text:instdir} +Ceci concerne les trois rИpertoires suivants : + +\begin{ttdescription} +\item [TEXDIR] +RИpertoire de plus haut niveau sous lequel tout le reste sera installИ, +la valeur par dИfaut est \dirname{/usr/local/texlive/2005}. +Il est conseillИ de faire figurer l'annИe dans le nom choisi, de faГon Ю +pouvoir conserver sИparИment 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 problХme. + +Sous \MacOSX, les interfaces utilisateurs recherchent \TeX{} +dans \dirname{/usr/local/teTeX} ; plutТt que d'installer la distribution \TL{} +dans ce rИpertoire, on pourra faire l'installation par dИfaut +(dans \dirname{/usr/local/texlive/2005} donc) et ajouter deux liens +symboliques : \dirname{current} qui pointe vers \dirname{2005} 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 ./2005 ./current)} +> \Ucom{(cd /usr/local ; ln -s ./texlive/current teTeX)} +\end{alltt} + +\item [TEXMFLOCAL] +C'est dans cette arborescence que doivent Йtre placИs les fichiers +non fournis par \TL{}. +La valeur par dИfaut 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 paramХtres 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 spИcifiques Ю la version, notamment les fichiers de format. +La valeur par dИfaut est \dirname{TEXDIR/texmf-var}, il n'y a en +gИnИral 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 spИcifier un autre rИpertoire pour les fontes gИnИrИes. +La valeur par dИfaut 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 sШr Йtre accessible en lecture-Иcriture pour tous) +pour ranger les fontes crИИes dynamiquement. + +\item [l] Pour crИer des liens symboliques pour les binaires, +la documentation \textit{(man pages)} ou les fichiers Info \acro{GNU}. +Par exemple, on peut dИsirer 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 sШr avoir les droits +d'Иcriture dans les rИpertoires spИcifiИs). + +En revanche, il est dИconseillИ d'utiliser cette option pour les binaires. +Rendre les binaires \TL{} accessibles depuis \dirname{/usr/local/bin} +risque de masquer dИfinitivement, y compris pour \textit{root}, les +binaires \TeX\ fournis en standard sur la plate-forme. +Sous Linux par exemple, \textit{root} doit utiliser par dИfaut les binaires +\teTeX{} fournis avec la distribution installИe (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И installИe auparavant Ю un +autre emplacement. + +\item [s] Pour ne pas installer l'arborescence des fichiers source. +Ceci peut Йtre utile si cette arborescence est commune Ю +diffИrentes 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 terminИe, l'Иtape suivante consiste Ю inclure dans +la variable \envname{PATH} des usagers (autres que \textit{root} +cf. ci-dessus) le sous-rИpertoire de \dirname{TEXDIR/bin} spИcifique Ю +l'architecture de faГon que les programmes nouvellement installИs puissent +Йtre trouvИs. 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 dИterminer le nom du sous-rИpertoire de +\dirname{TEXDIR/bin} Ю inclure en tЙte de \envname{PATH}. + +\label{text:path} +La syntaxe de cette commande et le fichier d'initialisation Ю utiliser +dИpendent du systХme 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 possХdent un fichier + \filename{$HOME/.bash_profile}, c'est dans ce dernier qu'il faut redИfinir + 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 maniХre suivante, qui Иvite d'avoir +Ю ouvrir un Иditeur sur un fichier cachИ : +on redevient utilisateur de base, on se place dans son rИpertoire personnel, +en tapant dans le Terminal +\begin{alltt} +> \Ucom{exit ; cd} +\end{alltt} +On vИrifie quel est le \textit{shell} utilisИ en tapant +\begin{alltt} +> \Ucom{echo $SHELL} +\end{alltt} %$ +Si la rИponse 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/2005/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/2005}, sinon il faut adapter \envname{PATH} en +consИquence.} +\begin{alltt} +> \Ucom{touch .cshrc} +> \Ucom{echo "setenv PATH /usr/local/texlive/2005/bin/powerpc-darwin:$PATH" >> .cshrc} +> \Ucom{source .cshrc} +\end{alltt} %$ +La mise Ю jour de la variable \envname{PATH} est terminИe. + +\medskip +Voici un court exemple qui sИlectionne une installation complХte avec +les binaires du systХme actuel seulement (on accepte tous les choix par +dИfaut). 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/2005/bin/i386-linux:$PATH" >> .bash_profile} +> \Ucom{source .bash_profile} # faire prendre en compte le nouveau PATH +\end{alltt} %$ + +\textruntexconfig + +\medskip %J.A. + +\textifindoubt + +% +\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 dИmarrer, il faut d'abord \og monter \fg{} le mИdium avec les +extensions Rock Ridge. +La commande exacte varie d'un systХme Ю l'autre ; la commande suivante +fonctionne sous Linux, mais les noms du pИriphИrique (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{soulignИes}. +\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 complХte) : + +\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 opИration. + +\item [-{}-nosrc] Ne pas installer les fichiers source pour cette opИration. + +\item [-{}-cddir=\var{dir}] RИpertoire source d'oЫ on lit ; +par dИfaut le rИpertoire 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 rИpertoire 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 opИrations est contrТlИe par les options dИcrites ci-dessous. +Si aucune n'est spИcifiИe, par dИfaut on installe les fichiers spИcifiИs. +L'arborescence principale de destination est +le rИpertoire pХre du rИpertoire \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 systХme \TeX{}, crИe une archive \cmdname{tar}. + +\end{ttdescription} + +Options additionnelles : + +\begin{ttdescription} + +\item [-{}-config] AprХs l'installation, exИcuter \code{texconfig init}. + +\item [-{}-nohash] AprХs installation, ne pas lancer \cmdname{mktexlsr} +pour reconstruire la base de donnИes des noms de fichiers. +\item [-{}-verbose] Donner plus d'informations durant l'exИcution 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 aprХs l'installation} +\label{sec:postinstall} + +Une fois l'installation terminИe il faut, quel que soit le systХme, +configurer le systХme 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'idИe 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 exИcutez depuis le disque) ; +voir \og rИpertoires d'installation\fg{} en page~\pageref{text:instdir}. + +Bien sШr, les dИtails 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 aprХs +votre installation pour reconfigurer votre systХme +de faГon Ю satisfaire les besoins locaux. +Il peut Йtre nИcessaire de l'exИcuter au moins une fois juste aprХs +l'installation si les valeurs par dИfaut de certains paramХtres ne vous +conviennent pas. +Ce programme est installИ avec les autres sous le rИpertoire 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 paramХtres. + +On peut aussi le lancer avec diverses options. Voici les plus courantes +(la distribution \TL{} est configurИe pour utiliser du papier~A4 par dИfaut) : + +\begin{ttdescription} + +\item [texconfig paper letter] +Mettre la taille par dИfaut 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 donnИes des +fichiers du systХme \TeX{} (Ю faire aprХs 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 sШr, \cmdname{texconfig} ne permet de changer que certaines des +nombreuses options et paramХtres de configuration d'un systХme \TeX{}. +Le fichier principal de configuration pour les programmes de la base +\Webc{} s'appelle \filename{texmf.cnf}. ; on peut trouver son emplacement +en exИcutant \samp{kpsewhich texmf.cnf}. Ce fichier contient de nombreux +commentaires expliquant les options par dИfaut et la signification des +paramХtres, sa lecture est recommandИe. + +Depuis cette annИe, 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 rИpertoire \dirname{$HOME/.texlive2005} %$ +de l'utilisateur. + +De mЙme, les commandes \cmdname{updmap} et \cmdname{fmtutil} +opХrent maintenant au niveau de l'utilisateur dans le rИpertoire +\dirname{$HOME/.texlive2005} %$ + +\textbf{Important : machines multi-utilisateurs}. Les administrateurs +installant \TL{} sur une machine multi-utilisateurs devront dorИnavant +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 crИer les formats \emph{au niveau de la + machine}. Noter qu'aucun format n'est crИИ Ю l'installation, ils sont +fabriquИs Ю la demande ; depuis cette annИe, le format crИИ par un utilisateur +l'est uniquement pour lui (il est mis dans \dirname{$HOME/.texlive2005}). %$ +Afin d'Иviter la multiplication de fichiers de formats, il y a donc lieu crИer +au moins les formats les plus utilisИs au niveau du systХme Ю la fin de +l'installation par la commande \cmdname{fmtutil-sys}. Le plus simple est de +les crИer 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 spИcifiques +\filename{fmtutil.cnf} ou \filename{updmap.cfg} devront les placer +dans l'arborescence pointИe par la nouvelle variable +\envname{TEXMFSYSCONFIG}, +faute de quoi ces fichiers ne seront pas trouvИs 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'empЙche de dИfinir \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 diffИrentes arborescences texmf a ИtИ dИcrite Ю la +section~\ref{sec:texmftrees} \p.\pageref{sec:texmftrees}. + + +\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.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} + +Si on rИcupХre un \textit{command not found} au lieu d'informations +comme le numИro de version et le copyright, il est fort probable que +vous n'avez pas le bon rИpertoire \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 interfИrences entre 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 \og Actions de dИbogage \fg{} +page~\pageref{Debugging}. + +\item PrИvisualiser les rИsultats en ligne : +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Sous Windows, la commande Иquivalente est \cmdname{Windvi}. +Une nouvelle fenЙtre doit s'ouvrir et montrer un document expliquant les +bases de \LaTeX{} (document Ю lire d'ailleurs si vous Йtes dИbutant !). +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 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}. + +\item Autres fichiers de tests utiles : + +\begin{ttdescription} + +\item [small2e.tex] Un document plus simple Ю compiler que +\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 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{*} aprХs +\samp{tex story.tex}. + +\end{ttdescription} +Pour exИcuter ces tests procИder comme on l'a fait 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 franГaise disponible ici : +\url{http://daniel.flipo.free.fr/doc/dfshort/} + + +\section{Installation pour \MacOSX} +\label{sec:mac-install} + +\TL{} traite \MacOSX, mais pas les versions antИrieures des Macintosh. + +On peut installer \TeX{} sous \MacOSX{} de deux faГons : + +\begin{enumerate} + +\item Utiliser la nouvelle distribution, appellИe Mac\TeX{}, disponible + depuis cette annИe sur le \DVDlive ; elle se trouve dans le rИpertoire + \dirname{mactex/}, voir section~\ref{sec:mactex}. C'est la mИthode + recommandИe. + +\item Utiliser les commandes \filename{install*} comme pour Unix (lire d'abord + la section~\ref{sec:osx-unix-inst} ci-dessous pour les spИcificitИs \MacOSX{} +puis la section~\ref{sec:unix-install}). + +\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{} complИtИe par de +nombreuses applications et de la documentation spИcifique. +Elle dispose de son propre installeur intИgrИ. + +Le site de rИfИrence pour Mac\TeX{} est \url{http://tug.org/mactex}. + +\subsection{\protect\cmdname{install*.sh} : installation depuis \TL{}} +\label{sec:osx-unix-inst} + +Le systХme \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 dИcrire en dИtail la procИdure d'installation. +La premiХre chose Ю faire est d'ouvrir une fenЙtre \og Terminal \fg{}. +L'application \og Terminal\fg{} se trouve dans le rИpertoire +/Applications/Utilitaires, elle est accessible Ю partir du menu +principal en haut de l'Иcran. + +Ensuite, nous allons vИrifier si l'interprИteur de commandes +(ou \textit{shell} en anglais) \cmdname{bash} est prИsent ou non. +Pour cela, taper dans la fenЙtre \og Terminal \fg{} la commande suivante : +\begin{alltt} +> \Ucom{which bash} +\end{alltt} +Si le \textit{shell} \cmdname{bash} est prИsent (cas des versions +de 10.2 et suivantes de \MacOSX) la rИponse sera un chemin, par exemple +\filename{/bin/bash}. +Si la rИponse est \texttt{command not found}, vous avez une version +antИrieure Ю 10.2, sur laquelle \cmdname{bash} n'est pas installИ par dИfaut. +Vous devrez alors rИcupИrer 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 dИsormais le \textit{shell} \cmdname{bash} prИsent. +Il faut maintenant \og passer \textit{root} \fg{}, c'est-Ю-dire +se donner le pouvoir d'effectuer des opИrations 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 rИpertoire \dirname{/Volumes}. +On tape ensuite dans le \og Terminal\fg{} les commandes : +\begin{alltt} +> \Ucom{cd /Volumes/texlive2005} +> \Ucom{sh install-tl.sh} +\end{alltt} +pour se placer Ю la racine de l'image disque montИe 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 spИcifiques pour \MacOSX{} +ont ИtИ incluses si nИcessaire. + +\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'exИcution, un +Иditeur, un prИvisualiseur et d'autres outils (on Иchappe toutefois +difficilement Ю l'utilisation de \og Terminal \fg{} dХs que l'on veut +rИaliser des tБches un tant soit peu ИvoluИes\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 nИcessaire de donner Ю ces logiciels les informations concernant +le PATH : + +\begin{cmddescription} + +\item [TeXshop] Lancer l'application et ouvrir le panneau prИfИrences (menu + TeXShop). SИlectionner l'onglet \og Moteur\fg{} et modifier la premiХre + ligne en saisissant votre PATH, par exemple : + \dirname{/usr/local/texlive/2005/bin/powerpc-darwin}. + +\item [ITeXMac] Lancer l'application et ouvrir le panneau prИfИrences (menu + ITeXMac). SИlectionner 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/2005/bin/powerpc-darwin}. + +\end{cmddescription} + + +\section{Installation sous Windows} +\label{sec:win-install} + +Cette annИe la distribution \TL{} inclut de nouveau 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. + +Deux autres pistes, non basИes sur la distribution \TL{}, +me semblent plus adaptИes : +\begin{enumerate} +\item soit installer la distribution \ProTeXt{} Ю partir du \DVDlive{} + ou du \CD{} spИcifique, elle est basИe sur \MIKTEX{} distribution + trХs apprИciИe sous Windows ; +\item soit, tИlИcharger \XemTeX{} (200~Mo) sur \url{http://www.xemtex.org/}. + C'est la distribution Windows qui remplace \fpTeX{}, elle est maintenue par + Fabrice Popineau et construite autour de l'Иditeur \cmdname{XEmacs}. + Les outils DVI sont supprimИs, le format de sortie est PDF ou HTML + uniquement. + + \XemTeX, bien que totalement gratuit, inclut des programmes qui ne sont pas + libres au sens Debian, c'est ce qui empЙche malheureusement \XemTeX{} de + figurer dans la distribution \TK. +\end{enumerate} + +Si vous dИcidez d'opter pour \ProTeXt{} ou pour \XemTeX{} vous pouvez +sauter toute cette section. +\end{quote} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +\cmdname{tlpmgui} propose essentiellement les mЙmes options que le script +\cmdname{install-tl.sh} sous Unix mais dans une interface graphique : + sИlection des schИmas, 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 donnИes +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 empruntИs Ю la distribution \XEmTeX, +qui a succИdИ Ю \fpTeX{} (voir +\url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). +Certains binaires de l'ancienne distribution \fpTeX{} ont ИtИ conservИs, +comme \cmdname{Windvi}, le visualiseur \texttt{dvi} similaire Ю \textsf{xdvi} +sous Unix. La documentation sur \cmdname{Windvi} se trouve dans +\OnCD{texmf/doc/html/windvi/windvi.html}. + +\TL{} peut Йtre installИ sur les systХmes 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 vИrifier qu'il disposent d'assez d'espace pour les variables + d'environnement. Le programme \cmdname{tlpmgui.exe} crИe 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 dИmarrer automatiquement +dХs 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{<cdrom drive letter>:\string\setup-win32\string\tplmgui.exe} +--- resp. +\path{<drive letter>:\string\texlive\string\setup-win32\string\tplmgui.exe} +si vous installez Ю partir du \DVDlive{} --- oЫ \path{<cdrom drive letter>} +dИsigne la lettre correspondant au lecteur de \acro{CD} ; cliquer ensuite +sur OK. + +La fenЙtre intitulИe \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 apparaНtre Ю cТtИ du bouton +\acro{CD/DVD}. S'il n'est pas affichИ utiliser ce bouton pour +sИlectionner le lecteur de \acro{CD/DVD} contenant \TL. + +Il est possible de choisir le rИpertoire devant contenir la distribution \TL{} +en cliquant sur le bouton \guiseq{TLroot}(la variable \path{TLroot} contiendra +le nom de ce rИpertoire). Le contenu des variables d'environnement +\path{TEXMFTEMP} et \path{TEXMFCNF} est affichИ Ю cТtИ 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 +schИma de base souhaitИ pour l'installation (complХte, GUTenberg, etc.) : +utiliser le bouton radio pour faire ce choix et le bouton \guiseq{Info} +pour une description du schИma sИlectionnИ. + +Il est possible de personnaliser le schИma choisi en lui ajoutant ou en +supprimant certaines de ses composantes (appelИes \guiseq{collections}). +Ceci se fait en utilisant les boutons \guiseq{Standard collections} +et \guiseq{Language collections} (choix des langues utilisables) +dans \guiseq{Main customization}. + +\textbf{Remarque :} Les collections \guiseq{Ghostscript}, \guiseq{Perl} et +\guiseq{Wintools} sont sИlectionnИes par dИfaut. elles \emph{doivent Йtre +installИes}\dots{} sauf si elles l'ont ИtИ par ailleurs. +Les variables d'environnement \envname{PERL5LIB} et \verb|GS_LIB| doivent +aussi Йtre initialisИes. + +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 annonГant +que l'installation a rИussi (un certain nombre d'Иtapes sont nИcessaires, +comme la crИation des formats, la mise Ю jour des bases de donnИes, etc. ce +qui peut prendre un certain temps). + +Le raccourci \cmdname{tlpmgui} sera ajoutИ dans le menu +\guiseq{Start\arw Programs\arw TeXLive2005}. + +Si nИcessaire (Windows~9x/WinME), il vous sera demandИ de +redИmarrer l'ordinateur. + + +\subsection{Programmes auxiliaires pour Windows} +\label{sec:win-xemtex} + +Pour Йtre complХte, une installation \TL{} a besoin de programmes +auxiliaires qu'on ne trouve pas frИquemment sur une machine Windows. +De nombreux scripts sont Иcrits en Perl. Certains outils importants utilisent +l'interprИteur \PS{} Ghostscript pour afficher ou convertir les fichiers. +Il faut aussi dans certains cas une boНte Ю 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} 7.07 ; +\item un \cmdname{Perl} 5.8 minimum, suffisant pour exИcuter tous les scripts +Perl du \TL{} ; +\item quelques utilitaires comme bzip2, gzip, jpeg2ps et tiff2png. +%\item un sous-ensemble de \cmdname{ImageMagick} 5.5.6 ; +%\item le correcteur d'orthographe \cmdname{ISpell} ; +%\item \cmdname{XEmacs} 21.5.14 avec un ensemble de fonctions pour faciliter +%la composition \TeX{}. +\end{itemize} + +Ces programmes sont empruntИs Ю la distribution \XEmTeX{}. + +Si vous prИfИrez ne pas installer les outils inclus dans \TL{}, vous Йtes +libre d'installer les outils nИcessaires pour complИter votre systХme \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 bibliothХques supplИmentaires 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 orientИs \TeX] Il y a un large choix, et cela dИpend des + prИfИrences de l'utilisateur. En voici une sИlection : + \begin{itemize} + \item \cmdname{GNU Emacs} existe nativement sous Windows, + l'url de rИfИrence est + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html} ; + \item \cmdname{XEmacs} + existe nativement sous Windows, l'url de rИfИrence + est \url{http://www.xemacs.org/} ; + \item \cmdname{WinShell} se trouve sur \TL{} dans le rИpertoire + \path{support}, l'url de rИfИrence 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} se trouve sur \TL{} dans le rИpertoire + \path{support/vim} et le site de rИfИrence est + \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 +acquИrir 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{} installИe, vous pouvez vous servir du programme +\cmdname{tlpmgui} pour modifier ou complИter votre installation. + +\subsection{Ajouter ou supprimer des composants} + +Le raccourci \cmdname{tlpmgui} du menu +\guiseq{Start\arw Programs\arw TeXLive2005} permet de lancer le programme +et affiche la fenЙtre \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 rИpertoire \texttt{texlive} + du lecteur de \acro{DVD}) grБce 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 installИs est comparИe +Ю la liste des composants disponibles sur le \acro{CD/DVD}. +Seuls les composants non installИs sont affichИs, Ю vous de choisir ceux que +vous souhaitez ajouter. + +Inversement, lors de la suppression de composants, seuls les composants +installИs sont affichИs. + +Noter que les collections sont en tЙte de liste. + +\item SИlectionner 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 sИlectionner 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'opИration. +\end{itemize} + +\subsection{Configuration et maintenance} + +La section \guiseq{Manage the installation} permet d'effectuer les opИrations +courantes de configuration et de maintenance. + +Voici la liste des actions possibles : +\begin{itemize} + \item mettre Ю jour la base \filename{ls-R}, + \item crИer 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 fenЙtre d'Иdition en cliquant sur le bouton \guiseq{Done} +pour que les mises Ю jour des formats, fichiers \file{.map}, base +\filename{ls-R} soient effectuИes. + +Les autres possibilitИs de configuration sont dИcrites Ю la +section~\ref{sec:persconf}, \p.\pageref{sec:persconf}. + +\subsection{DИsinstallation complХte 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 rИpertoire +\path{texmf-local} ne sera pas supprimИ ; le contenu du rИpertoire +\path{setup-win32} doit Йtre Иgalement nettoyИ Ю la main si nИcessaire. + +\subsection{Ajouter des composants Ю votre systХme} + +Tout d'abord, quelles que soient les modifications faites, +\emph{n'oubliez pas de reconstruire les fichiers ls-R de bases de + donnИes}, sinon les nouveaux fichiers ne seront jamais retrouvИs. +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 rИpertoire \path{$TEXMFLOCAL}. %$ +De cette maniХre, vous serez certain qu'il n'y aura pas de problХme +lors d'une mise Ю jour de \TL. + +L'arborescence pointИe 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 rИpertoire +\path{C:\string\TeXLive2005\string\texmf-local\string\tex\string\latex\string\maple} +et les fichiers de documentation dans +\path{C:\string\TeXLive2005\string\texmf-local\string\doc\string\latex\string\maple} + + +\subsection{ExИcution de \texttt{tlmp.exe} en ligne de commande} + +Le programme \cmdname{tlpm.exe} utilisИ par \cmdname{tlpmgui} +possХde de nombreuses options utiles dont la liste est donnИe par +\begin{verbatim} +tlpm --help +\end{verbatim} + +Consulter le fichier \filename{tlpm.readme} pour plus de renseignements et des +exemples. + +\subsection{Installation en rИseau} + +\KPS{} est compatible avec les noms UNC, ceux-ci peuvent donc Йtre utilisИs +pour rИcupИrer l'arborescence TEXMF depuis le rИseau. 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 stratИgies 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 systХmes d'exploitation / architectures nИcessaires. 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 rИpertoires appropriИs + sous Win32. + +\item Installer une copie locale pour les binaires et les fichiers de + format. Dans ce cas, assigner \path{$TEXMFMAIN} au rИpertoire + principal \path{texmf} qui sera pris sur le rИseau. Faire pointer + \path{$VARTEXMF} vers un rИpertoire local qui contiendra les fichiers + de configuration locaux et les fichiers gИnИrИs au vol. %$ + +\end{itemize} + +\subsection{DiffИrences entre la version Windows et la version + Unix de \TL} + +La version Windows de \Webc{} possХde quelques spИcificitИs qui mИritent +d'Йtre notИes. + +\begin{description} +\item [\KPS{}] Les tables de hachage\footnote{Une table de hachage est + une structure de donnИes qui permet de rechercher un ИlИment par + une clИ dans un ensemble. Elle doit donc mИmoriser des paires de + type \emph{(clИ, valeur)} et permettre un accХs rapide Ю une + valeur Ю partir de sa clИ.} que \KPS{} construit (Ю partir des + fichiers \filename{ls-R} entre autres) sont trХs volumineuses pour le + \TL{}. Dans le but de diminuer le temps d'initialisation des + applications qui utilisent \KPS{}, ces tables ont ИtИ mises en + mИmoire partagИe. De cette maniХre, quand vous exИcutez des + chaНnes de programmes, telles que \filename{tex} qui appelle \filename{mpost} + qui appelle \filename{tex}, le temps d'initialisation de chaque sous-programme + est diminuИ (sauf pour le premier). Ce comportement est invisible pour + l'utilisateur, sauf si celui-ci positionne le niveau de trace de + \KPS{} Ю la valeur $-1$ : dans ce cas, tout accХs au bloc de + mИmoire partagИe est tracИ, ce qui n'est pas souhaitable (les + programmes accХdent trХs souvent Ю ce bloc !). Cette situation + Иvoluera probablement + dans le futur. %, lorsqu'il sera clair de savoir ce qu'il faut garder + % dans cette trace. +\item [\cmdname{kpsecheck}] Cette commande fournit des fonctionnalitИs + 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 rИalitИ, la sortie est polluИe 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'accХs Ю 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 spИcifiИs). + + La commande \cmdname{kpsecheck} peut aussi indiquer le statut + d'utilisation de la mИmoire partagИe : en utilisation ou + non-utilisИe. Cette information peut Йtre trХs utile, car si le + statut rapportИ est \og en utilisation\fg{}, cela signifie qu'un + ou plusieurs processus tournent et utilisent le bloc de mИmoire + partagИe. Dans ce cas, une rИinitialisation des tables de hachage + basИe sur les fichiers \filename{ls-R}, comme la commande + \cmdname{mktexlsr} l'effectue, sera automatiquement repoussИe + jusqu'Ю ce que tous les processus utilisant la version courante en + mИmoire partagИe soient terminИs. Il est prИvu d'enlever cette + limitation dans une version future, mais la version actuelle de + \KPS{} % n'est pas suffisamment rИentrante pour autoriser simplement + % cette rИinitialisation. + ne permet pas de faire facilement cette rИinitialisation. + + Enfin, la mЙme 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И + appropriИe dans la base de registre, que d'utiliser \path{gswin32c.exe} et + de modifier le \path{PATH} qui a une longueur limitИe. + +\item [\Webc] Les moteurs \TeX{} ont quelques options supplИmentaires + par rapport Ю la version standard, et une option dont le + comportement diffХre de la version standard : + \begin{itemize} + \item[] \path{-halt-on-error} arrЙte la compilation Ю la premiХre + erreur. + \item[] \path{-job-time} positionne la date des fichiers crИИs Ю la + date de rИfИrence fournie par celle du fichier donnИ en argument. + \item[] \path{-oem} utilise le codepage DOS pour les sorties console. + \item[] \path{-output-directory} permet de crИer tous les fichiers + de sortie dans le rИpertoire spИcifiИ. + \item[] \path{-time-statistics} affiche des statistiques Ю propos du + temps d'exИcution. Il est Ю noter que Windows~9x n'Иtant pas un + systХme multi-tБche prИemptif, il ne possХde pas d'horloge + interne suffisamment prИcise pour mesurer ces temps d'exИcution + et donc la valeur affichИe n'est qu'une approximation. Sous + NT/2K/XP, le rИsultat est assez prИcis et comprend le temps + utilisateur et le temps systХme allouИs Ю la compilation. Pour + les utilisateurs d'Unix : la commande \path{time} n'existe pas + sous Windows. + \end{itemize} +\end{description} + +\subsection{Personnalisation de l'installation} +\label{sec:persconf} + +\subsubsection{Dvips} + +Le fichier de configuration de \texttt{dvips} se trouve par dИfaut en +\path{C:\string\TeXLive2005\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 paramХtres : +\begin{description} +\item[fontes] vous pouvez changer la rИsolution et le mode de + l'imprimante Ю laquelle sont destinИs vos fichiers dans le cas oЫ + \texttt{dvips} aurait besoin de gИnИrer des fontes bitmap. Par dИfaut, + les fontes Type1 CM interpolИes sont utilisИes, et donc + \path{mktexpk} ne devrait pas Йtre appelИ trop souvent. +\item[imprimante] vous pouvez spИcifier oЫ se fera l'impression par + dИfaut. 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 + spИcifier 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 + dИfaut (A4), par exemple en format US letter, le premier format + mentionnИ. Allez vers les lignes dИbutant par \path{@}. DИplacez les + lignes adИquates, 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{} courante intХgre la procИdure permettant d'avoir +toujours des fichiers fontmaps Ю jour pour Dvips et PdfTeX. C'est le programme +\cmdname{updmap} qui le fait durant l'installation, comme lors de l'ajout de +collection de fontes. Si vous ajoutez de nouvelles fontes Ю la main, +Иditez le fichier \verb+updmap.cfg+ dans \path{$TEXMFVAR/web2c}. %$ + +\subsubsection{PdfTeX} + +Si le programme pdf{}latex 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\TeXLive2005\string\texmf-var\string\tex\string\generic\string\config\string\pdftexconfig.tex} +et modifier \samp{\bs page\_width} et \samp{\bs page\_height}. +Ces entrИes 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{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{DИmarrer} et sИlectionnez \guiseq{Media\arw Letter}. +Le sous menu Display Settings vous permet +Иgalement d'amИliorer 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}. + +\subsubsection{Windvi} +\label{sub:windvi} + +Le programme \cmdname{tlpmgui} associe automatiquement les fichiers de suffixe +\file{.dvi} au programme \cmdname{Windvi} mais il ne crИe pas d'icТne sur +le bureau pour \cmdname{Windvi}, il faut le faire Ю la main. + +Lancer \cmdname{Windvi} en double cliquant sur l'icТne ou Ю partir de la ligne +de commande. + +Pour sИlectionner un format de papier US Letter, allez dans le menu +\guiseq{View\arw Options\arw Papertype} et sИlectionnez +\og US (8.5"x11")\fg{} dans la +liste dИroulante Paper Type. Cliquez OK et fermez \cmdname{Windvi}. + +La premiХre fois que vous ouvrirez un fichier \file{.dvi}, vous pouvez +trouver le facteur de zoom trop important ; rИduisez-le en tapant sur +la touche \og moins \fg{} du clavier numИrique jusqu'Ю ce qu'il soit Ю +votre goШt. + +Vous pouvez modifier le format de papier dans les options de +\cmdname{Windvi} (menu View, Options) ainsi qu'un certain nombre +d'autres paramХtres comme par exemple la capacitИ Ю exИcuter des +commandes systХme spИcifiИes dans le document (dИsactivИ par dИfaut pour +des raisons de sИcuritИ). + +Les paramХtres de \cmdname{Windvi} sont enregistrИs dans un fichier de nom +\filename{windvi.cnf}. +Vous pouvez le localiser de la maniХre suivante : +\begin{verbatim} +C:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +%$ + +Si vous avez des problХmes avec \cmdname{Windvi}, il est conseillИ d'effacer +le fichier de configuration, puis de refaire un test dans la configuration par +dИfaut. + +\subsection{Tests} + +Pour des procИdures gИnИriques de vИrification, voir +section~\ref{sec:test-install}, page~\pageref{sec:test-install}. +Cette section dИcrit les tests spИcifiques Ю 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\TeXLive2005\string\texmf-dist\string\tex\string\latex\string\base}. +Le source \LaTeX{} doit apparaНtre Ю l'Иcran. Compilez-le en cliquant +sur le menu (XEmacs) \guiseq{Command\arw LaTeX} ou sur l'icТne \LaTeX{} +(WinShell) dans la barre d'outils, ensuite affichez-le en +cliquant sur le menu (XEmacs) \guiseq{Command\arw View DVI} +ou sur l'icТne Preview (Windvi). + +La premiХre fois que vous afficherez un document avec \cmdname{Windvi}, il va +crИer les fichiers de fontes bitmaps qui ne sont pas installИes. +AprХs avoir visualisИ quelques fichiers, vous aurez crИИ la plupart de ces +fichiers et vous ne verrez plus souvent apparaНtre la fenЙtre de crИation de +fontes. + +En cas de problХmes, reportez-vous Ю la +sous-section~\ref{sec:troubleshooting}. + +\subsection{Impression} +\label{sub:printing} + +Il est possible d'imprimer depuis \cmdname{Windvi}. Dans ce cas, l'impression +utilise le pilote unifiИ d'impression de Windows, il est donc par +dИfinition compatible avec toutes les imprimantes. Cependant, il y a +un inconvИnient : cette impression gИnХre des fichiers (spool) trХs +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 paramХtres de l'imprimante +soient correctement dИfinis (sous-section~\ref{sub:windvi}) sous peine +d'avoir un effet d'Иchelle +(imprimer Ю 600\,dpi sur une imprimante qui fait rИellement 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}, sИlectionner \textbf{Print\dots{}} dans le menu +\textbf{File}. Une fenЙtre de dialogue pour l'impression apparaНt. + +Si vous utilisez une imprimante PostScript, \emph{soyez sШr de + sИlectionner \textbf{PostScript Printer}} en choisissant cette +option dans \textbf{Print Method} en bas Ю gauche de la boНte de +dialogue, faute de quoi l'impression Иchouera. Vous +pouvez ensuite sИlectionner une imprimante quelconque parmi celles +installИes. + +Si vous utilisez une imprimante qui ne supporte pas PostScript, +sИlectionnez \textbf{Ghostscript Device} dans \textbf{Print + Method}. Ensuite cliquez sur le bouton \textbf{djet500} et +sИlectionnez votre imprimante. + +%Si vous utilisez \cmdname{WinShell} et une imprimante PostScript, le +%plus pratique est de dИfinir un bouton Impression dans la barre +%d'outils de \cmdname{WinShell} qui appellera dvips avec les options +%envoyant directement le rИsultat Ю l'imprimante. Pour des instructions +%dИtaillИes sur la maniХre de procИder, reportez-vous Ю la +%sous-section suivante. + +\subsection{Trucs et astuces Ю propos de la plate-forme Win32} + +\subsubsection{DiffИrentes dИclinaisons de Win32} + +Ce que recouvre la dИnomination Win32 n'est pas un systХme +d'exploitation. C'est un ensemble de fonctions trХs +vaste (environ 12000 fonctions dans les fichiers d'en-tЙte du + SDK Microsoft) que vous pouvez utiliser pour Иcrire des programmes +pour diffИrentes versions des systХmes d'exploitation de la famille +Windows. + +Windows se dИcline en plusieurs versions : +\begin{itemize} +\item Win95, Win98 et WinME, qui \emph{ne sont pas de vrais systХmes + d'exploitation multitБches et multithreads}. Ils sont en fait les + derniХres incarnations de DOS. On peut s'en apercevoir, car en + lanГant le PC, l'interprИteur de commandes \path{command.com} est + chargИ et si vous arrЙtez le processus Ю ce moment, vous pouvez + demander la version courante (de DOS) et il vous est rИpondu quelque + chose du style "MS-DOS 7.0", au moins pour les versions anciennes de + Windows~9x ; +\item Windows \acro{NT} est un systХme d'exploitation Иcrit Ю partir + de zИro, avec un + vrai multitБche prИemptif et des fonctionnalitИs de trХs haut niveau ; +\item Windows 2000 est Иcrit sur une base \acro{NT}, il est dotИ de toutes les + facilitИs offertes par Win98 ; +\item Windows \acro{XP} existe en versions Personnelle et + Professionnelle. C'est la derniХre Иtape dans la fusion entre les + deux lignes de produits (basИe sur Windows~9x et basИe 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 mЙme temps. Mais le systХme d'exploitation +lui-mЙme n'est pas entiХrement Иcrit en mode 32~bits et ne fournit pas +une protection mИmoire entre les applications : les applications +16~bits peuvent Иcraser des parties du systХme d'exploitation en +mИmoire ! Des parties du systХme telles que le \acro{GDI} +(\emph{Graphical Device Interface}) ne se voient allouer que des +ressources de taille trХs +limitИe pour gИrer les bitmaps, les pinceaux et les polices, et ces +ressources sont allouИes de maniХre globale pour tous les programmes +qui tournent de maniХre concurrente. Par exemple, toutes les entЙtes de +bitmaps utilisИs par tous les programmes qui tournent simultanИment ne +doivent pas requИrir plus de 64~ko de mИmoire. Ceci explique le +comportement du moniteur de performance et le fait que vous pouvez +mettre votre systХme Ю genoux en utilisant de maniХre 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 multitБches, avec +une vraie mИmoire protИgИe. Ils rИpondent de maniХre plus fluide que +Windows~9x de par leur meilleure gestion de la mИmoire, leur systХme de +gestion de fichiers plus performant, etc. + +\subsubsection{La ligne de commande} + +Vous allez demander : mais pourquoi diable devrais-je me +prИoccuper d'une ligne de commande alors que j'ai Windows ? + +Bonne question. Le problХme est de nature trХs gИnИrale. Toutes les +opИrations ne peuvent pas Йtre accomplies trХs facilement Ю l'aide de +la seule interface graphique. La ligne de commande vous donne la +puissance de la programmation -- si vous avez un bon interprИteur de +commandes. + +Mais le problХme est plus fondamental : \TeX{} est un outil qui +fonctionne \emph{en batch}, de maniХre non-interactive. \TeX{} a +besoin de calculer la meilleure mise en page pour chaque page, de +rИsoudre les rИfИrences croisИes, etc. Ceci ne peut Йtre rИalisИ +que par un traitement global du document. Ce n'est pas encore une tБche +qui peut Йtre rИalisИe 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 tБches +complexes : ils sont bien plus fiables, parce qu'ils n'hИritent pas de +la complexitИ inhИrente 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 possХde 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 +problХmes, 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'icТne \acro{MS-DOS} dans le menu \og \guiseq{DИmarrer\arw Programmes}\fg{}, + soit en choisissant \og \guiseq{DИmarrer\arw ExИcuter}\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{DИmarrer\arw + Accessoires}\fg{} (ces emplacements peuvent changer d'une version de Windows Ю + l'autre). Vous pouvez aussi choisir le menu + \og DИmarrer -> ExИcuter\fg{} et taper \path{cmd.exe}, qui est le nom + du nouvel interprИteur de commandes pour NT. +\end{description} + +\subsubsection{Les sИparateurs de chemins} + +L'API Win32 admet les deux caractХres \verb+/+ et \verb+\+ comme +sИparateurs pour les noms de fichiers. Mais pas les interprИteurs +de commande ! Donc, chaque fois qu'un nom de fichier est utilisИ par +un programme, vous pouvez utiliser l'un ou l'autre sИparateur, mais +sur la ligne de commande, vous devez utiliser \verb+\+ comme unique +sИparateur. 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 deuxiХme cas, c'est l'interprИteur 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 sИparateurs, Ю la mode Unix ; +fp\TeX{} 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 sИparateurs +dans les noms de fichiers. + +\subsubsection{Les systХmes de gestion de fichiers} + +Une des plus mauvaises caractИristiques de Windows~9x vis-Ю-vis de \TeX{} +est probablement ce qu'on appelle le systХme de fichiers FAT. +\TeX{} utilise une myriade de petits fichiers dont la taille varie +entre 1~ko et 5~ko. Le systХme FAT est ancien et date d'une Иpoque bien +antИrieure Ю l'apparition des disques de plusieurs Go qui sont monnaie +courante aujourd'hui. Tout ceci pour dire qu'il n'est pas possible de +gИrer 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 nИcessaire. + +Le seul moyen d'Иviter ce problХme consiste Ю +passer en FAT32 ou NTFS. Ces systХmes sont plus rИcents et n'ont pas +l'inconvИnient de FAT. La taille des clusters par dИfaut y est de 4~ko, +leur accХs est plus performant. NTFS est protИgИ, redondant et on peut +mЙme ajuster la taille des clusters jusqu'Ю un minimum de 512 octets +Ю la crИation. + +\subsubsection{Comment ajouter un rИpertoire Ю votre PATH} + +Il existe dans votre systХme des variables qui +agissent un peu comme des variables globales Ю tous vos programmes. On +appelle cet ensemble de variables \emph{l'environnement}. Chaque +programme hИrite Ю son dИmarrage 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 propagИes aux autres programmes, sauf Ю ceux qu'il lance +lui-mЙme. + +Votre variable PATH est une variable spИciale de l'environnement +utilisИe pour chercher les programmes lorsque vous en demandez +l'exИcution. Il y a une procИdure diffИrente 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 commenГant par \path{PATH=} et suivie par une +liste de rИpertoires sИparИs par des points-virgules. Ajoutez le rИpertoire +contenant les programmes exИcutables au bout de cette ligne. Cette +ligne ressemble alors Ю la suivante : +\begin{verbatim} +PATH=C:\windows;C:\windows\system;C:\TeXLive2005\bin\win32 +\end{verbatim} +Les modifications ne prendront effet qu'aprХs redИmarrage 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 redИmarrer la machine pour que les modifications + prennent effet. +\item[Windows NT/2K/XP] + Ouvrez le \guiseq{Panneau~de~ContrТle}, accessible depuis le menu + \guiseq{DИmarrer\arw} \guiseq{ParamХtres\arw Panneau~de~ContrТle}. + Ouvrez l'icТne SystХme, la fenЙtre des \guiseq{PropriИtИs systХme} + s'ouvre. Choisissez l'onglet \textsf{Environnement} ou cherchez un + bouton \guiseq{Variables d'environnement} +parmi les diffИrentes boНtes de dialogue offertes. +Vous pouvez maintenant modifier vos propres variables d'environnement. +Il est Ю noter que les variables d'environnement systХme communes Ю +tous les utilisateurs sont Иgalement affichИes. 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 systХme -- mais vous devez savoir prИcisИment ce que +vous faites. + +S'il y a dИjЮ un \path{PATH} dИfini pour votre compte utilisateur, cliquez +dessus. Dans le champ \textsf{Variable} apparaНt \path{PATH} et dans le champ +\textsf{Valeur}, la liste courante de rИpertoires sИparИs par des +points-virgules. Ajoutez les rИpertoires oЫ se trouvent vos exИcutables (i.e. +\path{C:\string\TeXLive2005\string\bin\string\win32}). Si la variable +\path{PATH} n'est pas encore dИfinie, 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 faГon, les modifications seront +propagИes immИdiatement Ю 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 dИfinie +consiste Ю ouvrir une console et Ю taper +\begin{verbatim} +set VARIABLE +\end{verbatim} +la valeur correspondante doit alors Йtre affichИe.. + +\subsubsection{Les moteurs \TeX{}} + +En lisant la documentation de \Webc{}, on voit +que les diffИrents programmes dИrivИs de \TeX{} +utilisent le mЙme moteur de base. Par exemple, \path{tex.exe} et +\path{latex.exe} sont des copies exactes du mЙme programme, mais +chacun utilise un fichier de format diffИrent, en se basant sur le nom +par lequel il a ИtИ invoquИ. + +Sous Unix, ce mode de fonctionnement est rИalisИ en faisant appel aux +\emph{liens symboliques}. On peut ainsi Иconomiser un peu d'espace disque, +car plusieurs moteurs de base sont utilisИs avec diffИrents fichiers +de format. + +L'API Win32 ne connaНt 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} +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} +\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 mЙme moteur +\path{tl90pdfetex.dll}. La mЙme astuce a ИtИ utilisИe pour la famille de +programmes \path{mktex*.exe} qui utilisent tous la bibliothХque +\path{mktex.dll}. + +Il existe mЙme un outil gИnИrique 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 problХme} +\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 problХme. Malheureusement, \cmdname{kpsewhich} + Иcrit la trace 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 systХmes Windows NT/2K/XP savent le faire, + grБce Ю leur nouvel interprИteur de commandes, mais l'astuce spИcifique Ю + \KPS{}-Win32 fonctionne sur toutes les consoles.}. + Pour des besoins de diagnostic, vous pouvez positionner temporairement une + variable d'environnement (dans une console) : +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +Vous pouvez Иgalement dИfinir un niveau de trace : +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +La trace de l'exИcution des commandes suivantes sera conservИe 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 maniХre, vous pourrez rediriger Ю la fois stdout et stderr +dans le mЙme fichier. + +\item En supposant que l'installation a ИtИ faite dans + \texttt{C:/TeX}, vИrifiez 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 liИes Ю TeX sont + positionnИes dans votre environnement, enlevez-les, car elles + masquent les valeurs existant dans le fichier \filename{texmf.cnf}. + +\item VИrifiez les valeurs de :\\ + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & \texttt{C:/TeX/texmf/fonts/tfm/public/cm/cmr10.tfm}\\ + \texttt{kpsewhich latex.fmt}& \texttt{C:/TeX/texmf/web2c/latex.fmt} + \end{tabular} + +\item Ю ce point, si tout est correct, \TeX{} et tous les + programmes associИs doivent fonctionner. Si ce n'est pas le cas, + vous devez poursuivre vos investigations avec l'option \path{-debug=n} de + \path{kpsewhich} et contrТler toutes les valeurs. Essayez + d'identifier et de signaler le problХme. +\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 + positionnИe Ю \\ + \path{C:/TeXLive2005/texmf-var/web2c} (valeur par dИfaut) ? + +\item Est-ce qu'il y a des erreurs dans le fichier de log \file{tlmpgui.log} + gИnИrИ lors de l'installation par \filename{tlmpgui} ? Ce fichier est dans + le rИpertoire \file{TEMP}, les erreurs sont repИrИes par la sИquence + \samp{Error}. + +\item Y a-t-il des correctifs de bogues correspondant au problХme Ю + \url{http://www.tug.org/tex-live.html} (improbable, mais il vaut + mieux le vИrifier). + +\end{enumerate} + +Le logiciel \TL{} est composИ de centaines de +programmes et de milliers de fichiers d'origines trХs diverses. Il +est pratiquement impossible de prИdire toutes les causes possibles de +problХmes. NИanmoins, 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 systХme \protect\Webc{}} +\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\oe ur de \TL{}. + +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. + +Le systХme \Webc{} fonctionne sur Unix, les systХmes Windows 32 bits, +\MacOSX{} et de nombreux autres systХmes 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] 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 \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 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{}. 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} + +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 +\og deux-points\fg{} ou \og point-virgule\fg{}, 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{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 \og le fichier est censИ exister\fg{} 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*} +\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{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 + \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 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{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{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{Default-expansion} + +\tolerance=2500 +Si le chemin de recherche le plus prioritaire (voir +section~\ref{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 \og gelИe\fg{} (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{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{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{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 \acro{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{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} +%\renewcommand{\makelabel}[1]{\descriptionlabel{\makebox[1.2in]{#1}}} +\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{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 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{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. +\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 \DVDlive{}). +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 (\p.ex., 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{SExamplesofuse} 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, et 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 \og rИsident\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 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 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. + +\begin{comment} +\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 \DVDlive. + +\subsection{PrИrequis} + +% 100\,Mo seulement ??? (df) +Il faut au moins 100\,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 \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 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:unix-install-disk}, +\p.\pageref{sec:unix-install-disk}). Vous pouvez sauter l'installation de +tous les binaires prИcompilИs. +DИcompactez ensuite sur le disque le fichier tar (archive) +compressИ trouvИ dans le rИpertoire \dirname{source} et placez-vous dans +le rИpertoire oЫ vous avez transfИrИ l'ensemble. + +Lancez maintenant \textsf{configure} de la faГon suivante : +\begin{alltt} +> \Ucom{sh configure -prefix=/usr/local/TeX} +\end{alltt} + +Le rИpertoire \optname{-prefix} est le rИpertoire de base de l'arborescence. +Les rИpertoires utilisИs sont les suivants +(\path{$TEXDIR} dИsigne le rИpertoire de base) : + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/share/texmf} & rИpertoire 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/$PLATFORM} & exИcutables.\\ +\end{tabular}\\ + +Si vous ne voulez pas crИer de rИpertoire \dirname{$PLATFORM} spИcifique %$ +au systХme choisi (c.-Ю-d. copier directement les exИcutables 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И\ldots. + +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 \acro{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}, \p.\pageref{sec:postinstall}. +\end{comment} + +\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 +Sebastian Rahtz et Karl Berry. +Voici la liste des principaux contributeurs : + +\begin{itemize} + +\item Dante e.V., le groupe allemand d'utilisateurs de \TeX{} qui nous + fournit la machine sur laquelle le source de \TL{} est dИveloppИ et + maintenu, ainsi que Rainer SchЖpf et Reinhard Zierke qui veillent Ю + son bon fonctionnement. Volker Schaa et Klaus H\"oppner, respectivement + prИsident et vice-prИsident de Dante, ont + coordonnИ la production avec l'Иditeur-libraire Lehmanns + (\url{http://www.lob.de}). + +\item La sociИtИ Perforce (\url{http://www.perforce.com}), qui nous a + fourni gratuitement une licence de l'excellent + logiciel de dИveloppement concurrent, utilisИ pour gИrer + les sources 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 crИer la + version \HTML{} de cette documentation et qui travailla inlassablement Ю + l'amИliorer, avec des dИlais trХs brefs. + +\item Hans Hagen qui, outre sa participation active aux tests, + a adaptИ le format \ConTeXt\ aux besoins de \TL{}. + +\item Pawe{\l} Jackowski, pour l'installeur Windows \cmdname{tlpm}, +et Tomasz {\L}uczak, pour la version graphique \cmdname{tlpmgui}. + +\item \Thanh, Martin Schr\"oder et toute l'Иquipe pdf\TeX\ qui continuent + inlassablement Ю Иtendre les performances de \TeX. + +\item Petr Olsak, qui coordonna et vИrifia minutieusement toute la + partie tchХque et slovaque. + +\item Fabrice Popineau, pour les binaires Windows 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 dИpend le catalogue des +composants. +\end{itemize} + +Les binaires ont ИtИ compilИs par : +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} + et \pkgname{sparc-solaris}), +Staszek Wawrykiewicz (\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 (franГais), +Petr Sojka \& Janka Chleb\'\i kov\'a (tchХque et slovaque), +Boris Veytsman (russe), +Staszek Wawrykiewicz (polonais). + +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, +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 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: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 + 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 provisoirement plus proposИe dans l'attente +d'un nouvel installeur. ю la place, vous pouvez tester et installer +la distribution \MIKTEX{} (indИpendante de \Webc{}), +voir section~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}. +Le \CDdemo{} diffusИ en 2003 a ИtИ supprimИ. + +\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}, \p.\pageref{sec:tld}. +% et les fichiers \filename{README} Ю la racine de ces rИpertoires. +% (df) Y'en a pas !!! + +\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 +\CDref{texmf-doc/doc/english/tds/tds.html\#Extensions} +{\texttt{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 {\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 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 {\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 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} + +\subsection{L'Иdition 2005} +\label{tlcurrent} + +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}), voir %$ + section~\ref{sec:texconfig}, \p.\pageref{sec:texconfig}. + +\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}, \p.\pageref{sec:texmftrees} pour + la description des diffИrentes arborescences texmf utilisИes. + +\item L'an dernier nous avions rendu \og \texttt{undefined} \fg 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 Le 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} + +\subsection{Versions futures} + +\emph{\TL{} n'est pas un produit parfait !} +(et ne le sera jamais). Nous prИvoyons de le +renouveler tous les ans, 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 +Ю vous proposer ! + +Corrections, suggestions et propositions d'aide doivent +Йtre envoyИes Ю :\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{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/source/french/texlive-fr/live4ht.cfg b/Master/texmf-doc/source/french/texlive-fr/live4ht.cfg new file mode 100644 index 00000000000..4da18b3c746 --- /dev/null +++ b/Master/texmf-doc/source/french/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/source/french/texlive-fr/tex-live.css b/Master/texmf-doc/source/french/texlive-fr/tex-live.css new file mode 100644 index 00000000000..5062bc0d229 --- /dev/null +++ b/Master/texmf-doc/source/french/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/source/french/texlive-fr/tex-live.sty b/Master/texmf-doc/source/french/texlive-fr/tex-live.sty new file mode 100644 index 00000000000..e201e6b27e6 --- /dev/null +++ b/Master/texmf-doc/source/french/texlive-fr/tex-live.sty @@ -0,0 +1,2 @@ +\input{../../english/texlive-en/tex-live.sty} + diff --git a/Master/texmf-doc/source/general/texlive-common/examples/ex5.tex b/Master/texmf-doc/source/general/texlive-common/examples/ex5.tex new file mode 100644 index 00000000000..51a49fb670e --- /dev/null +++ b/Master/texmf-doc/source/general/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/source/general/texlive-common/examples/ex6.tex b/Master/texmf-doc/source/general/texlive-common/examples/ex6.tex new file mode 100644 index 00000000000..7a56896e61c --- /dev/null +++ b/Master/texmf-doc/source/general/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/source/general/texlive-common/examples/ex6a.tex b/Master/texmf-doc/source/general/texlive-common/examples/ex6a.tex new file mode 100644 index 00000000000..bbc9f5b42a7 --- /dev/null +++ b/Master/texmf-doc/source/general/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/source/general/texlive-common/examples/ex6b.tex b/Master/texmf-doc/source/general/texlive-common/examples/ex6b.tex new file mode 100644 index 00000000000..5a5a92f1f22 --- /dev/null +++ b/Master/texmf-doc/source/general/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/source/general/texlive-common/examples/ex6c.tex b/Master/texmf-doc/source/general/texlive-common/examples/ex6c.tex new file mode 100644 index 00000000000..5daaeaa184b --- /dev/null +++ b/Master/texmf-doc/source/general/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/source/german/texlive-ge/Makefile b/Master/texmf-doc/source/german/texlive-ge/Makefile new file mode 100644 index 00000000000..b86298fa30d --- /dev/null +++ b/Master/texmf-doc/source/german/texlive-ge/Makefile @@ -0,0 +1 @@ +include ../../english/texlive-en/Makefile diff --git a/Master/texmf-doc/source/german/texlive-ge/cmsy10-40.png b/Master/texmf-doc/source/german/texlive-ge/cmsy10-40.png Binary files differnew file mode 100644 index 00000000000..55c7772320b --- /dev/null +++ b/Master/texmf-doc/source/german/texlive-ge/cmsy10-40.png diff --git a/Master/texmf-doc/source/german/texlive-ge/live.tex b/Master/texmf-doc/source/german/texlive-ge/live.tex new file mode 100644 index 00000000000..da122f2f0c4 --- /dev/null +++ b/Master/texmf-doc/source/german/texlive-ge/live.tex @@ -0,0 +1,3844 @@ +% distribution source: http://www.tug.org/ftp/texlive/Contents/testlive/ ...etc. +% documentation source: http://tug.org/texlive/devsrc/Master/texmf-doc/source/english/texlive-en/ +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/live.tex#16 $ $Author: karl $ $Date: 2004/11/15 $ +% TeX Live documentation. Originally written by Sebastian Rahtz and +% Michel Goossens, now maintained by Karl Berry and others. +% Public domain. +% German translation by GЭnter Partosch (7.11--22.11.2004) +% 2005 update by Klaus Hoeppner. + +\documentclass[a4paper,twoside,10pt]{article} +\ifnum\Status=1 + % Create A4 pdf + \pdfpageheight297mm + \pdfpagewidth210mm +\fi +\let\tldocgerman=1 % for live4ht.cfg +\usepackage{ngerman} +\usepackage{booktabs} +\usepackage[ngerman]{varioref} +\usepackage{parskip} +%\usepackage{tex4ht} +%\usepackage{hyperref} +\hyphenation{Da-tei-na-men Be-din-gun-gen UNIX Ab-schnitt Kon-fi-gu-ra-tions-da-tei +In-stal-la-tion Al-ter-na-tiv Zei-chen-zu-ord-nungs-da-tei einer eine TEXFONTMAPS} + +\usepackage{tex-live} + +%% perhaps a workaround: (no, it causes all the links to break; cannot +%% use \path here). +%\def\OnCD#1{\href{../../../../#1}{\path{#1}}} + +\newcommand\OptPl{{\ensuremath\rightarrow\ }} +\newcommand\Titlename[1]{{\textsf{#1}}} + +\setlength\marginparwidth{0pt} +\setlength\marginparsep{0pt} +\setlength\evensidemargin{15pt} +\setlength\oddsidemargin{15pt} + +% deutsche typographische Anpassung + % Trennung von tt-Font + \newcommand{\origttfamily}{}% sollte noch nicht definiert sein! + \let\origttfamily=\ttfamily % alte Definition von \ttfamily sichern + \renewcommand{\ttfamily}{\origttfamily \hyphenchar\font=`\-} + + \renewcommand{\samp}[1]{">\mbox{\texttt{#1}}"<} + \renewcommand{\optname}[1]{\mbox{\texttt{#1}}} + \renewcommand{\TypeI}{Type"~1} + \renewcommand{\var}[1]{{\rmfamily\sl #1}} + \renewcommand{\MP}{\textrm{META""POST}} +% \renewcommand{\cmdname}[1]{\textsf{\sc #1}} + \renewcommand{\dirname}[1]{\texttt{#1}}% directory name + \renewcommand{\filename}[1]{\texttt{#1}}% file name + \renewcommand{\KPS}{\cmdname{Kpathsea}} + \renewcommand{\TL}{{{\TeX}\,Live}} + \renewcommand{\MacOSX}{Mac\,\acro{OS\,X}\xspace} + + \newcommand{\ttit}[1]{\texttt{\itshape#1}} + \newcommand{\CDROM}{\acro{CD"~ROM}\xspace} + \newcommand{\pdfTeX}{pdf\TeX\xspace} + \newcommand{\pdfLaTeX}{pdf\LaTeX\xspace} + \newcommand{\plainTeX}{\textrm{plain}\TeX\xspace} + \newcommand{\CDVD}{\acro{DVD} und \acro{CD"~ROM}\xspace} + \newcommand{\pdf}{\acro{PDF}\xspace} + \newcommand{\TUG}{\TeX~Users~Group} + \newcommand{\DTK}{">Die \TeX nische KomЖdie"<} + \newcommand{\UKTUG}{\acro{UK}{\TeX} Users~Group} + \newcommand{\ME}{Windows\,\acro{ME}\xspace} + \newcommand{\NT}{Windows\,\acro{NT}\xspace} + \newcommand{\XP}{Windows\,\acro{XP}\xspace} + +\newcommand{\deflabel}[1]{\mdseries\cmdname{#1}\hfill} +\newenvironment{deflist}[1]% +{\begin{list}{}% +{\settowidth{\labelwidth}{\bf #1}% +\setlength{\leftmargin}{\labelwidth}% +\addtolength{\leftmargin}{\labelsep}% +\renewcommand{\makelabel}{\deflabel}}}% +{\end{list}} + +%--------------------------------------------------------- +% Fussnoten +%--------------------------------------------------------- +\makeatletter +\renewcommand{\@makefntext}[1]{% +% formatiert die Fussnoten als haengende Absaetze +\setlength{\parindent}{0pt}% +\begin{list}{}{% +\setlength{\labelwidth}{1.0em}% +\setlength{\leftmargin}{\labelwidth}% +\setlength{\labelsep}{3pt}% +\setlength{\itemsep}{0pt}% +\setlength{\parsep}{0pt}% +\setlength{\topsep}{0pt}% +\footnotesize}\item[\hfill\@makefnmark\hfill]#1% +\end{list}% +} +\makeatother + +%--------------------------------------------------------- +% Aufbereitungsvarianten +%--------------------------------------------------------- +%\renewcommand{\Status}{1} +% \Status = 0: TeX Live documentation in DVI format +% \Status = 1: TeX Live documentation in PDF format +% \Status = 2: TeX Live documentation in HTML format +% \Status = 3: TeX Live documentation as a Baskerville issue +% \Status = 4: TeX Live documentation as a TUB article + +\listfiles + +\begin{document} + +\title{% + {\huge \textit{Anleitung zum \protect\TL-System}\\\strut} + {\LARGE \textsf{\TK{} 2005}} +} + +\author{Sebastian Rahtz \& Karl Berry (Herausgeber) \\[3mm] + \url{http://tug.org/texlive/}\\[12mm] +\ifnum \Status=1 + %\includegraphics[width=.7\hsize]{texlive2004-front.pdf} \\[5mm] +\else\ifnum \Status=2 + %\includegraphics[width=.7\hsize]{texlive2004-front.png} \\[5mm] +\fi\fi + \small{\textit{Verantwortlich fЭr die deutsche Ausgabe}}\\[3mm] + \small{Klaus HЖppner, \email{klaus@dante.de}} \\ + \small{(DANTE e.V.)} \\[3mm] +% \small{\textit{Ansprechpartner fЭr die Ausgaben in}}\\[3mm] + \small +% \begin{tabular}{lll} +%Englisch & Karl Berry & \email{karl@freefriends.org} \\ %% +%FranzЖsisch & Daniel~Flipo \& +% Fabrice Popineau & \email{Daniel.Flipo@univ-lille1.fr} \\ +% & & \& \email{Fabrice.Popineau@supelec.fr} \\ +%Polnisch & Staszek Wawrykiewicz & \email{staw@gust.org.pl} \\ +%Tschechisch & Petr Sojka & \email{sojka@informatics.muni.cz} \\ +%Slowakisch & Jan~Busa & \email{Jan.Busa@tuke.sk} \\ +%Russisch & Boris Veytsman & \email{borisv@lk.net} \\ %% +%Deutsch & GЭnter Partosch +% \& Hartmut Henkel & \email{Guenter.Partosch@hrz.uni-giessen.de} \\ +% & & \& \email{hartmut_henkel@gmx.de}\\ +% \end{tabular} \\[8mm] + } + + +\date{Oktober 2005} + +\maketitle +\thispagestyle{empty} + +\newpage + +\begin{multicols}{2} + \tableofcontents + \listoffigures + \listoftables +\end{multicols} + +%\renewcommand{\Status}{0} +%\typeout{Status is \Status} + +\clearpage + +% ============================================================== +\section{Einleitung}\label{sec:intro} + +Diese Anleitung beschreibt das \TL-System. Die {\TL} enthДlt +\TeX/\LaTeX-Systeme fЭr Linux, verschiedene \acro{UNIX}-Plattformen, {\MacOSX} +und (32-Bit)-Windows. \textbf{Warnung:} FЭr Дltere Macintosh-Systeme und \acro{MS-DOS} sind diese +\TeX-Systeme wenig hilfreich. + +{\TL} enthДlt lauf"|fДhige Versionen von \TeX, \LaTeXe, \ConTeXt, \MF, \MP, +\cmdname{Makeindex}, {\BibTeX} und vielen anderen Programmen, +sowie eine umfassende Auswahl an Makros, ZeichensДtzen und +Beschreibungen, die gemДъ der Standard"=\TeX"=Verzeichnisstruktur (\TDS) +abgelegt sind. {\TL} eignet sich somit zur Nutzung +mit nahezu jeder \TeX"=Installation und erlaubt das Setzen von Schriften +und Texten vieler Sprachen. Es ist Teil der \TK, die in Zusammenarbeit mit den verschiedenen \TeX-Benutzergruppen +entstanden ist und kurz im Abschnitt~\ref{sec:struct-tl} auf Seite~\pageref{sec:struct-tl} beschrieben wird. + +Wenn Sie neuere Versionen der dort aufgefЭhrten 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 +gegenЭber der VorgДngerversion finden Sie im Abschnitt~\ref{sec:history} auf +Seite~\pageref{sec:history}. + +%Da diese {\TK} auf einem Medium (\DVD) {\TL} und {\CTAN} +%miteinander verbindet, gibt es im Abschnitt~\ref{sec:ctan} auf Seite~\pageref{sec:ctan} +%einige zusДtzliche Informationen Эber den +%\CTAN-Teil. + +% ------------------------------------------------------------- +\subsection{EinsatzmЖglichkeiten des \TL-Systems der \TK}\label{sec:basic} + +% ++++++++++++++++++++++++ +\newcommand{\distribs}{% +% will be used repeatedly +(siehe hierzu Kapitel~\ref{sec:multiple-dist} auf +Seite~\pageref{sec:multiple-dist} Эber die verschiedenen +Distributionen)} +% ++++++++++++++++++++++++ + +Sie kЖnnen das \TL-System auf drei verschiedene Arten nutzen: + +\begin{enumerate} +\item Sie kЖnnen auf Kosten der AusfЭhrungsgeschwindigkeit alle + zu {\TeX} gehЖrenden Programme direkt von der \pkgname{live}-{\DVD} + starten und auf alle Makros und ZeichensДtze zugreifen + \distribs. Dieses Vorgehen benЖtigt kaum Plattenplatz -- der Geschwindigkeitsverlust kann akzeptiert werden. +\item Sie kЖnnen das \TL-System komplett (oder Teile davon) auf + einer lokalen Platte installieren. Dies ist sicherlich der Normalfall, + erfordert aber mindestens 100\,MB Plattenplatz. FЭr das empfohlene + Standardsystem benЖtigen Sie 310\,MB und fЭr eine Komplettinstallation + bis zu 1,3\,GB an Plattenspeicherplatz. +\item Sie haben die MЖglichkeit, Ihr bestehendes \TeX-System durch + Pakete oder Sammlungen von der {\CDVD} zu ergДnzen. Dabei ist es + gleichgЭltig, welches \TeX-System Sie benutzen. +\end{enumerate} + +Alles das wird bei den betreffenden Installationsanleitungen fЭr jedes Betriebssystem +ausfЭhrlich erlДutert. Hier das Notwendigste: + +\begin{itemize*} +\item Das Hauptinstallationsskript fЭr \acro{UNIX} und {\MacOSX} ist \cmdname{install-tl.sh}. +\item Um ein einzelnes Paket unter \acro{UNIX} zu installieren, benutzen Sie das Skript \cmdname{install-pkg.sh}. +\item Das Windows-Installationsprogramm mit dem Namen \cmdname{tlpmgui.exe} +befindet sich im Verzeichnis \dirname{setup-win32} (siehe dazu Abschnitt~\ref{sec:win-install}). +Mit diesem Programm kЖnnen Sie auch nachtrДglich Pakete hinzufЭgen oder entfernen. +\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 UnterstЭtzung angewiesen sind oder eine solche +bevorzugen, sollten Sie die Finger vollstДndig vom \TL-System lassen und +in der Aufstellung unter \url{http://tug.org/interest.html#vendors} nach +einem geeigneten HДndler suchen. + +Die folgende Liste stellt die leicht zugДnglichen Quellen in der +empfohlenen Reihenfolge vor: + +\begin{description} +\item [EinfЭhrung:]\mbox{}\\ + Wenn Sie \TeX-AnfДnger sind und eine englische EinfЭhrung in das System benЖtigen, sollten Sie das \acro{WWW}- + Dokument \url{http://tug.org/begin.html} (Englisch) lesen. + + FЭr deutschsprachige \LaTeX-AnfДnger ist die ">\LaTeXe-Kurzbeschreibung"< von groъem Nutzen + (\OnCD{texmf-doc/doc/german/lshort-german/}). +\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 + AnfДngerfrage bis zu Expertenwissen. Sie ist Bestandteil + des \TL-Systems (\OnCD{texmf-doc/doc/german/FAQ-ge/}) und umfasst zur + Zeit 182~Seiten als \pdf-Datei (\OnCD{texmf-doc/doc/german/FAQ-ge/de-tex-faq.pdf}). DarЭber hinaus ist die + \acro{FAQ} als \HTML-Datei (\OnCD{texmf-doc/doc/german/FAQ-ge/html/index.html}) + und als durchsuchbare Textdatei + (\OnCD{texmf-doc/doc/german/FAQ-ge/text/index.html}) enthalten. + Im Internet finden Sie die \acro{FAQ} unter + \url{http://www.dante.de/faq/de-tex-faq/}; zudem wird die + Text"-ver"-sion regelmДъig zur Monatsmitte in die News-Gruppen + \url{news:de.comp.text.tex}, \url{news:de.answers} und \url{news:news.answers} + verschickt. Die \acro{FAQ} besteht aus mehreren Teilen, wobei + jeder Teil ohne News-Header nicht lДnger als ca. 32\,KB ist. + + Des Weiteren existiert eine englischsprachige \acro{FAQ}-Sammlung + (\OnCD{texmf-doc/doc/english/FAQ-en/}), die auch im Internet verfЭgbar ist + (\url{http://www.tex.ac.uk/faq}). + + Bitte nutzen Sie bei Problemen zu allererst diese beiden MЖglichkeiten. + +\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 enthДlt eine Liste aller verfЭgbaren + \TeX-spezifischen Dinge (siehe \OnCD{texmf-doc/doc/english/catalogue} oder + \url{http://www.ctan.org/tex-archive/help/Catalogue/}). + +\item [\TeX-\acro{WWW}-Ressourcen:]\mbox{}\\ + Im \acro{WWW}-Dokument \url{http://tug.org/interest.html} finden Sie eine groъe Anzahl \TeX-spezifischer + Links zu BЭchern, Manuals und Artikeln zu allen Aspekten des \TeX-Systems. + +\item [Archive:]\mbox{}\\ + Ein Forum fЭr 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 kЖnnen Sie in Google + beispielsweise mit \url{http://groups.google.de/groups?group=de.comp.text.tex} + 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/} durchzufЭhren (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 MЖglichkeiten immer noch keine + Antwort auf Ihre Frage gefunden haben, kЖnnen Sie die Frage auch in einer + News-Gruppe stellen (neudeutsch: \emph{posten}). Hier bietet sich fЭr + den deutschsprachigen Raum die News-Gruppe \url{news:de.comp.text.tex} an. + Benutzen Sie am besten fЭr Anfragen Google + (\url{http://groups.google.de/groups?group=de.comp.text.tex}) + oder einen Newsreader. Fragen an die englischsprachige Gruppe + \url{news:comp.text.tex} + (bei Google: \url{http://groups.google.de/groups?group=comp.text.tex}) + sollten Sie bitte nur in Englisch stellen. + + ZusДtzlich 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}). DarЭber hinaus bietet sich fЭr 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 kЖnnen, + 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 + EintrДge 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 mЖchten, sollten Sie die + E-Mail-Liste \email{tex-live@tug.org} nutzen. + Korrekturen, Anmerkungen und Erweiterungen fЭr die deutsche эbersetzung kЖnnen Sie auch + an \email{cdrom@dante.de} oder schriftlich an die GeschДftsstelle 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 kЖnnen 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[Struktur des \protect\TeX Live-Systems]{Struktur des \TL-Systems}\label{sec:struct-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. + + +% ------------------------------------------------------------- +\subsection[Die Distributionen \protect\pkgname{live}, \protect\pkgname{inst}, \protect\pkgname{protext}]% +{Die Distributionen \pkgname{live}, \pkgname{inst}, \pkgname{protext}}\label{sec:multiple-dist} + +Das Material des \TL-Systems war von Jahr zu Jahr angewachsen und hatte +den Rahmen, der durch die GrЖъe einer {\CDROM} vorgegeben war, gesprengt. Um nicht wieder eine +willkЭrliche Auswahl unter den unzДhligen Paketen, ZeichensДtzen und Hilfsprogrammen +treffen zu mЭssen, wurde schon 2003 der Entschluss gefasst, die {\TK} in +unterschiedliche Distributionen zu zerlegen. Im Einzelnen: + +\begin{deflist}{\pkgname{protext}} +\item [\pkgname{live}] + ist ein vollstДndiges System auf einer {\DVD}. + Mit mehr als 1,1\,GB ist es zu groъ fЭr eine \CDROM. + Es kann auf Festplatte installiert oder direkt von der {\DVD} gestartet werden. + ZusДtzlich enthДlt die {\DVD} unabhДngig vom \TL-System die + Mac\TeX-Distribution fЭr \MacOSX, \pkgname{pro\TeX t} -- eine + alternative \TeX-Distribution fЭr MS Windows, die auf \MIKTEX + basiert -- und ein fast vollstДndiges Abbild des \CTAN-Archivs + (Stand: Oktober~2005) und eine Sammlung verschiedener Pakete in + einem \dirname{texmf-extra}-Verzeichnis. + + Wenn Sie die {\DVD} unter Windows ">mounten"<, bietet Ihnen das Setup-Programm an, \pkgname{protext} zu + starten (siehe unten). Es berЭcksichtigt dabei auch {\CTAN} und {\TL}, die sich in Unterverzeichnissen der + obersten Stufe auf der {\DVD} befinden. + + FЭr {\CTAN} und den Verzeichnisbaum \dirname{texmf-extra} gelten andere Weitergabe-Bedingungen als fЭr \TL. + Achten Sie bitte darauf, wenn Sie diese (oder Teile) weitergeben oder modifizieren. + +\item [\pkgname{inst}] + (installable) ist ein Komplettsystem auf \CDROM. Um dies zu ermЖglichen, wurden alle Dateien auf dieser {\CDROM} + komprimiert. Daher kann man {\TeX} auch nicht direkt von der \pkgname{inst}-{\CDROM} laufen lassen, sondern muss + es auf der Festplatte \textbf{inst}allieren. + Die Installation entspricht dem Vorgehen bei der Installation von der \pkgname{live}-\acro{DVD} auf der Festplatte und wird in spДteren Abschnitten beschrieben. + +\item [\pkgname{protext}] + {\ProTeXt} ist eine Erweiterung der \MIKTEX-Distribution fЭr Windows. Es ergДnzt {\MIKTEX} durch + einige Tools (u.\,a. \cmdname{WinEdt}, \cmdname{TeXnicCenter}, \cmdname{Ghostscript}/\cmdname{GSView}), ist + vЖllig unabhДngig vom \TL-System und hat eine eigene + Installation. {\ProTeXt} kann auf Festplatte installiert oder direkt gestartet werden. Informationen + zu {\ProTeXt} finden Sie im \acro{WWW} Эbrigens unter \url{http://tug.org/protext/}. + + {\ProTeXt} wird sowohl auf der \pkgname{live}-{\DVD} als auch auf einer eigenen {\CDROM} angeboten (fЭr + diejenigen, die die {\DVD} nicht benutzen kЖnnen). +\end{deflist} + +Welche der drei Distributionen Sie geladen haben, zeigt ihnen die Datei +">\file{00\var{typ}.TL}"< im Wurzelverzeichnis des Verteilungsmediums. FЭr die +\pkgname{inst}-Version der Distribution finden Sie die Datei mit dem +Namen ">\file{00INST.TL}"<. Die Datei enthДlt das Release-Datum und +beschreibt den mЖglichen Einsatz der Distribution und ihre EinschrДnkungen: + +\begin{small} +\begin{alltt} + This is the TeX Live `inst' distribution. You can *not* run programs + directly from it, you must install it to disk. It includes all packages. +\end{alltt} +\end{small} + +% soll ich das Folgende einfЭgen: ?? +% vielleicht wie folgt ?? +% 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.) +Alle \acro{DANTE}-Mitglieder erhalten die \TL-{\DVD} als Beilage zur Vereinszeitschrift \DTK. FЭr all diejenigen, die +nichts mit der {\DVD} anfangen kЖnnen, ist auf Anfrage auch eine \TL-{\CDROM} erhДltlich. ZusДtzlich gibt es auch +eine \ProTeXt-\CDROM. Wenden Sie sich bitte an das BЭro von \acro{DANTE}, Deutschsprachige Anwendervereinigung TeX e.V., +wenn Sie Interesse an einer der beiden {\CDROM}s haben. + +% ------------------------------------------------------------- +\subsection{Basisverzeichnisse}\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. + +\smallskip + +%% \begin{longtable}{@{}>{\ttfamily}lp{.63\hsize}@{}} +%% \hline +%% \rm +%% Verzeichnis & Inhalt \\ +%% \hline +%% \endfirsthead +%% \rm +%% Verzeichnis & Inhalt \\ +%% \hline +%% \endhead +%% \hline +%% \endfoot +\begin{tabular}{@{}>{\ttfamily}lp{.85\linewidth}@{}} +bin & ausfЭhrbare Programme des \TeX-Systems; + jeweils fЭr die verschiedenen Rechnerplattformen + in Unterverzeichnissen zusammengefasst \\ +source & Quelldateien aller Programme inklusive der + \Webc-Quellen fЭr 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 fЭr Programme und zugehЖrigen Hilfsdateien und Anleitungen; enthДlt keine \TeX-Formate + und Pakete (siehe \texttt{TEXMFMAIN} im nДchsten Abschnitt) \\ +texmf-dist & Hauptbaum mit Formaten und Paketen (siehe \texttt{TEXMFDIST} im nДchsten Abschnitt)\\ +texmf-doc & Verzeichnisbaum mit vollstДndigen Dokumentationen (ohne andere installierte Dateien); sortiert nach + Sprachen \\ +texmf-var & Verzeichnisbaum fЭr automatisch erzeugte und gespeicherte Dateien + fЭr \TeX, {\MF} und andere (siehe \texttt{TEXMFSYSVAR} im nДchsten Abschnitt),\\ +xemtex & Verzeichnis mit nЭtzlichen Programmen fЭr Windows aus dem \XEmTeX-Paket + (Alle diese Programme sind auf \acro{UNIX}-Systemen in + der Regel vorinstalliert oder lassen sich zumindest + leicht kompilieren.) \\ +%%\end{longtable} +\end{tabular} + +\smallskip + +ZusДtzlich zu den oben aufgefЭhrten Verzeichnissen finden Sie im Wurzelverzeichnis der Distribution auch noch die +Installationsskripte und die \filename{README}-Dateien in verschiedenen Sprachen. + +Das Verzeichnis \OnCD{texmf-doc} enthДlt zwar nur Anleitungen, bei weitem aber nicht die gesamte Dokumentation: +Die Dokumentation fЭr Programme (HandbЭcher, ">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 fЭr 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 kЖnnte auch die Link-Sammlung \filename{doc.html} im +Wurzelverzeichnis sein. + +% ------------------------------------------------------------- +\subsection{эberblick Эber die vordefinierten texmf-BДume} +\label{sec:texmftrees} + +Dieser Abschnitt listet alle vordefinierten texmf-BДume, 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 enthДlt systemunabhДngige Daten, die prinzipiell + von jedem TDS-kompatiblem \TeX-System nutzbar sein sollten. +\item [TEXMFLOCAL] Dieser Baum ist fЭr ErgДnzungen oder Aktualisierungen + von Makros, Fonts etc. gedacht, die Administratoren fЭr alle Nutzer + installieren. +\item [TEXMFHOME] In diesem Baum kЖnnen einzelne Nutzer ErgДnzungen oder + Aktualisierungen von Makros, Fonts etc. ablegen. StandardmДъig 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. + StandardmДъig 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 fЭr 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} + +FЭr nДherere Hinweise zu \texttt{texconfig} und zu den davon abhДngigen +Hilfsprogrammen siehe Abschnitt~\ref{sec:texconfig} auf Seite~\pageref{sec:texconfig}. + +% ------------------------------------------------------------- +\subsection{\protect\TeX-Erweiterungen}\label{sec:tex-extensions} + +Unter den \TeX-Systemen der {\TL} befinden sich verschiedene +\TeX"=Erweiterungen: + +\begin{deflist}{pdfe\TeX} +\item [\eTeX]\label{text:etex} stellt bei 100\%-iger KompatibilitДt zum + normalen {\TeX} einen kleinen, aber mДchtigen Satz neuer Befehle + bereit (fЭr Makroexpansion, Character-Scanning, zusДtzliche + Klassen fЭr ">marks"<, erweiterte Debug-MЖglichkeiten und andere). + ZusДtzlich gibt es noch die \TeXXeT-Erweiterungen fЭr 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 [\pdfTeX] erzeugt optional \pdf-Dateien (Acrobat) anstelle + von {\dvi}-Dateien. Die Dokumentation zu \pdfTeX{} finden Sie unter \OnCD{texmf/doc/pdftex/manual/pdftex-a.pdf}. + In der Datei + \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex} finden + Sie ein Anwendungsbeispiel. Das \LaTeX"=Paket \pkgname{hyperref} + besitzt die Option \optname{pdftex}, mit der MЖglichkeiten + fЭr aktive Querverweise von {\pdf} (Hypertext) zur + VerfЭgung gestellt werden. +\item [pdfe\TeX] kombiniert die \pdfTeX- und \eTeX-Erweiterungen. Es ist die voreingestellte ">Engine"< + fЭr alle Formate auъer \plainTeX. NДheres finden Sie in der Dokumentation. +\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. Auъerdem werden Эber dynamisch + geladene, sogenannte ">{\OMEGA}~Translation~Processes"< (\acro{OTP}s), + Transformationen zur VerfЭgung 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{deflist} + +%\clearpage + +% ------------------------------------------------------------- +\subsection{Weitere Programme der \TL} + +{\TL} enthДlt eine ganze Reihe unterstЭtzender Programme wie + +\smallskip + +\begin{deflist}{\cmdname{dv2dt, dt2dv}} +\item[\cmdname{bibtex}] Verwalten von Bibliographien +\item[\cmdname{dv2dt, dt2dv}] \file{dvi} nach ASCII und umgekehrt +\item[\cmdname{dviconcat}] ZusammenfЭgen 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 \pdfTeX. +\item[\cmdname{dvilj}] Druckertreiber fЭr die HP-LaserJet"=Familie +\item[\cmdname{lacheck}] \LaTeX-Syntax-эberprЭfung +\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}] \ConTeXt- und PDF"=Prozessor. +\item[\cmdname{xdvi}] \dvi-Bildschirmausgabe im X-Window-System +\end{deflist} + +% ============================================================== +\section{Installation und Anwendung von {\TL} unter \acro{UNIX}}\label{sec:UNIX-install} + +Wie schon in Kapitel~\ref{sec:basic} auf Seite~\pageref{sec:basic} +ausgefЭhrt, kЖnnen Sie {\TL} auf drei Arten nutzen: + +\begin{enumerate} +\item Sie kЖnnen das \TL-System direkt vom Verteilungsmedium laufen + lassen (gilt fЭr die \pkgname{live}-\DVD). + +\item Sie kЖnnen das Gesamtsystem oder Teile davon auf Ihrer Festplatte + installieren (gilt fЭr die \pkgname{live}-\DVD, die \pkgname{inst}- und \pkgname{protext}-\CDROM). + +\item Sie kЖnnen einzelne Pakete in Ihr bestehendes \TeX-System + integrieren, gleichgЭltig, ob es ein \TL-System oder ein + anderes ist (gilt fЭr die \pkgname{live}-\DVD, die \pkgname{inst}- und \pkgname{protext}-\CDROM). +\end{enumerate} + +Die folgenden Abschnitte beschreiben fЭr \acro{UNIX} jedes dieser drei +Verfahren ausfЭhrlich zum Nachvollziehen. Im Folgenden werden die Eingaben des +Benutzers nach dem Kommando-Prompt \samp{>} \Ucom{unterstrichen} dargestellt. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +{\centering +\begin{warningbox} +\textbf{Achtung: } Die {\CDROM}s und die {\DVD} der {\TK} wurden im Format ISO-9660 (High Sierra) +mit Rock"~Ridge- und Joliet"=Erweiterungen produziert. Damit Ihr +\acro{UNIX}-Rechner die {\TK} optimal nutzen kann, muss Ihr System diese +Erweiterungen unterstЭtzen. Schlagen Sie in der Systemdokumentation +des Befehls \emph{mount} nach, um zu ermitteln, ob Ihr System diese +Erweiterungen unterstЭtzt. Falls Sie die {\TK} in einem lokalen +Netzwerk einsetzen, suchen Sie sich einen Rechner aus, der die +Erweiterungen unterstЭtzt und ">mounten"< Sie die anderen Rechner auf diesen. + +%\leavevmode\quad +\smallskip +Moderne Linux-, \acro{BSD}-, Sun- und \acro{SGI}-Systeme haben +normalerweise keine Schwierigkeiten, {\TL} zu benutzen. Wenn +Sie ein anderes System einsetzen und {\TL} erfolgreich einbinden +konnten, bitten wir Sie um detaillierte Anweisungen, um diese +Anleitung weiter verbessern zu kЖnnen. + +%\leavevmode\quad +\smallskip +Der Rest der Anleitung geht davon aus, dass Sie +die {\TK} erfolgreich unter Verwendung der Rock"~Ridge- und +Joliet"=Erweiterungen ">mounten"< konnten. +\end{warningbox}\par} +\ifSingleColumn\end{figure}\fi + +% ------------------------------------------------------------- +\subsection{\protect{\TL} direkt vom Verteilungsmedium starten (\acro{UNIX})} + +% ++++++++++++++++++++++++ +\newcommand{\runlive}{% +% text repeated in windows section +Sie kЖnnen {\TeX} direkt von der \pkgname{live}-{\DVD} starten, ohne es vorher auf Festplatte installieren zu mЭssen +(daher der Name {\TeX} ">Live"<). Es ist aber \emph{nicht} +mЖglich, {\TeX} direkt von den {\CDROM}s laufen zu lassen +(siehe hierzu Kapitel~\ref{sec:multiple-dist} auf +Seite~\pageref{sec:multiple-dist} Эber die verschiedenen Distributionen). +In den folgenden Installationsschritten benutzen wir ">\texttt{>}"< fЭr +die Eingabeaufforderung und Unterstreichung fЭr Benutzereingaben. +} +% ++++++++++++++++++++++++ + +%\runlive + +% ++++++++++++++++++++++++ +\newcommand{\startinst}{% +% is repeated in other sections +Zuerst ">mounten"< Sie die {\CDROM} oder {\DVD} unter Verwendung der Rock"~Ridge"=Erweiterungen. +Das Kommando hierfЭr variiert von System zu System; die nachfolgenden Befehle funktionieren +unter Linux; nur der Name des \CDROM-/\DVD-Laufwerks (hier |/dev/cdrom|) muss u.\,U. +angepasst werden. + +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +Wechseln Sie mit Ihrem aktuellen Verzeichnis zum Mount-Point: + +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +Unter {\MacOSX} werden {\CDROM}s und {\DVD}s automatisch ">gemountet"<; +ein \cmdname{mount} ist deshalb ЭberflЭssig. Das Verteilungsmedium +wird in das Verzeichnis |/Volumes/| ">gemountet"<. +} + +\def\installtlsh{% +Starten Sie das Installationsskript \filename{install-tl.sh}: + +\begin{alltt} +> \Ucom{sh install-tl.sh}\\ +Welcome to TeX Live... +\end{alltt} + +Nach den BegrЭъungsmeldungen und der Ausgabe der HauptmenЭ-Liste +werden Sie aufgefordert, ein Kommando einzugeben. Geben Sie die +gewЭnschte Option ein und schlieъen Sie die Eingabe mit ">\cmdname{Return}"< +ab. +Bei der Eingabe bleiben Groъ- oder Kleinschreibung unberЭcksichtigt; +in unseren Beispielen benutzen wir die Kleinschreibung.} +% ++++++++++++++++++++++++ + +\runlive +\startinst +\installtlsh + +Um das \TL-System direkt vom Verteilungsmedium laufen zu lassen, mЭssen wir +als erstes Kommando \Ucom{d} eingeben und dann das Unterkommando \Ucom{1}, +um die Verzeichnisse zu erzeugen. Obwohl wir alle Programme von {\CDROM} oder +{\DVD} laufen lassen, muss trotzdem ein Verzeichnis auf der lokalen Platte +eingerichtet werden, um Dateien, die {\TeX} wДhrend der Laufzeiten +erzeugt wurden (beispielsweise Fonts, Formate und geДnderte Konfigurationsdateien), +abgelegt werden kЖnnen. Im folgenden Beispiel benutzen wir +\dirname{/opt/texlive2005} (wenn die Voreinstellung \dirname{/usr/local/texlive2005} +fЭr Sie in Ordnung ist, kЖnnen Sie den folgenden Schritt Эberspringen). Wir +empfehlen, das Erscheinungsjahr von \TL{} in den Pfadnamen -- wie oben im +Beispiel -- aufzunehmen, damit Дltere \TL-Installationen nicht beeinflusst werden. + +\begin{alltt} +Enter command: \Ucom{d} +Current directories setup: +<1> TEXDIR: /usr/local/texlive2005 +... +Enter command: \Ucom{1} +New value for TEXDIR [/usr/local/texlive2005]: \Ucom{/opt/texlive2005} +... +Enter command: \Ucom{r} +\end{alltt} + +ZurЭck im HauptmenЭ, geben wir unser zweites und letztes +Kommando \Ucom{r} ein, um den Modus ">von \CDROM/{\DVD} laufen lassen (keine +Installation auf Disk)"< zu erreichen: + +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live! +> +\end{alltt} + +Nun sind wir wieder zurЭck am System-Prompt \samp{>}. + +Der letzte Schritt zu einem funktionsfДhigen \TL-System ist die +дnderung zweier En"-viron"-ment-Variablen: \envname{PATH} und \envname{TEXMFSYSVAR}. +Die Variable \envname{PATH} muss um das Verzeichnis erweitert werden, in +dem die Programme der verwendeten Architektur liegen; \envname{TEXMFSYSVAR} +erhДlt die Verzeichnis-Angabe, die oben festgelegt wurde. +In Tabelle~\ref{tab:archlist} sehen Sie eine Liste der verfЭgbaren +Architekturen fЭr die verschiedenen Systeme. + +% ++++++++++++++++++++++++ +\newcommand{\textruntexconfig}{% +% is repeated in other sections +Direkt im Anschluss an die Installation und das Setzen der +En"-viron"-ment-Variablen wird \cmdname{texconfig} oder \cmdname{texconfig-sys} aufgerufen, +um das \TeX-System an Ihre lokalen Gegebenheiten anzupassen. +Dieser Schritt wird im Abschnitt~\ref{sec:texconfig} auf +Seite~\pageref{sec:texconfig} nДher erlДutert.} +% ++++++++++++++++++++++++ + +\textruntexconfig + +\begin{table}[tbh!] + \centering +\caption[UnterstЭtzte Betriebssysteme und Architekturen]{UnterstЭtzte Betriebssysteme und Architekturen}\label{tab:archlist} + +\smallskip + +\begin{tabular}{l>{\ttfamily}l} +\hline + Betriebssystem/Plattform & Version \\ +\hline + HP Alpha \acro{GNU}/Linux & alpha-linux \\ +% HP Alphaev5 \acro{OSF} 4.0d & alphaev5-osf4.0d \\ +% HP9000 \acro{HPUX} 10.20 & hppa2.0-hpux10.20 \\ + Intel x86 \MacOSX & i386-darwin \\ + Intel x86 Free\acro{BSD} & i386-freebsd \\ + Intel x86 \acro{GNU}/Linux & i386-linux \\ +% Intel x86 Open\acro{BSD} & i386-openbsd3.3 \\ +% Intel x86 Solaris & i386-solaris2.8 \\ + \acro{SGI} IRIX & mips-irix \\ + \acro{IBM} RS/6000 \acro{AIX} 4.3.* & powerpc-aix \\ + \MacOSX & powerpc-darwin \\ + Sun Sparc \acro{GNU}/Linux & sparc-linux \\ + Sun Sparc Solaris & sparc-solaris \\ + Windows 9X/ME/2K/NT/XP (32\,bit) & win32 \\ + Intel x68 64-Bit \acro{GNU}/Linux & x86\_64-linux \\ +\hline +\end{tabular} + +\end{table}\label{text:path} + +Die Syntax fЭr das Setzen einer En"-viron"-ment-Variable und der Name der +Initialisierungsdatei, in die sie geschrieben wird, hДngt von der Shell ab, +die Sie benutzen. Benutzer, die eine Shell einsetzen, die kompatibel zur +Bourne-Shell ist (z.\,B. \cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, usw.), +kЖnnen die folgenden Zeilen in Ihre Datei \file{\$HOME/.profile} einfЭgen: + +\begin{alltt} + PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH + TEXMFSYSVAR=/opt/texlive2005/texmf-var; export TEXMFSYSVAR +\end{alltt} + +FЭr C-Shell-kompatible Shells (z.\,B. \cmdname{csh}, \cmdname{tcsh}) +sind die folgenden Zeilen in die Datei \file{\$HOME/.cshrc} +aufzunehmen: + +\begin{alltt} + setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH + setenv TEXMFSYSVAR /opt/texlive2005/texmf-var +\end{alltt} + +Nach dieser дnderung loggen Sie sich aus und wieder ein und testen +Ihre Installation (siehe Abschnitt~\ref{sec:test-install} auf +Seite~\pageref{sec:test-install}. + +% ++++++++++++++++++++++++ +\newcommand{\textifindoubt}{% +Wenn Sie sich nicht sicher sind, fragen Sie Ihren lokalen System-Guru +um Rat, denn es variiert beispielsweise, wie {\CDROM}s oder {\DVD}s zu ">mounten"< +sind, welche Verzeichnisse benutzt werden dЭrfen oder wie die дnderungen +in den Initialisierungsdateien vorgenommen werden mЭssen.} +% ++++++++++++++++++++++++ + +\textifindoubt + +% ------------------------------------------------------------- +\subsection{Installation des \protect\TL-Systems auf der Festplatte}\label{sec:unix-install-disk} + +Es ist sicherlich der Standardfall, das \TL-System auf der +Festplatte zu installieren. Dies kann von der \TK-\DVD +oder der \TL-{\CDROM} erfolgen. +(lesen Sie Abschnitt~\ref{sec:multiple-dist} auf Seite~\pageref{sec:multiple-dist} fЭr eine ErlДuterung der verschiedenen Distributionen.) + +\startinst +\installtlsh + +Die Tabelle~\ref{tab:main-menu-options} listet die Optionen +des HauptmenЭs auf. Die Abfolge, in der Sie die einzelnen Optionen auswДhlen, +ist unerheblich, mit Ausnahme von ">\optname{i}"<, was stets am +Ende steht. Wir erlДutern die einzelnen Optionen in der angegebenen +Reihenfolge: + +% apparently here.sty [H] doesn't support table*. + +\begin{table}[H] +\caption{Optionen im InstallationshauptmenЭ}\label{tab:main-menu-options} +\centering +%\begin{tabular}{*{2}{>{\ttfamily}l}l@{}} +\begin{tabular}{@{}>{\ttfamily}lp{0.9\linewidth}} +p & \ttfamily The \optname{p}latform you are running on.\\ + & Plattform Дndern\\ +b & \ttfamily The architectures for which to install \optname{b}inaries.\\ + & Programme fЭr andere Plattformen installieren \\ +s & \ttfamily The base installation \optname{s}cheme to use (minimal, recommended, full, etc.\\ + & Installations-Schema auswДhlen \\ +c & \ttfamily Override the base scheme for individual \optname{c}ollections.\\ + & Installations-Schema Дndern \\ +l & \ttfamily Override for \optname{l}anguage collections.\\ + & Sprachschema Дndern\\ +d & \ttfamily \optname{D}irectories in which to install.\\ + & Installationsverzeichnisse festlegen \\ +o & \ttfamily \optname{O}ther options.\\ + & allgemeine Installationsoptionen \\ +%r & \optname{r}un off CD or DVD & nichts installieren; Lauf von \CDROM/\DVD \\ +i & \ttfamily Perform the \optname{i}nstallation.\\ + & Installation starten\\ +%h & \optname{h}elp & Hilfe \\ +%q & \optname{q}uit & Ende \\ +\end{tabular} +\end{table} + +Die Optionen im Einzelnen: + +\begin{itemize} +\item [\optname{p}] \textbf{Current platform}: Das Installationsskript versucht + automatisch festzustellen, auf welcher Plattform es + lДuft. Im Allgemeinen wird die Plattform korrekt erkannt, so dass diese + Option nur dann benutzt werden muss, wenn die automatische Erkennung versagt + oder Эberschrieben werden soll. + +\item [\optname{b}] \textbf{Binary architectures}: Im Standardfall werden nur + die Programme der aktuellen Plattform installiert. + Mit Hilfe dieser Option ist es aber mЖglich, Programme anderer + Plattformen zu installieren -- oder Эberhaupt keine, wenn Sie die + Programme lieber selber kompilieren mЖchten. Ersteres kann insbesondere + dann sinnvoll sein, wenn der \TeX-Verzeichnisbaum von mehreren + (heterogenen) Rechnern Эber ein Netzwerk ge">shared"< wird. Siehe + hierzu die Tabelle~\ref{tab:archlist} + auf Seite~\pageref{tab:archlist} mit den unterstЭtzten Architekturen. + + +\item [\optname{s}] \textbf{Base installation scheme}: In diesem MenЭ kЖnnen Sie aus einer Anzahl von vorkonfigurierten + Paket-Zusammenstellungen (">Schema-Definitionen"<) wДhlen. Die wichtigsten sind: + +\begin{tabular}{@{}lp{0.8\linewidth}} + \hline + Angabe & Inhalt und Verwendung \\ + \hline +\optname{basic} & Diese Angabe ist dann sinnvoll, wenn Sie nur wenig Platz auf der Festplatte haben.\\ +\optname{full} & Dies ist die Voreinstellung. Mit dieser Angabe bekommen Sie einfach alles.\\ +\optname{medium} & Irgendwo dazwischen\\ +\hline +\end{tabular} + + Daneben gibt es u.\,a. auch noch Paket-Zusammenstellungen fЭr {\OMEGA} and \acro{XML}. + +\item [\optname{c}] \textbf{Individual collections}: эber dieses MenЭ ist es mЖglich, den + Umfang der zu installierenden Sammlung (aus der Schema-Auswahl) + individuell zu verДndern. Sie kЖnnen den Installationsumfang (und die + LeistungsfДhigkeit Ihres Systems) durch An- oder Abwahl von Sammlungen + oder durch Einzelselektion bestimmen. Jede Paketsammlung (\TeX-Makros, + Font-Familien, usw.) besteht aus einer Anzahl von Paketen; hier kЖnnen + Sie einzelne Pakete hinzu- oder anwДhlen. Beachten Sie bitte in diesem MenЭ + die Groъ"~/""Kleinschreibung. + +%% \begin{tabular}{c>{\bfseries\sffamily}lc>{\bfseries\sffamily}l} % ?? prЭfen, ob die Tabelle noch gilt +%% a & Essential programs and files & o & Basic {\LaTeX}?? packages \\ +%% b & Extra {\BibTeX}?? styles & p & Support for latex3 \\ +%% c & The bare {\TL}?? binaries & s & {\LaTeX}?? supplementary packages \\ +%% d & Chemical typesetting & t & {\LaTeX}?? recommended packages \\ +%% e & Context macro package & u & Advanced math typesetting \\ +%% f & Extra documentation & v & Metapost (and Metafont) drawing \\ +%% g & e\TeX?? & w & {\OMEGA}?? \\ +%% h & {\TeX}?? auxiliary programs & x & {\pdfTeX}?? \\ +%% i & {\TeX}?? font-related programs & y & Drawing and graphing packages \\ +%% j & Recommended extra fonts & z & Plain {\TeX}?? extra macros \\ +%% k & Extra formats & A & {\PS}?? utilities \\ +%% l & Games typesetting (chess, etc & B & Support for publishers \\ +%% m & Miscellaneous macros & C & TrueType font manipulation \\ +%% n & HTML/SGML/XML support & & \\ +%% \end{tabular} + +\item [\optname{l}] \textbf{Language collections}: Dieses MenЭ hat eine Дhnliche Aufgabe + wie \Ucom{c} -- nДmlich das vorgegebene Schema zu Дndern: Hier kЖnnen Sie den Installationsumfang fЭr + die SprachunterstЭtzung festlegen. + + Jede Sammlung besteht aus + verschiedenen Paketen, die Makros, Fonts und Trennmuster enthalten. Beispielsweise + wird das Makropaket \pkgname{frenchle.sty} installiert, wenn die Sprachsammlung + \optname{French} ausgewДhlt wird. DarЭber hinaus hat die Sprachauswahl Einfluss + auf die Konfigurationsdatei \filename{language.dat}. Diese Datei steuert, welche + Trennmuster geladen werden. + +Die Liste fЭr Sprachen der {\TL} umfasst (Hier muss bei den +Auswahl-Buchstaben Groъ-/""Kleinschreibung unterschieden werden): + +\bgroup +\centering +\begin{tabular}{@{}p{0.24\linewidth}p{0.20\linewidth}p{0.20\linewidth}p{0.24\linewidth}} % ?? noch ganz grausig +(einige) Afrikanische Skripte & Arabisch & Armenisch & Chinesisch Japanisch Koreanisch \\ +Kroatisch & Kyrillisch & Tschechisch/""Slowakisch & DДnisch \\ +NiederlДndisch & Finnisch & FranzЖsisch & Deutsch \\ +Griechisch & Ungarisch & Indisch & Italienisch \\ +Latein & Manju & Mongolisch & Norwegisch \\ +Polnisch & Portugiesisch & Spanisch & Schwedisch \\ +Tibetanisch & \acro{UK}-English & Vietnamesisch & HebrДisch \\ +\end{tabular} +\egroup + +Der oben angegebenen Reihenfolge der Sprachen liegt die Abfolge der Auswahl-Boxen des MenЭs zugrunde. + +\item [\optname{d}] + \textbf{Installation directories}: Die folgenden drei Verzeichnisse kЖnnen hier + geДndert werden:\hfill + \label{text:instdir} + + \begin{ttdescription} + \item [TEXDIR]\mbox{}\\ + ist das Wurzelverzeichnis, unterhalb dessen alles installiert + wird. Die Voreinstellung ist \dirname{/usr/local/texlive2005}; + diese Angabe wird aber meistens verДndert. Sie kЖnnen auf diese + Weise verschiedene \TL-Ausgaben parallel betreiben. Wir empfehlen + daher, die Jahresangabe im Verzeichnisnamen beizubehalten. + Wenn Sie das neue Release ausfЭhrlich getestet haben, kЖnnten Sie + dann beispielsweise \dirname{/usr/local/texlive} zu einem + symbolischen Link machen. + + Unter {\MacOSX} wird das \TeX-Front-End Эblicherweise in + \dirname{/usr/local/teTeX} gesucht. Sie kЖnnen also Эberlegen, + das \TL-System dort zu installieren. + + \item [TEXMFLOCAL:]\mbox{}\\ + In diesem Zweig speichert das \TeX-System Эblicherweise die nicht + versionsabhДngigen Dateien, vornehmlich Fonts. Die Voreinstellung + ist \dirname{/usr/local/texlive/texmf-local}, unabhДngig vom + Release-Jahr der \TL. In diesen Verzeichniszweig gehЖren + auch alle lokalen Pakete und Konfigurationsdateien. + + \item [TEXMFSYSVAR:]\mbox{}\\ + In diesem Zweig speichert das System die versionsabhДngigen + Dateien, insbesondere Format-Dateien und Konfigurationsdateien, die + von \cmdname{texconfig-sys} verДndert werden (siehe Abschnitt~\ref{sec:texconfig} + auf Seite~\pageref{sec:texconfig}). Die Voreinstellung ist + \dirname{TEXDIR/texmf-var}. Normalerweise gibt es keinen Grund, diese Einstellung zu Дndern. + \end{ttdescription} + +\item [\optname{o}] + \textbf{Other Options}: In diesem MenЭ kЖnnen Sie grundlegende Installations-Optionen setzen: + \begin{ttdescription} + \item [a] Hiermit geben Sie ein \textbf{a}lternatives Verzeichnis an, in das generierte + Fonts abgelegt werden dЭrfen. StandardmДъig wird das durch + \envname{TEXMFVAR} angegebene Verzeichnis benutzt, wie oben beschrieben. + Die Angabe eines alternativen Verzeichnisses ist immer dann sinnvoll, + wenn Sie Ihr Hauptverzeichnis \emph{read-only} setzen wollen und daher + fЭr die dynamisch kreierten Fonts ein anderes -- mЖglicherweise rechnerspezifisches -- Verzeichnis + benЖtigen. + + \item [l] Erzeugen symbolischer \textbf{L}inks fЭr Programme, ">man~pages"< + bzw. \acro{GNU}-\acro{info}-Dateien an anderen Stellen; beispielsweise um die + Man-page-Dokumentation unter \dirname{/usr/local/man} und die + Info-Dateien unter \dirname{/usr/local/info} zur VerfЭgung zu stellen + (SelbstverstДndlich mЭssen Sie im Besitz der notwendigen Privilegien + sein, um in die angegebenen Verzeichnisse schreiben zu dЭrfen.) + + Es ist nicht ratsam, ein schon bereits bestehendes \TeX-System zu Эberschreiben, + das mit dieser Option erstellt wurde. Die Option ist vielmehr dafЭr gedacht, + Links in den schon bekannten Standardverzeichnissen (wie z.\,B. \dirname{/usr/local/bin}) + bereit zu stellen. Die betreffenden Verzeichnisse sollten dann aber auch nicht + irgendwelche \TeX-Verzeichnisse enthalten. + + \item [d] Die Installation der + Dokumentation (">\textbf{d}oc"<) fЭr Fonts und Makros wird unterlassen. + Das ist dann sinnvoll, wenn Sie Platz sparen mЭssen oder die Dokumentation bereits + an anderer Stelle abgelegt haben. + + \item [s] Die Installation des Hauptzweigs mit Fonts und Makros wird Эbersprungen. + Diese Option wird bei der Einrichtung eines ">\textbf{s}hared"< Betriebs + zwischen Rechnern bzw. Architekturen mittels \acro{NFS} oder + \cmdname{automount} fЭr den Hauptzweig genutzt. + \end{ttdescription} + +\item [\optname{i}] + \textbf{perform installation}: Wenn Sie mit Ihrer Konfiguration + zufrieden sind, starten Sie mit der Eingabe von \Ucom{i} die + Installation vom Medium auf die Festplatte. +\end{itemize} + +Wenn die Installation abgeschlossen ist, so besteht der nДchste Schritt +darin, die Variable \envname{PATH} so zu ergДnzen, dass die neu-installierten +Programme im architektur-spezifischen Verzeichnis unterhalb von +\dirname{\$TEXDIR/bin} gefunden werden. Die unterstЭtzten Architekturen sind in +der Tabelle~\ref{tab:archlist} auf Seite~\pageref{tab:archlist} zu finden. +Sie kЖnnen sich aber auch einfach den Inhalt des Verzeichnisses in +\dirname{\$TEXDIR/bin} ausgeben lassen. + +Die Syntax fЭr das Setzen einer En"-viron"-ment-Variable und der Name der +Initialisierungsdatei, in die sie geschrieben wird, hДngen von der Shell ab, +die Sie benutzen. Benutzer, die eine Shell einsetzen, die kompatibel zur +Bourne-Shell ist (z.\,B. \cmdname{sh}, \cmdname{bash}, \cmdname{ksh}, usw.), +kЖnnen folgende Zeilen in Ihre Datei \file{\$HOME/.profile} aufnehmen: + +\begin{alltt} + PATH=/usr/local/texlive2005/bin/\var{archname}:\$PATH; export PATH +\end{alltt} + +FЭr C-Shell-kompatible Shells (z.\,B. \cmdname{csh}, \cmdname{tcsh}) +sind die folgenden Zeilen in die Datei \file{\$HOME/.cshrc} +aufzunehmen: + +\begin{alltt} + setenv PATH /usr/local/texlive2005/bin/\var{archname}:\$PATH +\end{alltt} + +\textruntexconfig + +Es folgt ein kurzes kommentiertes Beispiel fЭr eine volle Installation der +">Live"<-Version ({\DVD} oder \pkgname{inst}-{\CDROM}) mit den BinДrdateien +fЭr das aktuelle System und den oben vorgeschlagenen Verzeichnis-дnderungen. +In diesem Fall ist daher nur das Kommando \Ucom{i} erforderlich. Das Zeichen +">\texttt{>}"< steht wie Эblich fЭr den Kommandozeilen-Prompt. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # perform installation +> \Ucom{texconfig} ... +# New PATH, with Linux as the example: +> \Ucom{PATH=/usr/local/texlive2005/bin/i386-linux:\$PATH; export PATH} +\end{alltt} + +\textifindoubt + +% ------------------------------------------------------------- +%\subsection{Installation einzelner Pakete} +\subsection{Installation einzelner Pakete auf einer Festplatte} + +Sie kЖnnen die {\TL} auch dazu benutzen, ein bestehendes +\TeX-System auf den neuesten Stand zu bringen bzw. die Daten einer +bestehenden Installation durch einzelne Pakete oder Sammlungen zu ergДnzen. + +\startinst + +FЭhren Sie das \emph{fЭr diesen Zweck} vorgesehene Installations-Skript \filename{install-pkg.sh} +aus (das im vorigen Abschnitt vorgestellte Skript \filename{install-tl.sh} ist nur +fЭr eine Erstinstallation gedacht): + +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{Optionen}} +\end{alltt} + +Das Skript kann Эber Kommandozeilenparameter gesteuert werden. +Die ersten zwei dienen zur Auswahl des zu installierenden Pakets, zur Auswahl +der Sammlung (z.\,B. \samp{tex-mathextra}), zur Angabe des Verzeichnisses, +auf das das Medium ">gemountet"< ist und zur Angabe des Verzeichnisses, das +die Dateilisten der Pakete enthДlt (diese beiden werden automatisch gesetzt): + +\smallskip + +\begin{deflist}{\texttt{-{}-collection=}\var{coll-name}} +\item[\texttt{-{}-package=}\var{pgk-name}] + Name des gewЭnschten Pakets (\emph{package}) +\item[\texttt{-{}-collection=}\var{coll-name}] + Name der gewЭnschten Sammlung (\emph{collection}) +\item[\texttt{-{}-nodoc}] + Dokumentationsdateien nicht mitkopieren +\item[\texttt{-{}-nosrc}] + Quelldateien nicht mitkopieren +\item[\texttt{-{}-cddir=}\var{cd-dir}] + Quellverzeichnis, von dem gelesen wird (Voreinstellung ist + das aktuelle Verzeichnis): Wenn Sie die oben + stehenden Anweisungen befolgt haben, befinden + Sie sich im Distributionsverzeichnis und mЭssen + keine дnderungen vornehmen. +\item[\texttt{-{}-listdir=}\var{list-dir}] + das sogenannte ">list"<-Verzeichnis innerhalb von + \var{cd-dir}, von dem die Paket-Informationen + gelesen werden: Die Voreinstellung fЭr \var{list-dir} + ist \var{cd-dir}\file{/texmf/tpm/lists}; der einzige + Grund fЭr eine дnderung lДge vor, wenn Sie дnderungen + am \TL-System selbst vornДhmen. +\end{deflist} + +%\smallskip +Die eigentliche Aktion wird durch weitere Parameter gesteuert. Die ersten beiden +verhindern die Installation der Dokumentation bzw. der Quelldateien +eines Pakets. Der dritte verhindert den Aufruf von \cmdname{mktexlsr} beim +Abschluss der Installation, womit die Datenbank der Verzeichnisstruktur neu +aufgebaut wЭrde. Der vierte Parameter dient zur Anzeige der zu installierenden +Dateien, ohne dass die Installation tatsДchlich durchgefЭhrt wird. Der Umfang +der Informationen Эber die aktuellen TДtigkeiten des Skripts kann vergrЖъert +werden und zu guter Letzt kann noch aus einem zu installierenden Paket (oder +Sammlung) ein \cmdname{tar}-Archiv erzeugt werden, in dem die Dateien schon die +korrekte \OnCD{texmf}-Verzeichnisstruktur haben. + +\smallskip + +\begin{deflist}{\texttt{-{}-archive=}\var{tarfile}} +\item[\texttt{-{}-listonly}] Auf"|listung, welche Dateien in einem Paket oder einer Sammlung sind; + keine Installation des Pakets +\item[\texttt{-{}-archive=}\var{tarfile}] Statt das angegebene Paket oder die Sammlung zu + installieren, wird ein \cmdname{tar}-Archiv erzeugt. +\end{deflist} + +ZusДtzliche Optionen: + +\begin{deflist}{\texttt{-{}-archive=}\var{tarfile}} +\item[\texttt{-{}-nohash}] kein Hash-Lauf von \cmdname{mktexlsr} +\item[\texttt{-{}-config}] nach der Installation einen Konfigurationslauf mit \samp{texconfig~init} durchfЭhren +\item[\texttt{-{}-verbose}] mehr Informationen ausgeben, was das Skript wДhrend seines Laufs macht +\end{deflist} + +\smallskip + +Hier einige Beispiele fЭr die Verwendung des Skripts: + +\begin{enumerate} +\item Wollen Sie beispielsweise wissen, welche Dateien mit dem + Paket \pkgname{fancyhdr} installiert werden wЭrden, ist folgender + Befehl einzugeben, der die entsprechende Ausgabe zur Folge hat: + +\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.tex + texmf/tex/latex/fancyhdr/extramarks.sty + texmf/tex/latex/fancyhdr/fancyhdr.sty + .... +\end{alltt} + + \item Installation des \LaTeX-Pakets \pkgname{natbib}: + +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Installation des Pakets \pkgname{alg} ohne Quelldateien und + ohne Dokumentation: + +\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 Installation der Pakete mit zusДtzlichen \plainTeX-Makros: + +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Erzeugen eines \cmdname{tar}-Archivs aller Dateien des Pakets \pkgname{PSTricks} + im Verzeichnis \dirname{/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{Installationsnacharbeiten und Wartung}\label{sec:postinstall} + +Nachdem die Hauptinstallation durchgefЭhrt ist, mЭssen das \TeX-System an Ihre lokalen +Gegebenheiten angepasst und einige Tests durchgefЭhrt werden. + +Eine andere Form der Nacharbeit ist das nachtrДgliche Installieren +von Paketen, Fonts oder Programmen, die in der {\TL} nicht enthalten sind. +GrundsДtzlich empfiehlt es sich, diese Erweiterungen im \envname{TEXMFLOCAL}-Baum +(bei einer Installation auf Festplatte) oder in \envname{TEXMFSYSVAR} (beim ">Live"<-Betrieb) +unterzubringen. Siehe hierzu auch die AusfЭhrungen unter ">Installation directories"< +im Abschnitt~\ref{text:instdir} ab Seite~\pageref{text:instdir}. + +Leider ist dieses Thema nicht vЖllig trivial und auch fЭr die unterschiedlichen Pakete +(Fonts, Makros, usw.) nicht einheitlich geregelt, so dass es den Umfang dieser Anleitung +sprengen wЭrde, darauf im Detail einzugehen. + +Es gibt einige Beschreibungen in Englisch: + +\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}: Эber die Paketinstallation +\item \url{http://www.ctan.org/tex-archive/info/Type1fonts/}: Эber die Font"=Installation +\end{itemize*} + +% ------------------------------------------------------------- +\subsection{Konfigurationsprogramm \cmdname{texconfig}}\label{sec:texconfig}\label{ssec:tex} + +Nachdem das Installationsprogramm die benЖtigten Dateien kopiert hat, +kЖnnen Sie das Programm \cmdname{texconfig} aufrufen, um das \TeX-System +an Ihre WЭnsche und lokalen Gegebenheiten anzupassen. +Sie kЖnnen dieses Programm aber auch zu jedem anderen Zeitpunkt aufrufen, +um Einstellungen zu Дndern und anzupassen. \cmdname{texconfig} ist in dem +plattform-spezifischen Unterverzeichnis \dirname{TEXDIR/bin/}\var{arch} +neben allen anderen Programmen zu finden. + +Starten Sie das Programm ohne Argumente, so wird \cmdname{texconfig} im +Vollbildmodus mit einem maskenbasierten Kommandobildschirm gestartet, +wo Sie die einzelnen Optionen interaktiv kontrollieren und Дndern +kЖnnen. Alternativ kЖnnen Sie auch auf der Kommandozeilen-Ebene mit +Schaltern die Konfiguration steuern. + +Sie sollten fЭr sДmtliche Wartungsarbeiten wie ">Installation neuer Drucker"< +oder ">Neuaufbau der Dateinamen"=Datenbank"< \cmdname{texconfig} verwenden. +Es gibt Hilfstexte mit ErlДuterungen fЭr die FДhigkeiten von +\cmdname{texconfig} in beiden Betriebsmodi. + +Einige der am hДufigsten benЖtigten Schalter werden im Folgenden erklДrt:% +\footnote{Anmerkung: Die Voreinstellung fЭr das Papierformat im \TL-System ist \optname{a4}.} + +\begin{deflist}{\code {texconfig paper letter}} +\item[\code {texconfig paper letter}] Legt das Standard-Papierformat fЭr verschiedene Programme und Treiber + (\cmdname{pdftex}, \cmdname{dvips}, \cmdname{dvipdfm}, \cmdname{xdvi}) auf ">\optname{letter}"< fest. Eine andere + mЖgliche Angabe ist \optname{a4}, die auch die Voreinstellung ist. + +\item[\code {texconfig localsetup}] эberprЭft, ob die Pfade korrekt sind. + +\item[\code {texconfig rehash}] Neugenerierung aller Dateinamen"=Datenbanken fЭr das \TeX-System nach dem HinzufЭgen oder Entfernen von Dateien + +\item[\code {texconfig faq}] Zeigt die \teTeX-\acro{FAQ} an. Beachten Sie auch die \TeX-\acro{FAQ}s in + \OnCD{texmf-doc/doc/english/FAQ-en}. + +\item[\code {texconfig help}] Ausgabe von Hilfetexten fЭr \cmdname{texconfig} +\end{deflist} + +Das Programm \cmdname{texconfig} unterstЭtzt natЭrlich nur die дnderung von einigen +wenigen (aber viel genutzten) Optionen und Konfigurationsparametern des +\TeX-Systems. Die zugrunde liegende Konfigurationsdatei fЭr alle \Webc-Programme +heiъt \filename{texmf.cnf}; Sie kЖnnen sie mit dem Befehl +\samp{kpsewhich~texmf.cnf} ausfindig machen. Die in der Datei enthaltenen +Kommentare fЭr Voreinstellungen und sinnvolle Alternativeinstellungen helfen +bei eigenen Modifikationen weiter. + +Ab dem Erscheinungsjahr 2005 der \TL{} schreibt \cmdname{texconfig} дnderung +in ein nutzerspezifisches Verzeichnis, nДmlich \dirname{\$HOME/.texlive2005}. +Falls Sie \TeX\ nur fЭr sich selbst installieren, ergeben sich keine +wesentlichen Unterschiede zu frЭher. Falls Sie ein \TeX-System fЭr mehrere +Nutzer administrieren, mЖchten Sie wahrscheinlich die Konfiguration des +\TeX-Systems fЭr alle Nutzer Дndern. In diesem Fall benutzen Sie +\cmdname{texconfig-sys} statt \cmdname{texconfig}. + +Ebenso wurden die Hilfsprogramme \cmdname{updmap} und \cmdname{fmtutil} +so geДndert, dass sie sich auf das Verzeichnis \dirname{\$HOME/.texlive2005} +beziehen. FЭr дnderungen, die alle Nutzer betreffen, benutzen Sie +\cmdname{updmap-sys} bzw. \cmdname{fmtutil-sys}. + +Beispielsweise werden Sie auf einem Multi-User-System die Standard-Formate +mit \texttt{fmtutil-sys -{}-missing} zentral erzeugen wollen, da diese +ansonsten fЭr alle Nutzer individuell erzeugt werden. + +Falls Sie modifizierte Versionen von \filename{fmtutil.cnf} oder +\filename{updmap.cfg} verwenden wollen, mЭssen diese in dem texmf-Baum +installiert sein, auf den \envname{TEXMFSYSCONFIG} zeigt. + +FЭr die эbersicht der verschiedenen texmf-BДume sei auf den +Abschnitt~\ref{sec:texmftrees} auf Seite~\pageref{sec:texmftrees} verwiesen. +Die aktuellen Werte fЭr diese Verzeichnisse erfahren Sie mit dem Kommando +">\texttt{texconfig conf}"< und kЖnnen in der Datei \filename{texmf.cnf} +geДndert werden. +% ------------------------------------------------------------- +\subsection{Testen der Installation}\label{sec:test-install} + +Nachdem Sie das \TL-System installiert haben, wollen Sie es sicherlich auch +testen, um dann in der Lage zu sein, beeindruckende Dokumente bzw. Fonts zu +erzeugen. + +Der folgende Abschnitt stellt einige grundlegende Vorgehensweisen vor, mit +der das neue System auf FunktionsfДhigkeit geprЭft werden kann. Hier werden +nur die \acro{UNIX}-Kommandos beschrieben, da unter {\MacOSX} und Windows +sicherlich ein \acro{GUI}% +\footnote{\acro{GUI}: Graphical User Interface; Graphische BenutzeroberflДche} +eingesetzt wird, um diese Tests durchzufЭhren; +grundsДtzlich gilt aber das gleiche Prinzip. + +\begin{enumerate} +\item Stellen Sie als erstes sicher, dass das Programm \cmdname{tex} lДuft: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +Copyright (C) 1997-2004 D.E. Knuth. +... +\end{alltt} + +Falls Sie nicht die Versionsnummern und die Copyright-Information sehen, +sondern ">\texttt{command not found}"< (o.\,Д.) erhalten, ist vermutlich die +En"-viron"-ment-Variable \envname{PATH} nicht korrekt gesetzt. эberprЭfen Sie, +ob das richtige \OnCD{bin}-Unterverzeichnis in der Variablen \envname{PATH} +enthalten ist. Siehe auch die Informationen zum Setzen des En"-viron"-ments +auf Seite~\pageref{text:path}. + +\item эbersetzen einer Basis-\LaTeX-Datei: + +\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} + +Wird bei diesem Test die Datei \filename{sample2e.tex} (oder eine +Stildatei) nicht gefunden, liegt vermutlich ein Konfigurationsfehler +oder eine stЖrende En"-viron"-ment-Variable vor. FЭr eine genauere Analyse ist +es empfehlenswert, {\TeX} Эber die Dateisuche berichten zu lassen. +Genaueres kЖnnen Sie im Abschnitt ">Fehlersuche"< auf Seite~\pageref{Debugging} +nachlesen. + +\item Anzeigen der Ergebnisdatei: + +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} + +(\textbf{Anmerkung:} Unter Windows heiъt das entsprechende Kommando +\cmdname{Windvi}.) Sie sollten jetzt ein neues Fenster sehen, in dem ein Text +mit ErlДuterungen Эber die Grundlagen in {\LaTeX} zu sehen ist. Sollten +{\TeX} und {\LaTeX} Neuland fЭr Sie sein, ist dies ein empfehlenswertes +Dokument. Eine wesentliche Voraussetzung fЭr \cmdname{xdvi} ist, dass +\emph{X-Windows} bei ihnen lДuft. Ist dies nicht der Fall oder wurde die +En"-viron"-ment-Variable \envname{DISPLAY} nicht korrekt gesetzt, erhalten +Sie den Fehler \samp{Can't open display}. + +\item Eine \PS-Datei fЭr Druck oder Anzeige erzeugen: + +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Ausgabeformat {\pdf} statt {\dvi}; mit diesem Befehl wird aus der + \filename{.tex}-Datei direkt {\pdf} erzeugt: + +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item \pdf-Datei anzeigen: + +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{oder} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} + +Leider sind weder \cmdname{gv} noch \cmdname{xpdf} in der aktuellen +{\TL} enthalten. Sie mЭssen deshalb beide separat installiert werden. +Siehe \url{http://www.gnu.org/software/gv/} und +\url{http://www.foolabs.com/xpdf/} zu Informationen Эber \cmdname{gv} +bzw. \cmdname{xpdf}. + +\item Weitere Dateien, die fЭr Tests interessant sind: + +\begin{deflist}{\filename{testfont.tex}} % vorher zu unЭbersichtlich +%\item[\filename{docstrip.tex}] Erzeugt \TeX-Quelle und -Dokumentation aus einer +% \filename{.dtx}-Datei. +\item[\filename{small2e.tex}] einfacheres Dokument als \file{sample2e.exe}, damit bei der + Untersuchung von Problemen eine mЖglichst kleine Quelldatei vorliegt +\item[\filename{testpage.tex}] erzeugt eine Seite mit Skalen fЭr den Ausdrucktest, + um Drucker-Offsets ermitteln zu kЖnnen. +\item[\filename{nfssfont.tex}] Testausdruck von beliebigen Fonts +\item[\filename{testfont.tex}] ebenfalls fЭr den Testausdruck von beliebigen Fonts; allerdings in \plainTeX +\item[\filename{story.tex}] Die ">kanonische"< (plain-)\TeX-Datei Эberhaupt: Sie mЭssen nach dem + Aufruf von \samp{tex story.tex} nach dem \filename{*}-Prompt noch \samp{\bs bye} eingeben. +\end{deflist} + +Diese \filename{.tex}-Dateien kЖnnen Sie auf die gleiche Weise bearbeiten +wie im Beispiel \filename{sample2e.tex} weiter oben. +\end{enumerate} + +Falls Sie mit {\TeX} und {\LaTeX} Neuland betreten oder Hilfe bei der +Erstellung von \TeX- und \LaTeX-Dokumenten benЖtigen, sollten Sie unbedingt +die deutschsprachige Ausgabe der \acro{FAQ}s zu Rate ziehen +(\OnCD{texmf-doc/doc/german/FAQ-ge/de-tex-faq.pdf}). Dort finden Sie im +Abschnitt~2.4.2 ">Frei verfЭgbare EinfЭhrungen in (La)TeX, METAFONT und +verwandte Themen"< Verweise auf ausdruckbare und online-verfЭgbare +EinfЭhrungen. + +Hier sind insbesondere die BroschЭren von Manuela~JЭrgens von der +Fern-UniversitДt in Hagen zu empfehlen: + +\begin{flushleft} +\begin{itemize} +\item ">\emph{{\LaTeX} -- eine EinfЭhrung und ein bisschen mehr \ldots}"< +(\url{ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a0260003.pdf}) +und +\item ">\emph{{\LaTeX} -- Fortgeschrittene Anwendungen (oder: Neues von den Hobbits)}"< +(\url{ftp://ftp.fernuni-hagen.de/pub/pdf/urz-broschueren/broschueren/a0279510.pdf}) +\end{itemize} +\end{flushleft} + +Ein englischsprachiges \acro{WWW}-Dokument ist unter +\url{http://tug.org/begin.html} zu finden, wo auch andere +InformationsmЖglichkeiten aufgefЭhrt sind. + +% ============================================================== +\section{Installation unter \MacOSX}\label{sec:mac-install} +Der empfohlene Weg zur Installation eines \TeX-Systems unter \MacOSX\ ist +die Benutzung der Mac\TeX-Distribution, die im Jahr~2005 neu aufgenommen +wurde. Sie finden Sie auf der \pkgname{live}-\DVD{} im Verzeichnis +\dirname{mactex/}. Die Mac\TeX-Distribution verfЭgt Эber ein eigenes +Installationsprogramm fЭr ein vollstДndiges \TeX-System, das auf te\TeX{} +und \TL{} basiert, und um viele zusДtzliche Anwendungen und Anleitungen +ergДnzt wurde. Die Homepage des Mac\TeX-Projektes finden Sie unter +\url{http://tug.org/mactex}. + +Alternativ kЖnnen erfahrene Anwender unter \MacOSX{} ein reines +\TL-System installieren, indem Sie die \filename{install*}-Skripten +verwenden. + +Um diese Installations-Skripte unter {\MacOSX} nutzen zu kЖnnen, muss die \cmdname{bash}-Shell +installiert sein. LДuft Ihr Rechner unter \MacOSX~10.2 haben Sie bereits die +\cmdname{bash}-Shell und mЭssen nichts weiter unternehmen. FЭr Besitzer frЭherer +Betriebssystem-Versionen ist \cmdname{zsh} die Standard-Shell, mit der die Skripte +nicht funktionieren. Falls Sie die \cmdname{bash}-Shell benЖtigen, sollten Sie sie +vom Internet laden oder (noch besser) Ihr System auf einen neueren Stand bringen. + +Wenn \cmdname{bash} bei ihnen lДuft, kЖnnen Sie der \acro{UNIX}-Installationsdokumentation +im letzten Abschnitt folgen. Siehe Abschnitt~\ref{sec:UNIX-install} auf +Seite~\pageref{sec:UNIX-install}; Mac\acro{OS}X-spezifische Anmerkungen sind -- wo +notwendig -- bereits im Text enthalten. + +% ============================================================== +\section{Installation und Einsatz unter Windows}\label{sec:win-install} + +Nachdem in der letztjДhrigen \TL-Ausgabe kein Installationsprogramm fЭr +Windows enthalten war, ist ein solches nun wieder unter dem Namen +\cmdname{tlpmgui.exe} vorhanden, wenn auch noch in einem Anfangsstadium +und als recht experimentell anzusehen. + +\cmdname{tlpmgui.exe} besitzt weitgehend die gleichen Optionen wie das +Installationsskript fЭr \acro{UNIX}, allerdings in Form einer grafischen +OberflДche. Sie kЖnnen daher Schemata, Pakete, Verzeichnisse etc. auswДhlen, +analog zur Beschreibung des Vorgehens fЭr Unix-Systeme in +Abschnitt~\ref{sec:unix-install-disk} auf +Seite~\pageref{sec:unix-install-disk}. ZusДtzlich kЖnnen Sie hier nach einer +erfolgten \TL{}-Installation nachtrДglich Pakete hinzufЭgen oder entfernen, +die Datei-Datenbank aktualisieren und Formate erzeugen. + +Falls Sie die technischen Details interessieren: \cmdname{tlpmgui} verwendet +im Hintergrund ein Kommandozeilen-Programm mit dem Namen \cmdname{tlpm}. + +Die unter Windows ausfЭhrbaren \TL-Programme basieren auf den neuen +Programmen aus dem \XEmTeX{}-Projekt, dem Nachfolger von \fpTeX{} (siehe +\url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). Einige Programme +sind Дltere (aber hoffentlich noch funktionsfДhige) Programme, insbesondere +der \dvi-Viewer \textsf{Windvi}, dessen Benutzung sich an dem auf +Unix-Systemen in der Regel verwendeten \textsf{xdvi} orientiert. Die +Anleitung zu \textsf{Windvi} finden Sie unter +\OnCD{texmf/doc/html/windvi/windvi.html}. Bitte beachten Sie, dass +\textsf{Windvi} nicht mehr weiter entwickelt wird. + +\TL{} kann auf 32"~Bit-Windows-Systemen wie +Windows\,9x, {\ME}, {\NT}, Windows\,2000 (\acro{2K}) oder {\XP} installiert +werden. дltere Versionen von Windows (3.1x) oder gar \acro{MS-DOS} werden +nicht unterstЭtzt. + +\subsection{Installon von \protect\TeX\protect\ Live auf Festplatte} + +Nach dem Einlegen der \TL-CD in Ihr \acro{CD}-Laufwerk sollte \cmdname{tlpmgui} +automatisch starten. Wenn Sie die \TeX Collection-DVD verwenden, +erscheint ein Auswahl-Menu fЭr die einzelnen auf der DVD enthaltenen +Teile, und \cmdname{tlpmgui} startet nach der Auswahl von \TL. +Ist dies nicht der Fall, weil die Autostart-Option Ihres Systems deaktiviert +ist, wДhlen Sie auf Ihrem Windows-Desktop \guiseq{Start\arw AusfЭhren/Run} und +starten \verb|laufwerk:\setup-win32\tplmgui.exe| (von der +\pkgname{inst}-CD) bzw. \verb|laufwerk:\texlive\setup-win32\tplmgui.exe| +(wenn Sie die \pkgname{live}-DVD verwenden). + +Das Installationsprogramm \cmdname{tlpmgui} Жffnet ein Fenster mit dem Titel +">\guiseq{TeX Live Installations- und Wartungsprogramm/TeX Live installation +and maintenance utility}"<. Die Sprache Ihres Windowssystem sollte automatisch +erkannt werden, so dass Sie in der Regel eine deutschsprachige OberflДche +sehen sollten. + +Hier sind folgende Optionsgruppen verfЭgbar: \guiseq{Anpassung/Main +customization}, \guiseq{Installation/Install}, \guiseq{Schema +auswДhlen/Select a scheme}, \guiseq{System auswДhlen/Select systems}, +\guiseq{Verzeichnisse/Directories} and \guiseq{Optionen/Options}. Derzeit +sind noch nicht alle Gruppen wirklich implementiert, einige erscheinen noch +hellgrau und sind inaktiv. + +Im Abschnitt ">\guiseq{Verzeichnisse/Directories}"< sollte Ihr CD/DVD-Laufwerk +bereits neben der SchaltflДche \guiseq{CD/DVD} erscheinen. Falls nicht, +klicken Sie bitte auf \guiseq{CD/DVD} und wДhlen das Laufwerk aus, +in dem Installationsmedium befindet (bzw. \path|<laufwerk>:\texlive|, wenn +Sie von der \pkgname{live}-DVD installiern). + +Das Ziel-Verzeichnis fЭr die Software-Installation kann Эber die SchaltflДche +\guiseq{TLroot} ausgewДhlt werden. Zur spДteren Verwendung wird eine +Umgebungsvariable \path|TLroot| auf dieses Verzeichnis gesetzt. Die +Pfade \path|TEXMFTEMP| und \path|TEXMFCNF|, die neben den entsprechenden +SchaltflДchen angezeigt werden, werden automatisch auf sinnvolle Werte +gesetzt, kЖnnen aber auch manuell geДndert werden. + +Im Abschnitt ">\guiseq{Schema auswДhlen/Select a scheme}"< kann das +gewЭnschte Installations-Schema ausgewДhlt werden (z.\,B. +\guiseq{scheme-gust}). % TODO: Besseres Beispiel +Zu jedem Schema kann mit \guiseq{Info} ein kurzer Informationstext angezeigt +werden. + +Schemata (schemes) sind groъe Sammlungen von Paketen fЭr typische +AnwendungsfДlle. Es gibt allgemeine Schemata wie \texttt{basic}, +\texttt{medium} und \texttt{full}, wobei wir bei ausreichendem Platz auf +Ihrer Festplatte das Schema \texttt{full} empfehlen. Andere Schemata wurden +speziell fЭr einzelen User Groups zusammengestellt (wie GUST und GUTenberg) +oder betreffen spezielle AnwendungsfДlle (z.\,B. fЭr XML-Integration in +\TeX). Ein ausgewДhltes Schema kann im Abschnitt ">\guiseq{Anpassung/Main +customization}"< durch die Aus- oder Abwahl von Kollektionen (collections) +in den Auswahlfenstern angepasst werden, die nach Klicken auf +">\guiseq{Standard-Kollektionen}"< oder ">\guiseq{Sprach-Kollektionen/Language +collections}"< erscheinen. So kЖnnen Sie zum Beispiel durch Auswahl von +">\guiseq{Standard-Kollektionen}"< zusДtzliche Pakete wie \MP, Omega oder +Anleitungen in verschiedenen Sprachen auswДhlen. + +\textbf{Anmerkung:} Die Pakete \guiseq{Ghostscript}, \guiseq{Perl} und +\guiseq{Wintools} sind standardmДъig ausgewДhlt und sollten auf jeden +Fall installiert werden, da deren Installation fЭr viele Programme +notwendig ist -- es sei denn, sie sind bereits anderweitig installiert und +Sie kennen sich gut mit Ihrem System aus. Von diesen Tools werden die +Umgebungsvariablen \verb|PERL5LIB| und \verb|GS_LIB| gesetzt. + +Im Bereich ">\guiseq{Sprach-Kollektionen}"< im Abschnitt +\guiseq{Anpassung/Main customization} kЖnnen Sie durch +Haken auswДhlen, welche SprachunterstЭtzungen installiert werden sollen. + +Zum Starten der Installation klicken Sie auf die SchaltflДche +\guiseq{Installieren} im Abschnitt ">\guiseq{Installation}"<. + +WДhrend der Installation sehen Sie rechts unten einen Statusbalken. Solange +die Daten von dem Installationsmedium auf die Festplatte kopiert werden, +fЭllt sich dieser langsam (und damit meinen wir wirklich langsam) von links +nach rechts. Die Installation erfordert nach dem Kopieren auf die Festplatte +mehrere zusДtzliche Schritte wie Erzeugen der Formate, Aufbau der +Datei-Datenbank, Setzen von Umgebungsvariablen etc. Dies kann einige Zeit in +Anspruch nehmen, wДhrend der der Statusbalken periodisch von links nach +rechts und zurЭck wandert. Warten Sie auf jeden Fall, bis der erfolgreiche +Abschluss der Installation gemeldet wird. + +In Ihrem Windows-System wird eine Programmgruppe +\guiseq{Start\arw Programme\arw TeXLive2005} mit dem Installationsprogramm +\cmdname{tlpmgui} eingerichtet. + +Arbeiten Sie unter Windows\,9x/""\ME, mЭssen Sie einen Windows-Neustart +durchfЭhren. + +% ------------------------------------------------------------- +\subsection{Installation von Support-Paketen fЭr Windows}\label{sec:win-xemtex} + +FЭr ein vollstДndiges \TL-System werden noch eine Reihe von +Paketen benЖtigt, die Эblicherweise nicht zum Standard-Repertoire +von Windows gehЖren. Hierzu gehЖren \cmdname{Perl}, der +\PS-Interpreter \cmdname{Ghostscript} und eine +graphische Toolbox; zudem kann ein \TeX-orientierter +Editor eine deutliche Erleichterung bei der Tipparbeit darstellen. + +Alle diese Programme sind fЭr Windows verfЭgbar; und um das Leben +ein bisschen einfacher zu machen, sind sie auch in {\TL} +vertreten: + +\begin{itemize} +\item GNU \cmdname{Ghostscript}~7.07 +\item eine minimale Installation von \cmdname{Perl} 5.8, die fЭr die + Perl-Skripte von \TL{} benЖtigt werden +\item win-tools ist eine Sammlung von Programmen wie bzip2, gzip, jpeg2ps + und tiff2png +\end{itemize} + +Diese Programme stammen aus der \XEmTeX{}-Distribution, dem Nachfolger +von fp\TeX. + +Perl und Ghostscript werden automatisch installiert, wenn Sie es nicht +explizit abgewДhlt haben. Tun Sie dies nur, wenn Sie sicher sind, dass +diese Programme bereits installiert sind. + +Wenn Sie diese Sammlung nicht installieren mЖchten, sind Sie auf sich +gestellt, die notwendigen Tools und Pakete zur VervollstДndigung Ihres +\TL-System verfЭgbar zu machen. Nachfolgend finden Sie eine Liste +der Tools und die zugehЖrigen Adressen, wo Sie sie herunterladen kЖnnen: + +\begin{description} +\item[\cmdname{Ghostscript}:]\mbox{}\\ + \url{http://www.cs.wisc.edu/~ghost/}, in der {\TL} + finden Sie die Version 8.53 unter + \href{ftp://ftp.dante.de/tex-archive/nonfree/support/ghostscript/AFPL/}{\texttt{ctan/nonfree/support/ghostscript/AFPL}} +\item[Perl:]\mbox{}\\ + \url{http://www.activestate.com/} (zusДtzliche + \cmdname{Perl}-Module erhalten Sie von \acro{CPAN}: + \url{http://www.cpan.org/}) +\item[ImageMagick:]\mbox{}\\ + \url{http://www.imagemagick.com/} +\item[NetPBM:]\mbox{}\\ + als Alternative zu \cmdname{ImageMagick} kЖnnen + Sie \cmdname{NetPBM} fЭr die Bearbeitung und Konversion + Ihrer Graphikdateien benutzen. Die \cmdname{NetPBM}-Homepage + ist \url{http://netpbm.sourceforge.net/}. +\item[\TeX-Editoren:]\mbox{}\\ + Die Zahl der Editoren ist groъ -- und da es meist + Geschmackssache ist, hier eine kleine Auswahl: + \begin{itemize*} + \item \cmdname{GNU~Emacs} ist als Windows-Version verfЭgbar; siehe + \url{http://www.gnu.org/software/emacs/windows/ntemacs.html}. + \item \cmdname{XEmacs} ist ebenfalls unter Windows verfЭgbar; siehe + \url{http://www.xemacs.org/}. + \item \cmdname{WinShell} ist in der {\TL} im Verzeichnis \path|support| vorhanden, + die URL ist \url{http://www.winshell.de/}. + \item \cmdname{WinEdt} ist ein Shareware-Editor erhДltlich unter der + URL \url{http://www.winedt.com/}. In der {\TL} (\DVD) sind die + aktuellen Programme, Erweiterungsmakros und WЖrterbЭcher in + dem Verzeichnis \href{ftp://ftp.dante.de/tex-archive/nonfree/systems/win32/winedt/}{\texttt{ctan/nonfree/systems/win32/winedt/}} + enthalten. + + Mitglieder von \acro{DANTE}~e.V. kЖnnen Эber den Verein preisgЭnstige + Lizenzen erhalten (siehe \url{http://www.dante.de/dante/lizenzen/winedt/}). + \item \cmdname{vim} finden Sie auf der {\TL} im Pfad + \OnCD{support/vim}; die Referenz-URL ist \url{http://www.vim.org/}. + \item TeXnicCenter ist eine freie OberflДche, erhДltlich von + \url{http://www.toolscenter.org} und innerhalb von proTeXt. + \item \cmdname{LEd} ist unter \url{http://www.ctan.org/support/LEd} + erhДtlich + \item \cmdname{SciTE} kann unter der URL \url{http://www.scintilla.org/SciTE.html} + geladen werden. + \end{itemize*} +\end{description} + +Sie werden sicherlich weitere Tools installieren wollen, die ">nicht +frei"<\footnote{Die Festlegung ">\emph{nicht frei}"< folgt den Richtlinien +fЭr ">freie Software"<. Es heiъt +nicht, dass Sie die Software nicht auch kostenlos bekommen kЖnnen.} +sind und deshalb auf der {\TL} fehlen, so zum Beispiel \cmdname{GSView}. +Dieser Begleiter von \cmdname{Ghostscript}, der das Anschauen von +\PS-/\pdf-Dateien vereinfacht, ist erhДltlich unter der URL +\url{http://www.cs.wisc.edu/~ghost/gsview/} oder +\href{ftp://ftp.dante.de/tex-archive/nonfree/support/ghostscript/ghostgum/}{\texttt{CTAN:nonfree/support/ghostscript/ghostgum}}. + +%\clearpage + +% ------------------------------------------------------------- +\subsection{Wartung Ihrer Installation} + +Wenn Sie Ihr \TL-System installiert haben, kЖnnen Sie das System mit dem +Aufruf von \cmdname{tlpmgui} modifizieren. + +\subsubsection{HinzufЭgen und Entfernen von Paketen} +Starten Sie \cmdname{tlpmgui} aus der Programmgruppe +\guiseq{Start\arw Programme\arw TeXLive2005}, die wДhrend der Installation +angelegt wurde. Das Fenster mit dem Titel ">\guiseq{TeX Live Installations- +und Wartungsprogramm}"< erscheint. Hier sind mehrere Bereiche als +Karteireiter vorhanden: +\guiseq{Pakete hinzufЭgen/Add Packages}, +\guiseq{Pakete entfernen/Remove packages}, +\guiseq{Installation bearbeiten/Manage installation}, +\guiseq{Installation entfernen/Remove installation}. + +Das Arbeiten mit ">\guiseq{Pakete hinzufЭgen}"< bzw. ">\guiseq{Pakete +entfernen}"< ist im Wesentlichen identisch: +\begin{itemize} +\item WДhlen Sie im ersten Abschnitt Ihr Laufwerk mit dem Installationsmedium + aus (bzw. \path|<laufwerk>:\texlive| von der DVD). +\item Klicken Sie auf die SchaltflДche ">\guiseq{Suchen/Search}"<, um im + Abschnitt ">\guiseq{Auswahl der zu \dots{} Pakete/Select packages + to\dots}"< die Liste der zu (de)installierenden Pakete zu aktualisieren. + + Wenn Sie Pakete hinzufЭgen wollen, wird die Liste der bereits installierten + Pakete mit den auf der CD/DVD vorhandenen Pakete abgeglichen. Es werden nur + die Pakete angezeigt, die noch nicht installiert wurden, aus denen Sie + dann Ihre Auswahl treffen kЖnnen. + + Wenn Sie Pakete entfernen wollen, werden nur die tatsДchlich installierten + Pakete zur Deinstallation angeboten. + + Beachten Sie, dass in der Auswahlliste zuerst komplette Kollektionen + (Collections) erscheinen. + +\item WДhlen Sie die zu (de)installierenden Pakete aus. Durch Auswahl von + \guiseq{Info} erhalten Sie jeweils kurze Informationen zum ausgewДhlten + Paket. Zur Auswahl mehrerer Pakete halten Sie bei der Auswahl die + Control- bzw. Strg-Taste oder die Shift-Taste gedrЭckt. + +\item Klicken Sie auf \guiseq{Installieren} bzw. \guiseq{Entfernen}, um die + (De)Installation durchzufЭhren. +\end{itemize} + +\subsubsection{Konfiguration und Verwaltung} + +Die Funktionen im Bereich ">\guiseq{Installation bearbeiten/Manage the +installation}"< sind hilfreich, wenn Sie die UnterstЭtzung fЭr weitere +Sprachen hinzufЭgen mЖchten, die Sie bei der Installation nicht ausgewДhlt +hatten. Weiterhin kЖnnen Sie die \TeX-Formate neu generieren, sei es, weil +Sie sie noch nicht installiert hatten oder Sie дnderungen an Ihrem System +vorgenommen haben, die eine Neugenerierung der Formate erfordern (z.\,B. die +Installation weiterer Trennmuster). + +\subsubsection{Deinstallation von \TL} + +Die SchaltfДche ">\guiseq{Installation entfernen/Remove the installation}"< +Жffnet ein Fenster, dessen FunktionalitДt wir hier nicht nДher beschreiben +wollen, da wir nicht wissen, warum man dies tun sollte \dots + +Beachten Sie, dass eine Deinstallation einen lokalen texmf-Baum unter +\path|texmf-local| nicht betrifft. Sie brauchen also keine Sorgen zu haben, +dass Ihre lokalen ErgДnzungen auf einmal verschwinden. Das Verzeichnis +\path|setup-win32|, in dem sich das Installationsprogramm \cmdname{tlpmgui} +und davon benЖtigte Dateien befinden, wird ebenfalls nicht gelЖscht und +muss von Ihnen fЭr eine restlose Deinstallation manuell gelЖscht werden. + +\subsection{HinzufЭgen eigener Pakete zur existierenden Installation} + +Das HinzufЭgen eigener Pakete zur Installation setzt etwas Detail\-kenntnis +voraus. Ein hДufig auftretendes Problem ist, dass Sie niemals vergessen +dЭrfen, nach eigenen дnderungen die Datei-Datenbank (die aus GrЭnden, die +aus der \acro{UNIX}-Welt stammen, \texttt{ls-R} heiъt) aufzufrischen. +Ansonsten werden Ihre neuen Dateien nicht gefunden! Sie kЖnnen dies entweder +mit \cmdname{tlpmgui} durch die entsprechende SchaltflДche im Bereich +">\guiseq{Installation bearbeiten}"< oder durch direktes Aufrufen von +\file{mktexlsr} tun. + +Wenn Sie Pakete hinzufЭgen wollen, die nicht zur \TL-Distribution gehЖren, +sind diese im \path|texmf-local|-Baum am Besten aufgehoben. Dort sind +Ihre Dateien vor einem Upgrade oder einer Deinstallation von \TL{} sicher. + +Das Verzeichnis \path|texmf-local| ist zunДchst leer. Wenn Sie dort neue +Dateien hinzufЭgen wollen, mЭssen diese innerhalb dieses Baumes so abgelegtgq +werden, dass es der standardisierten \TeX-Verzeichnisstruktur TDS entspricht. +Wollen Sie also z.\,B. Style-Dateien fЭr das Mathematik-Programm Maple +hinzufЭgen, sind diese unter +\path|c:\TeXLive2005\texmf-local\tex\latex\maple| und die zugehЖrige +Dokumentation unter \path|c:\TeXLive2005\texmf-local\doc\latex\maple| gut +aufgehoben. + +\subsection{Benutzung von \texttt{tlmp.exe} in der Kommandozeile} + +Das Programm \cmdname{tlpm.exe}, das von \cmdname{tlpmgui} im Hintergrund +benutzt wird, enthДlt einige weitere nЭtzliche Optionen. Einen эberblick +erhalten Sie durch den Aufruf +\begin{verbatim} + tlpm --help +\end{verbatim} + +Weitere Informationen finden Sie auf englisch in der Datei \path|tlpm.readme|. + +\subsection{Installation im Netzwerk} +\KPS{} unterstЭtzt inzwischen die von Windows verwendeten UNC-Namen, so +dass Sie Ihren texmf-Baum auch Эber das Netzwerk verwenden kЖnnen. + +Im folgenden beschreiben wir den Fall, dass Sie ein Multiplattform-System +Эber das Netzwerk zugДnglich machen wollen. + +Alle Dateien einer \TL-Installation auъer den Programmen in den +\path|bin|-Verzeichnissen sind von der Betriebssystem"=Plattform unabhДngig, +so dass es mЖglich ist, dass Эber Samba ein Windows-Client eine +\TL-Installation von einem \acro{UNIX}-Server oder ein \acro{UNIX}-Rechner +auf einen Windows-Server zugreift. Hierbei sind mehrere Szenarien denkbar: +\begin{itemize} +\item Komplettinstallation auf einem Server. Hier mЭssen Sie unterhalb des + \path|bin|-Verzeichnisses die ausfЭhrbaren Programme fЭr die gewЭnschten + Plattformen installieren, also z.\,B. \path|bin/win32| und + \path|bin/i386-linux|. Anschlieъend mЭssen Sie Ihren Pfad und die + Umgebungsvariablen konfigurieren. FЭr Windows kЖnnen Sie UNC-Namen benutzen. +\item Lokale Kopie der ausfЭhrbaren Programme und der \TeX-Formate. In diesem + Fall mЭssen Sie die Umgebungsvariable \verb|$TEXMFMAIN| auf den globalen + texmf-Baum zeigen lassen, der auf dem Server liegt. Setzen Sie die + Variable \verb|$TEXMFVAR| auf ein lokales Verzeichnis, in dem Sie die + Konfigurationsdateien und automatisch generierte Dateien ablegen kЖnnen. +\end{itemize} + + +% ------------------------------------------------------------- +\subsection{Win32-Unterschiede zum Standard-\Webc} + +Die Win32-Version von {\Webc} hat einige spezifische Eigenschaften, +die hier nДher erklДrt werden. + +\begin{description} +\item[{\KPS}:]\mbox{}\\ + Die von {\KPS} aufgebauten Hash-Tabellen sind bei {\TL} + sehr groъ. Um die Startzeit fЭr jedes Programm, das {\KPS} + benutzt, zu verkЭrzen, wurden diese Hash-Tabellen in das + ">Shared Memory"< gelegt. Dadurch kann der Overhead, der beim + zyklischen Aufruf von Programmen auftritt, wenn \file{tex} + beispielsweise \file{mpost} aufruft, das wiederum \file{tex} + ruft, vermindert werden. Diese дnderung wird vor dem Benutzer + versteckt, auъer wenn das Debug-Flag bei \cmdname{kpathsea} + auf \file{-1} gesetzt wird. Dann wird der Zugriff zum + Shared-Memory aufgezeichnet, was sicherlich nicht das ist, + was Sie wollen (es wird nДmlich \textbf{sehr} hДufig angesprochen!). + Die wirklich erforderlichen Trace-Daten fЭr den Zugriff auf + das Shared-Memory mЭssen noch definiert werden; dies ist + sicherlich eine Aufgabe fЭr die Zukunft. +\item[\cmdname{kpsecheck}:]\mbox{}\\ + Dieses Kommando bietet einige Optionen, die nicht zu den Aufgaben + von \cmdname{kpsewhich} gehЖren und deshalb auch dort schlecht passen. + Mit \cmdname{kpsecheck} kЖnnen Sie alle Dateinamen auf"|listen, die + mehrfach in verschiedenen Zweigen des \OnCD{texmf}-Baums auftreten. + Dies ist bei der Dateisuche sehr praktisch; die meiste Zeit werden Sie + allerdings unerwЭnschte Angaben bekommen, beispielsweise von dutzendweise + vertretenen \file{README}-Dateien. Es bleibt festzustellen, + dass alle diese Dateien zu Problemen beim \KPS"=Hash"=Mechanismus + fЭhren; glЭcklicherweise wird nach diesen Dateien nie gesucht. + Deshalb kann die Option \mbox{\file{-multiple-occurrences}} mit zwei + weiteren Optionen zum Ein- oder Ausschluss von Dateinamen, die + einem bestimmtem Muster entsprechen, kombiniert werden. Es kЖnnen + mehrere Muster angegeben werden. + + Das Kommando \cmdname{kpsecheck} gibt auch Auskunft Эber den Status + des Shared-Memories: ">in~use"< oder ">not~used"< (">in Benutzung"< oder + ">nicht benutzt"<). Das kann von Nutzen sein, da ein Aufruf von + \cmdname{mktexlsr} so lange nicht ausgefЭhrt wird, wie noch ein + Prozess das Memory nutzt und der Status somit als ">in~use"< + angegeben wird. + + Mit diesem Kommando kann auch das Installationsverzeichnis von + \cmdname{Ghostscript} festgestellt werden. FЭr viele Programme + unter Win32 ist es einfacher, die \cmdname{Ghostscript}-DLL zu benutzen + und mittels des Registry-Keys von \cmdname{Ghostscript} das Verzeichnis + zu finden, als den \file{PATH} zu Дndern (der sowieso eine begrenzte + LДnge hat). + +\item[\Webc:]\mbox{}\\ + Die \TeX-Engines unter Windows besitzen gegenЭber der \Webc-Standardversion + einige zusДtzliche Optionen; + zudem hat eine Option ein anderen Verhalten: + \begin{itemize} +%% \item das Verhalten der \file{-fmt}-Option unterscheidet sich +%% vom Standard. FrЭher und mit der Standardversion von {\Webc} +%% hat diese Option zwei unterschiedliche Bedeutungen, je nachdem, +%% ob sie in ">ini"<"= oder ">vir"<"=Modus benutzt wird. +%% Unter Windows gibt es keinen Unterschied: Es wird immer das +%% angegebene Format geladen. Um die Bedeutung im ">ini"<"=Modus +%% zu erhalten, wurde die Option ">\optname{-job-name}"< eingefЭhrt. +%% \item \file{-job-name}\mbox{\ }\newline +%% erlaubt die Bestimmung des Dateinamens als Ergebnis eines +%% Compiler-Laufs. Im normalen Modus Дndert dies den Basisnamen +%% aller erzeugten Dateien (\file{.dvi}, \file{.aux}, usw.), +%% wДhrend im ">ini"<"=Modus der Name der Format-Datei festgelegt +%% wird. + \item \optname{-halt-on-error}\mbox{\ }\newline + Stoppt die эbersetzung nach dem Auftreten des ersten Fehlers. + \item \optname{-job-time}\mbox{\ }\newline + Setzt die ">job~time"< auf die Zeit, die die Datei im Argument + trДgt. + \item \optname{-oem}\mbox{\ }\newline + Benutzt die \acro{DOS}-Codepage fЭr alle Konsol-Ausgaben. + \item \optname{-output-directory}\mbox{\ }\newline + Alle Ausgabedateien werden in das angegebene Verzeichnis + geschrieben. + \item \optname{-time-statistics}\mbox{\ }\newline + Ausgabe der Job-Statistik: Da Windows\,9x kein echtes + Multi"~Tasking-Betriebssystem ist, besitzt es keinen Timer fЭr + kurze ZeitablДufe. Die ausgegebenen Zeiten sind daher + AnnДherungen. Unter {\NT}/Windows\,2000 und {\XP} sind die + angegebenen Zeiten fЭr Usertime und Systemtime recht genau. + Hinweis fЭr \acro{UNIX}-Benutzer: Das Kommando \cmdname{time} + steht Windows-Benutzern nicht zur VerfЭgung. + \end{itemize} +\end{description} + +% ------------------------------------------------------------- +\subsection{PersЖnliche Konfiguration} + +% .............................................................. +\subsubsection{\dvips} + +Die Konfigurationsdatei fЭr {\dvips} ist so eingestellt, dass die \TypeI"=Fonts +genutzt werden. Anpassungen sind notwendig, falls stan"-dard"-mД"-ъig eine andere +PapiergrЖъe als DIN\,A4 verwendet werden soll. + +жffnen Sie die Datei |c:\TeXLive2005\texmf-var\dvips\config\config.ps| +mit einem Editor. + +\begin{description} +\item[Fonts:]\mbox{}\\ + Sie kЖnnen damit die Voreinstellungen fЭr den \MF-Drucker-Modus und die Drucker"-auf"|lЖ"-sung Дndern. Das kЖnnte + dann erforderlich sein, wenn {\dvips} \acro{PK}-Dateien generieren mЭsste. In der Voreinstellung ist {\dvips} so + konfiguriert, dass die \TypeI-Versionen der CM-Fonts benutzt werden. \cmdname{mktexpk} sollte deshalb nicht allzu + oft gerufen werden. +\item[Printer:]\mbox{}\\ + Sie kЖnnen einen Standarddrucker einrichten. + Steht die Option \samp{o} ohne weitere Zeichen allein + auf der Zeile, wird ein \file{.ps}-File geschrieben. + Sie kЖnnen nun \cmdname{dvips} Druckernamen in folgender + Weise vorgeben:\\ + \hspace*{1em} \optname{o lpt1:} \\ + \hspace*{1em} \verb+% o | lpr -S server -P myprinter+ \\ + \hspace*{1em} \verb+% o \\server\myprinter+ +\item[Paper:]\mbox{}\\ + FЭr die дnderung der Standard-PapiergrЖъe von DIN\,A4 auf + beispielsweise ">US letter"<, mЭssen Sie dafЭr sorgen, + dass ">US letter"< die erste in der Datei aufgefЭhrte + PapiergrЖъe ist. Suchen Sie den Block mit Zeilen, + die mit \samp{@} beginnen. Verschieben Sie die + folgenden Zeilen an den Beginn dieses Blocks:\\ + \hspace*{1em} \optname{@ letterSize 8.5in 11in} \\ + \hspace*{1em} \optname{@ letter 8.5in 11in} \\ + \hspace*{1em} \optname{@+ \%\%BeginPaperSize: Letter} \\ + \hspace*{1em} \optname{@+ letter} \\ + \hspace*{1em} \optname{@+ \%\%EndPaperSize} +\end{description} + +Speichern Sie die Einstellungen. + +Die aktuelle \TL-Distribution enthДlt Mechanismen, die dafЭr sorgen, dass die +Font"~Map-Dateien fЭr {\dvips} und {\pdfTeX} immer auf den neuesten Stand +gehalten werden. Das geschieht wДhrend der \TeX-Installation wie auch bei der +Installation neuer Pakete durch das Programm \cmdname{updmap}. Sollten Sie +ein neues Paket per Hand installieren, mЭssen Sie die Datei \file{updmap.cfg} +in \verb|$TEXMFVAR/web2c| entsprechend editieren. + +% .............................................................. +\subsubsection{\pdfTeX} + +Wenn Sie {\pdfTeX} oder {\pdfLaTeX} benutzen, um direkt \pdf-Dateien zu +erzeugen und nicht das standardmДъige Papierformat DIN\,A4 benutzen wollen, +mЭssen Sie in der Konfigurationsdatei +|c:\TeXLive2005\texmf-var\tex\generic\config\pdftexconfig.tex| die +Anweisungen \samp{\bs pdfpagewidth} und \samp{\bs pdfpageheight} entsprechend +Дndern. + +Die Anweisungen heiъen jetzt: + +\begin{alltt} + \bs{}pdfpagewidth=8.5 true in + \bs{}pdfpageheight=11 true in +\end{alltt} + +Speichern Sie die Datei und verlassen den Editor. + +% .............................................................. +\subsubsection{\cmdname{GSView}} + +\cmdname{GSView} unterliegt jetzt der Aladdin-Lizenz und kann deshalb nicht +mehr mit {\TL} verteilt werden. Sie kЖnnen es aber jederzeit von einem der +\acro{CTAN}-Server laden (im Verzeichnis +\href{ftp://ftp.dante.de/tex-archive/nonfree/support/ghostscript/ghostgum/}{\texttt{nonfree/support/ghostscript/ghostgum}}). + +In \cmdname{GSView} kЖnnen Sie das Papier-Standardformat Эber die MenЭ-Option +\textbf{Formate} festlegen. WДhlen Sie hier das gewЭnschte Format aus +der Liste, beispielsweise \textbf{A5}. + +Beachten Sie die MenЭ-Optionen, die Ihnen erlauben, eine optimale +Bildschirmanzeige einzustellen: + +WДhlen Sie \textbf{Formate} \OptPl \textbf{Anzeige Einstellungen...} +und setzen Sie:\\ + \begin{tabular}{@{}ll} + \hspace*{1em} \textbf{Text Alpha} & \texttt{4 bits} \\ + \hspace*{1em} \textbf{Graphik Alpha} & \texttt{4 bits} \\ + \end{tabular}\\ + +HierfЭr muss die Option \textbf{Farbtiefe} gegebenenfalls auf +\textbf{8} oder \textbf{24}\,Bits/Pixel eingestellt werden. + +Damit alle diese Einstellungen erhalten bleiben, wДhlen Sie +\textbf{Optionen} \OptPl \textbf{Speichere Optionen jetzt}. +Beachten Sie, dass beim Installationsprozess alle \file{.ps}- und +\texttt{.eps}-Dateien mit \cmdname{GSView} assoziiert wurden. эber das +Drucken eines Dokuments finden Sie Informationen im Abschnitt~\ref{printing}. + +% .............................................................. +\subsubsection{\cmdname{Windvi}}\label{sub:windvi} + +Das Programm \file{tlpmgui.exe} nimmt eine Assoziation von +\file{.dvi}-Dateien mit \file{Windvi} vor. Sie kЖnnen daher einfach auf +\dvi-Dateien doppelklicken, und \cmdname{Windvi} sollte starten. Sie kЖnnen +\cmdname{windvi} natЭrlich auch von der Kommandozeile starten oder sich eine +VerknЭpfung auf \cmdname{windvi} auf den Desktop legen. + +In \cmdname{Windvi} kann das gewЭnschte Papierformat aus einer Vielzahl +von Formaten Эber \textbf{View} \OptPl \textbf{Options} und dann in einer +Liste unter \samp{Paper~type} gewДhlt werden. Querformate sind an einem +angehДngten \textbf{r} erkennbar, z.\,B. \textbf{a4r}. Mit \textbf{OK} +werden die Einstellungen gesichert. + +Falls Sie nach dem passenden \MF-Modus fЭr die Auf"|lЖsung Ihres Druckers +suchen, sollten Sie in |c:\Programme\TeXLive\texmf-dist\metafont\misc\modes.mf| +nachlesen. + +Alle Konfigurationseinstellungen von \cmdname{Windvi} werden in +\dirname{\$HOME/windvi.cnf} gespeichert. Sie kЖnnen diese +mit folgendem Befehl finden: + +\begin{alltt} +c:\bs> \Ucom{kpsewhich --expand-var \$HOME/windvi.cnf} +\end{alltt} + +Falls Sie Probleme mit \cmdname{Windvi} haben, empfiehlt es sich, +die Konfigurationsdatei zu lЖschen und zu prЭfen, ob der gleiche +Fehler auch mit der Standardkonfiguration auftritt. + +% ------------------------------------------------------------- +\subsection{Installation testen} + +Im Abschnitt~\ref{sec:test-install} auf Seite~\pageref{sec:test-install} +wurde eine generelle Methode zum Test einer Installation beschrieben; +die AusfЭhrungen hier beleuchten die Windows-spezifischen Tests. + +In Ihrem Editor Жffnen Sie bitte die Datei \file{sample2e.tex}, die Sie unter +|c:\TeXLive2005\texmf-dist\tex\latex\base\| finden kЖnnen. +Die \LaTeX-Quelle sollte nach dem жffnen der Datei auf dem Bildschirm +angezeigt werden. Durch Anklicken des \LaTeX-Symbols in der MenЭ-Leiste +wird die Datei Эbersetzt; bei Wahl des Preview-Symbols (\cmdname{Windvi}) +wird sie dargestellt. +Beim ersten ">Preview"< einer Datei mit \cmdname{Windvi} werden alle +benЖtigten Fonts erzeugt; sie wurden nicht mitinstalliert. Mit der +Zeit werden Sie das Fenster, das die Font"=Generierung anzeigt, +immer seltener sehen. +Als nДchstes sollten Sie {\dvips} anklicken und \cmdname{GSView} +ausprobieren. + +\textbf{Hinweis fЭr spДter:} Wenn ein \LaTeX-Lauf mit einer Fehlermeldung +unterbricht, weil eine Datei nicht gefunden wird, kЖnnen Sie mit +\textbf{Ctrl-z} einen Abbruch erzwingen. эberprЭfen Sie anhand der +Protokolldatei, welche Datei nicht zu finden war und beheben Sie den Fehler. + +% ------------------------------------------------------------- +\subsection{Drucken}\label{printing} + +Es ist grundsДtzlich mЖglich, aus \cmdname{Windvi} heraus zu drucken. +Wird dabei der Standard-Windows-Druckertreiber benutzt, hat dies +den Vorteil, dass eine Ausgabe auf allen Druckern mЖglich ist und +Sie \file{BMP}- oder \file{WMF}-Bilddateien einbinden und drucken +kЖnnen. Nachteil ist, dass teilweise extrem groъe Druckdateien +erzeugt werden. Sie mЭssen sicherstellen, dass die Druckparameter +korrekt eingestellt sind (siehe Abschnitt~\vref{sub:windvi}), +sonst erhalten Sie eine skalierte Ausgabe der Druckseite. So wird +bei einer Drucker"-auf"|lЖ"-sung von 300\,dpi eine 600-dpi-Druckausgabe +nur ein Viertel der Seite zeigen. + +Im Allgemeinen ist es allerdings schneller und fЭr den Produktionszyklus +beim Einbinden von \file{eps}-Graphiken schneller und sicherer, {\dvips} zu +benutzen. Sie erstellen eine \file{.ps}-Datei und drucken mit \cmdname{GSView}. +Einen Ausdruck kЖnnen Sie in \cmdname{GSView} Эber das Drucker-Symbol oder +durch Wahl von \textbf{Datei} \OptPl \textbf{Drucken...} anstoъen. Es +wird dann ein Fenster fЭr die weiteren Druckparameter geЖffnet. + +Bei der Benutzung eines \PS-Druckers mЭssen Sie sicherstellen, +dass Sie die Option \textbf{\PS~Drucker} angewДhlt haben. +Ab \cmdname{GSView}-Version~3.6 erfolgt dies in dem Feld +\samp{Druckmethode} unten links im Fenster \textbf{Drucken}. +Dann kЖnnen Sie im Feld \samp{Drucker} jeden installierten +\PS-fДhigen Drucker auswДhlen. Wenn Sie vergessen sollten, +\textbf{\PS-Drucker} als \samp{Druckmethode} zu wДhlen, +wird das Ausdrucken nicht funktionieren. + +Benutzen Sie hingegen einen \textbf{nicht}-\PS-fДhigen Drucker, +wДhlen Sie im Feld \samp{Druckmethode} stattdessen die Option +\textbf{\cmdname{Ghostscript} Treiber} und klicken den mit \textbf{djet500} +beschrifteten Knopf. Hier wДhlen Sie Ihren Drucker im Dialog +\textbf{WДhle Ghostscript-GerДt} aus. +(In Дlteren \cmdname{GSView}-Versionen mЭssen Sie das Feld +\samp{\PS-Drucker} abwДhlen und dann Ihren Drucker aus +der \textbf{GerДte-Liste} wДhlen.) + +% ------------------------------------------------------------- +\subsection{Tipps und Tricks fЭr Win32-Plattformen} + +% .............................................................. +\subsubsection{Die feinen Unterschiede bei Win32} + +Was wir als Win32 bezeichnen, ist im Grunde kein eigenstДndiges +Betriebssystem. Es ist ein sehr groъer Satz von Funktionen% +\footnote{Die Headerfiles der Microsoft-\acro{SDK} enthalten rund 12\,000\,Funktionen!}, +den man benutzen kann, um Programme fЭr unterschiedliche +Betriebssysteme der Windows-Familie zu schreiben. + +Windows kommt in unterschiedlichen AusprДgungen: + +\begin{itemize} +\item Windows\,95, Windows\,98 und {\ME} stellen \emph{keine echten Multi"~Tasking- + oder Multi-Threading}-Systeme dar. Sie sind (hoffentlich) + die letzte \acro{DOS}-Metamorphose. Dies kann man mehr oder minder leicht + in der Boot-Phase ЭberprЭfen. Hat der PC \file{command.com} geladen + und man unterbricht die weitere Boot-Folge und fragt nach der + aktuellen (\acro{DOS}-)Version, so erhДlt man (zumindest bei Дlteren + Versionen von Windows\,9x) die Angabe: \samp{MS-DOS~7.0}. +\item \NT, ein komplett neu geschriebenes Betriebssystem mit + echten Multi"~Tasking"=Eigenschaften und vielen ">high~level~features"< +\item Windows\,2000, entwickelt auf der Basis von \NT, mit allen + Schikanen von Windows\,98 +\item \XP, in den Geschmacksrichtungen \emph{Personal} und \emph{Pro}, + ist der letzte Schritt auf dem Weg, die beiden Entwicklungslinien + Windows\,9x und {\NT} zusammenzufЭhren. {\XP} wurde auf der + Basis von {\NT} entwickelt. +\end{itemize} + +Windows\,9x ist in der Lage, 32"~Bit- und 16"~Bit-Programme gleichzeitig +auszufЭhren. Das Betriebssystem ist allerdings nicht vollstДndig im +32"~Bit-Modus geschrieben und unterstЭtzt daher keinen Speicherschutz. +16"~Bit-Applikationen kЖnnen so Teile des Betriebssystemspeichers +Эberschreiben! Einige Systemteile, wie beispielsweise das \cmdname{GDI} +(Graphical Device Interface), mЭssen beschrДnkte Ressourcen wie Bitmaps, +Fonts usw. fЭr alle gleichzeitig laufenden Programme verwalten. Die +GesamtgrЖъe aller Bitmap-Header, die zu einem Zeitpunkt verfЭgbar ist, +betrДgt maximal 64\,KB. Dies erklДrt die Rolle von ">Performance~Tools"< +und auch, warum Sie die StabilitДt Ihres Systems auf die Probe stellen, +wenn Sie intensiven Gebrauch von graphischen Objekten machen. + +\NT/""{\XP} und Windows\,2000 leiden weder unter diesen, noch unter +anderen Windows"~9x"=BeschrДnkungen. Sie sind echte Multi"~Tasking-Systeme mit +Speicherschutz-Me"-cha"-nis"-men. Durch besseres Design bei Speicherverwaltung, +Dateisystem usw. haben sie zudem ein wesentlich besseres Antwortverhalten. + +% .............................................................. +\subsubsection{Kommandointerpreter} + +Sie haben sich sicherlich schon gefragt, ">Warum sollte ich etwas Эber +die Kommandozeile eingeben, wenn ich Windows benutze?"<. + +Gute Frage. Dies ist mehr ein grundsДtzliches Problem, da mit einer +graphischen Benutzerschnittstelle (\acro{GUI}) nicht immer alle Arbeitsschritte +einfach zu erledigen sind. Der Kommandointerpreter erЖffnet hier +hДufig -- einen intelligenten Kommandointerpreter vorausgesetzt -- mehr MЖglichkeiten. + +In unserem Fall handelt es sich aber um ein fundamentales Problem: +{\TeX} ist ein \emph{Batch}-Tool und kein interaktives Programm. +{\TeX} errechnet das beste Layout fЭr jede Seite, lЖst die Referenzen +auf, usw. HierfЭr ist die Gesamtbearbeitung des Dokuments immer noch +die einfachste Methode. Bislang macht eine interaktive Bearbeitung +der Eingabe (noch) keinen Sinn. + +Das bedeutet also, dass Sie {\TeX} auf der Kommandozeile benutzen +sollten. Im Grunde ist die Situation sogar so, dass diese Programme +fЭr komplexe VerarbeitungsvorgДnge besser geeignet sind, da es leichter +ist, ein Programm ohne die Verkopplung mit einer graphischen +Benutzerschnittstelle zu testen und Fehler zu finden. Es ist +dann auch einfacher, ein \acro{GUI} zur Bedienung dieses Programms +zu entwickeln. Und dies ist genau der Fall fЭr {\TeX}, mit dem +Sie in den allermeisten FДllen Эber eine Shell oder einen +\acro{GUI}-Editor in Kontakt treten. + +Manchmal benЖtigen Sie aber den Kommandointerpreter dazu, um +Probleme zu lЖsen oder um Fehler in Ihrem Setup aufzuspЭren +(siehe Abschnitt~\ref{sec:troubleshooting}). + +\begin{description} + \item[Windows\,9x:]\mbox{}\\ + Sie starten den Kommandointerpreter entweder im + \textbf{Start}-MenЭ \OptPl \textbf{Programme} und + suchen die Option \cmdname{MS-DOS-Eingabeauf"|forderung} + oder mit \textbf{Start}-MenЭ \OptPl \textbf{AusfЭhren} + und tippen ">\file{command.com}"<. + \item[{\NT}, Windows\,2000 und \XP:]\mbox{}\\ + Sie finden den Kommandointerpreter im + \textbf{Start}-MenЭ unter \textbf{Accessories}.% + \footnote{Dies kann je nach Version des Betriebssystems + unterschiedlich sein. In der deutschsprachigen Version + von Windows heiъt diese Programmgruppe meistens ">ZubehЖr"<.} + Sie starten ihn allerdings auch im \textbf{Start}-MenЭ + \OptPl \textbf{AusfЭhren} durch ">\file{cmd.exe}"< + (so heiъt der nagelneue Kommandointerpreter fЭr + {\NT}).\footnote{Was auch erklДrt, warum es unwahr + ist, ihn unter {\NT} als \emph{\acro{DOS}}-Box zu bezeichnen.} +\end{description} + +% .............................................................. +\subsubsection{Verzeichnistrenner} + +Die Win32-API versteht sowohl \samp{/} als auch ">|\|"< +als Verzeichnistrenner. Die Kommandointerpreter aber leider nicht! +Sie kЖnnen also immer dann beide Trenner benutzen, sogar gemischt +innerhalb eines Pfads, wenn Sie \emph{nicht} auf der Kommandozeile +arbeiten. +Der Kommandointerpreter spielt hier nicht mit, da er das Zeichen +\samp{/} benutzt, um Argumente von Kommandos zu trennen. + +Sie sollten also nicht Эberrascht sein, wenn Sie Pfad- und +Verzeichnisnamen in der \acro{UNIX}"=Schreibweise sehen. \fpTeX ist eine +Portierung von {\Webc} und zielt auf KompatibilitДt Эber die Plattformen. +Deshalb enthalten alle Konfigurationsdateien die Pfadnamen in +\acro{UNIX}-Schreibweise. + +% .............................................................. +\subsubsection{Dateisysteme}\label{sec:clusters} + +Das schwДchste Glied bei Windows\,9x in Bezug auf {\TeX} ist +sicherlich das sogenannte \acro{FAT}- oder \acro{FAT16}-Dateisystem. +{\TeX} benutzt eine Vielzahl sehr kleiner Dateien, meist mit +GrЖъen zwischen 1\, und 3\,KB. Das \acro{FAT}-Dateisystem +ist veraltet; es stammt aus einer Zeit, als Gigabyte-Platten +noch unbekannt waren. Deshalb kann es mit den Zehntausenden von Dateien +des \TL-Systems nicht effizient umgehen. Im \acro{FAT}-Dateisystem +werden auf groъen Partitionen im Minimum 32\,KB fЭr +\emph{jede} Datei angelegt. Damit ist klar, dass {\TeX} auf +diese Weise wesentlich mehr Plattenplatz verbraucht als +notwendig wДre. + +Die moderneren Windows-Dateisysteme, wie \acro{FAT32} oder \acro{NTFS}, +haben diesen Nachteil nicht. Hier betragen die sogenannten +Cluster-GrЖъen 4\,KB.% +\footnote{Unter \acro{NTFS} kann dies bis auf 512\,Byte gesenkt werden.} + +% .............................................................. +\subsubsection{\envname{PATH} um Verzeichnis(se) erweitern} + +Jedes Programm erhДlt bei seinem Start eine Kopie der +Standardumgebung. Dies ist eine Sammlung von Variablen mit +zugehЖrigen SchlЭsselwerten. Diese Variablen stehen unter +der ausschlieъlichen Kontrolle des Programms; дnderungen +an SchlЭsseln oder SchlЭsselwerten sind fЭr andere Programme +nicht sichtbar. + +Die Umgebungsvariable \envname{PATH} dient der Suche nach +Programmen. Es existieren unterschiedliche Vorgehensweisen +zur дnderung dieser Variablen fЭr die verschiedenen +Windows-Varianten: + +\begin{description} +\item[Windows\,95/98:]\mbox{}\\ + Laden Sie die Datei \file{autoexec.bat} in den Editor + und suchen nach einer Zeile, die mit \samp{PATH=} + beginnt. Nach dem \samp{=} folgt eine Liste von + Verzeichnissen, die durch \samp{;} getrennt sind. + FЭgen Sie das Verzeichnis mit den \TL-Programmen + an. Danach kЖnnte die Zeile wie folgt aussehen: + + |PATH=c:\windows;c:\windows\system;c:\TeXLive2005\bin\win32| + +\item[\ME:]\mbox{}\\ + Um eine Umgebungsvariable zu Дndern, mЭssen Sie + das Programm + + |c:\windows\system\msconfig.exe| + + laufen lassen. WДhlen Sie nach dem Start dieses Programms + ">\cmdname{Umgebung}"<, dann tragen Sie die Variable + \texttt{PATH} mit ihrem Wert ein oder Дndern ihn: + + |PATH c:\TeXLive2005\bin\win32| + + Danach werden Sie aufgefordert, Ihren Rechner neu zu starten. + +\item[\NT/Windows\,2000:]\mbox{}\\ + Gehen Sie Эber \textbf{Start}-MenЭ \OptPl \textbf{Einstellungen} + \OptPl \textbf{Systemsteuerung} \OptPl \textbf{System}. + WДhlen Sie \textbf{Umgebung}. Die weiteren Schritte finden Sie + unter \XP. + +\item[\XP:]\mbox{}\\ + Gehen Sie Эber \textbf{Start}-MenЭ \OptPl \textbf{Systemsteuerung} + \OptPl \textbf{System} \OptPl \textbf{Erweitert}. + WДhlen Sie unten links \textbf{Umgebungsvariablen}. + + Sie kЖnnen nun als Benutzer die Umgebungsvariablen + Дndern. Es werden Ihnen aber auch Variablen + fЭr das System angezeigt. Im Normalfall kЖnnen Sie keine + System-Variablen Дndern, es sei denn, Sie besitzen fЭr den + Rechner auch Administrator-Rechte. MЖchten Sie \envname{PATH} + fЭr alle Benutzer Дndern, mЭssen Sie mit Ihrem Systembetreuer + Kontakt aufnehmen; sind Sie selbst Systembetreuer, sollten + Sie Bescheid wissen. + + Existiert bereits eine Einstellung fЭr \envname{PATH} fЭr Sie, + klicken Sie mit der linken Maustaste auf \envname{PATH}. Im + Feld \textsf{Variable} erscheint dann \envname{PATH}, das Feld + \textsf{Wert} zeigt den aktuellen Inhalt als Liste von + Verzeichnissen, die mit \samp{;} getrennt sind. FЭgen Sie + das Verzeichnis mit den \TL-Programmen an: + + |c:\TeXLive2005\bin\win32| + + Existiert fЭr Sie keine Variable mit Namen \envname{PATH}, mЭssen Sie + in das Feld \textsf{Variable} klicken und \envname{PATH} + eintragen. Dann wДhlen Sie das Feld \textsf{Wert} an und + tragen das gewЭnschte Verzeichnis ein. + + \textbf{Wichtig}: Klicken Sie zuerst \samp{эbernehmen} an, + bevor Sie mit \samp{Ok} bestДtigen. Anderenfalls + werden die дnderungen an \envname{PATH} nicht fЭr Ihr System + Эbernommen. Seien Sie vorsichtig beim дndern der Umgebung! +\end{description} + +Zur эberprЭfung, ob die Variable gesetzt wurde, ist es am +besten, ein Kommandointerpreter-Fenster zu Жffnen und dort einzugeben: + + ~~~~\code{set} \var{variable} + +Sie erhalten dann den zugewiesenen Wert angezeigt. + +% .............................................................. +\subsubsection{{\TeX}-Engines} + +Wenn Sie die \Webc-Dokumentation aufmerksam lesen, werden Sie +feststellen, dass immer davon geschrieben wird, dass alle auf +{\TeX} basierenden Programme die gleiche ">Base-Engine"< +benutzen. So sind zum Beispiel \file{tex.exe} und \file{latex.exe} +Kopien des gleichen Programms; jedes benЖtigt aber seine eigene +Format-Datei basierend auf dem Programmnamen. + +Unter \acro{UNIX} wird dies durch sogenannte \emph{symbolische Links} erreicht. +Das spart Plattenplatz, da einige Base-Engines mit sehr vielen +unterschiedlichen Format-Dateien genutzt werden. + +%\enlargethispage{-\baselineskip} +Die Win32-API kennt keine symbolischen Links. Um also annДhernd die +gleiche Ersparnis zu erreichen, wurden die \TeX-Base-Engines +in sogenannten DLLs (\emph{Dynamic Linked Library}) realisiert. +Das heiъt, man sieht folgende Verteilung: + +\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} + +\file{latex.exe} ist eine Kopie von \file{pdfetex.exe}, die den +selben Kern \file{tl90pdfetex.dll} nutzt. Der gleiche Trick wurde +fЭr die acht Mitglieder der \file{mktex*.exe}-Programmfamilie +benutzt, die auf die Bibliothek \file{mktex.dll} ">gelinkt"< sind. + +Das \TL-System enthДlt das Programm \file{irun.exe}, mit +dem fЭr Win32-BinДrprogramme das \acro{UNIX}-дquivalent der sogenannten +\emph{hard~links} eingerichtet werden kann. + +% ------------------------------------------------------------- +\subsection{ProblemfДlle}\label{sec:troubleshooting} + +% .............................................................. +\subsubsection{Was ist zu tun, wenn {\LaTeX} Ihre Dateien nicht findet?} + +\begin{itemize} +\item Bei diesen Problemen heiъt das Werkzeug der Wahl \cmdname{kpsewhich}. + Leider gibt \cmdname{kpsewhich} seine Ausgaben auf \samp{stderr} + aus und das Fenster des Kommandointerpreters kennt keinen Weg + \samp{stderr} auf eine Datei umzulenken.% + \footnote{Ok, \NT/""{\XP} und Windows\,2000 haben dazu gelernt. Der + angegebene Trick funktioniert aber fЭr alle + Systeme!} + FЭr Diagnosezwecke kann man im Kommandointerpreter die folgende + Umgebungsvariable definieren: + + | SET KPATHSEA_DEBUG_OUTPUT=err.log| + + Sie kЖnnen auch die Debug-Schwelle einstellen: + + | SET KPATHSEA_DEBUG=-1| + +\item Falls Sie die Fehlerausgabe \samp{stderr} auf die Standardausgabe \samp{stdout} + umlegen wollen (unter Windows\,9x, \NT/""Windows\,2000/""{\XP} nicht mЖglich), hilft folgende + Vorgehensweise: + + | SET KPATHSEA_DEBUG_OUTPUT=con:| + + Damit kЖnnen Fehler- und Standardausgaben in der gleichen Datei gesammelt werden. + +\item эberprЭfen Sie die folgenden Werte (es wird hierbei angenommen, dass das + \TeX-System unter |c:/TeXLive2005| eingerichtet wurde): \\ + \begin{small} + \begin{tabular}{lp{6cm}} + \texttt{kpsewhich -expand-path \$SELFAUTOPARENT} + & |c:/TeXLive2005| \\ + \texttt{kpsewhich -expand-path \$TEXMF} + & |c:/TeXLive2005/texmf| \\ + \texttt{kpsewhich -expand-path \$TEXMFCNF} + & |.;c:/TeXLive2005/texmf-var/web2c;| \\ + \texttt{kpsewhich -expand-var \$TEXINPUTS} + & |.;c:/TeXLive2005/texmf/tex//| + \end{tabular} + \end{small} + +\item Falls Sie die Umgebungsvariablen fЭr das \TeX-Umfeld anders gesetzt haben, + sollten Sie diese Eintragungen lЖschen. Offensichtlich werden die Einstellung + aus \file{texmf.cnf} Эberschrieben. + +\item Vergleichen Sie Ihre Ergebnisse mit folgenden Werten:\\ + \begin{small} + \begin{tabular}{ll} + \texttt{kpsewhich cmr10.tfm} & + \file{c:/TeXLive2005/texmf/fonts/tfm/public/cm/cmr10.tfm}\\ + \texttt{kpsewhich latex.fmt}& + \file{c:/TeXLive2005/texmf/web2c/latex.fmt} + \end{tabular} + \end{small} + +\item Falls bis zu diesem Punkt alles Эbereinstimmte, sollten auch + \file{tex.exe} und Co. funktionieren. Ist dies nicht der Fall, + werden Sie sich intensiver mit der \cmdname{kpsewhich}-Option \optname{-debug=n} + beschДftigen und alle Werte + ЭberprЭfen mЭssen. Wenn Sie das Problem identifizieren kЖnnen, + schicken Sie bitte einen Fehler-Report. +\end{itemize} + +% .............................................................. +\subsubsection{Was ist zu tun, wenn das Setup nicht wie gewЭnscht funktioniert?} + +Es gibt einige Punkte, die Sie zuerst prЭfen sollten: + +\begin{enumerate} +\item Liegt \file{tex.exe} im definierten \envname{PATH}? +\item Wurde die Umgebungsvariable \envname{TEXMFCNF} auf + |c:\TeXLive2005\texmf-var\web2c| gesetzt + (eigene Einstellung beachten!)? +\item Wurden im Installationsprotokoll Fehler durch \file{tlpmgui.exe} + eingetragen? Die Datei \file{tlpmgui.log} befindet sich im + \file{TEMP}-Verzeichnis. Fehlermeldungen beginnen mit \samp{Error}. + Hinweis: Manchmal finden sich in der Log-Datei Fehlermeldungen vom + Versuch, alle Format-Dateien zu generieren. Keine Panik, wenn dies + Formate betrifft, die Sie gar nicht installiert haben. +\item Sie kЖnnen im \acro{WWW}-Dokument \url{http://www.tug.org/tex-live/} + prЭfen, ob ein Bug-Fix fЭr das \TL-System vorliegt. +\end{enumerate} + +Die \TL-Software ist komplex und besteht aus Hunderten von Programmen +und Zehntausenden von Dateien aus verschiedenen Quellen. Es ist deshalb nicht +mЖglich, Antworten fЭr alle ProblemfДlle vorzuhalten. Wir werden aber +unser Bestes tun, Ihnen bei allen Schwierigkeiten zu helfen. (Siehe Abschnitt~\ref{sec:help} auf +Seite~\pageref{sec:help}.) + +% ============================================================== +% 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 gehЖren natЭrlich \TeX, +\MF, \MP, {\BibTeX} usw. + +Die erste Implementierung eines \TeX-Systems +in der Programmiersprache C stammt von Tomas~Rokicki und datiert zurЭck in das +Jahr 1987. Rokicki benutzte als Basis sog. Change-Files unter \acro{UNIX}, die ursprЭnglich von +Howard~Trickey und Pavel~Curtis entwickelt wurden. Tim~Morgan hat dieses +System, fЭr das der Name Web-to-C\@ eingefЭhrt wurde, gepflegt. +1990 hat Karl~Berry mit UnterstЭtzung vieler Helfer die Weiterentwicklung +Эbernommen und 1997 an Olaf~Weber weitergegeben. + +\Webc~7.5 lДuft unter \acro{UNIX}, Windows\,3.1, Windows\,9x/""\ME/""\NT/""Windows\,2000/""\XP, +\acro{DOS} 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. DarЭber hinaus bietet das System viele Makros und +Funktionen zur Nutzung der originalen \TeX-Software. Hier eine +Liste der Basisprogramme eines \TeX-Systems: + +\begin{deflist}{\mdseries\cmdname{pooltype}} +%\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 ZeichensДtzen in DVI-Dateien +\item[dvitomp] DVI-nach-MPX-Konverter (\MP-Bilder) +\item[dvitype] Textanzeige aus DVI-Dateien +\item[gftodvi] Erzeugen von PrЭfausgaben fЭr ZeichensДtze +\item[gftopk] Packen von ZeichensДtzen +\item[gftype] Anzeige von ZeichensДtzen 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 ZeichensДtzen +\item[pktype] Anzeige gepackter ZeichensДtze +\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{deflist} + +Die genaue Funktionsweise und die mЖglichen 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. + +ZunДchst verstehen alle Programme die grundlegenden Parameter der +\acro{GNU}-Software: + +\begin{deflist}{\texttt{-{}-version}} +\item[\texttt{-{}-help}] kurzer Hilfstext +\item[\texttt{-{}-verbose}] ausfЭhrliche Ausgaben beim Programmablauf +\item[\texttt{-{}-version}] Ausgabe der Versionsnummer +\end{deflist} + +Die Programme des \Webc-Systems benutzen zum Lokalisieren der benЖtigten +Dateien im Dateisystem die \KPS-Bibliothek. 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 ermЖglicht +somit die schon beschriebene \TL-Installation unter Verwendung der +{\CDROM} oder {\DVD} mit der Ablage modifizierter Konfigurationsdateien +und zusДtzlicher ZeichensДtze 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 enthДlt fЭr jede Datei die genaue Position im Dateibaum relativ +zum Wurzelverzeichnis. + +% ------------------------------------------------------------- +\subsection[Dateisuche mit der Kpathsea-Bibliothek]{Dateisuche mit der \protect\KPS-Bibliothek} + +Wir beschreiben zunДchst 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 ЭberprЭft, also zunДchst +\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 kЖnnen, verwendet {\KPS} ggf. andere +Datei-/""Verzeich"-nis-Separatoren als \samp{:} und \samp{/}. + +Beim эberprЭfen einer Pfadkomponente \var{p} ЭberprЭft {\KPS} zunДchst, +ob eine Dateinamen"=Datenbank (siehe auch Dateinamen"=Datenbank auf +Seite~\pageref{Filename-database}) fЭr die Pfadkomponente zustДndig ist, +d.\,h. beispielsweise steht die Datenbank in einem Verzeichnis, das im Pfad +vor der zu ЭberprЭfenden 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 +zeitaufwДndige Suche kann Эber die Spezifikation der Pfadkomponente \var{p} +mit dem PrДfix \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. + +FЭr 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, wДre es falsch, nach dieser Datei zu suchen, weil es sie gar +nicht gibt. Speziell fЭr 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 fЭr jede +Komponente eines Suchpfades: zunДchst wird die Datenbank +ЭberprЭft, danach ggf. das Dateisystem. Wird die Datei gefunden, +stoppt die Suche (normalerweise) und als Ergebnis wird der komplette Pfad zur +gesuchten Datei ausgegeben. + +Auъer Verzeichnisnamen dЭrfen Pfadkomponenten fЭr {\KPS} folgende +Elemente enthalten: (verschachtelte) Vorgaben, Umgebungsvariablen, +Werte aus der Konfigurationsdatei, Home-Verzeich"-nisse von +Benutzern und Startverzeichnisse fЭr eine rekursive Suche. Diese +Elemente werden vor einer Dateisuche von {\KPS} in gewЖhnliche +Verzeichnis- oder Dateinamen expandiert. Diese Expansion wird in +den folgenden Abschnitten erklДrt, 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 ЭberprЭft, 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} + +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 angehДngt, wie + beispielsweise bei \envname{TEXINPUTS.latex}, hat diese Form Vorrang + vor den ">gewЖhnlichen"< Variablen. +\item + EintrДge aus programmspezifischen Konfigurationsdateien, + beispielsweise zum Programm {\dvips} eine Zeile \samp{S /a:/b} + in der Konfigurationsdatei \file{config.ps} +\item + EintrДge 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 kЖnnen Sie sich diese +Werte fЭr einen Suchpfad auch anzeigen lassen. (Siehe dazu den Abschnitt +Fehlersuche auf Seite~\pageref{Debugging}.) + +% .............................................................. +\subsubsection{Konfigurationsdateien} + +%\tolerance=3500 +Die \KPS-Bibliothek liest zur Laufzeit die \emph{Konfigurationsdateien} mit den Namen +\file{texmf.cnf}. Der zugehЖrige 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 spДter 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 VerstДndnis beim Lesen die auf der +{\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 dЭrfen entfallen. +\item + Der Name von \var{Variable} kann alle Zeichen auъer 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 fЭr das entsprechende Programm ">\var{Programmname}"< oder + ">\code{\var{Programmname}.exe}"<. Auf diese Weise kЖnnen + beispielsweise verschiedene + \TeX-Formate mit unterschiedlichen Suchpfaden arbeiten. +\item + \texttt{\var{Wert}} darf alle Zeichen auъer \texttt{\%} und \texttt{@} + enthalten. + Die EinschrДnkung der Werte auf bestimmte Programme Эber ein Suffix + ist nicht zulДssig. Ein \samp{;} in \texttt{\var{Wert}} wird unter + \acro{UNIX} in \samp{:} umgewandelt. Dadurch ist die Verwendung der gleichen + Konfigurationsdateien fЭr \acro{UNIX} und \acro{DOS}/""Windows"=Systeme mЖglich. +\item + Die Definitionen werden komplett eingelesen, bevor eine Expansion + stattfindet. Dadurch kЖnnen Sie die Variable schon vor Ihrer Definition + referieren. +\end{itemize} + +Der Ausschnitt einer Konfigurationsdatei demonstriert diese +MЖglichkeiten. +\ifSingleColumn +\verbatiminput{examples/ex5.tex} +\else +Betrachten Sie Abbildung~\ref{fig:config-sample}. +\fi + +% .............................................................. +\subsubsection{Expansion von Pfadkomponenten}\label{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 erklДrt. + +% .............................................................. +\subsubsection{Expansion der Voreinstellungen}\label{Default-expansion} + +Wenn der Suchpfad mit der hЖchsten PrioritДt (siehe hierzu ">Bestandteile von +Pfadkomponenten"< auf Seite~\pageref{Path-sources}) einen zusДtzlichen +(vorangestellten, nachgestellten oder verdoppelten) Doppelpunkt enthДlt, +wird an dieser Stelle der Suchpfad eingefЭgt, der als nДchstes 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 erhДlt + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} + +dann lautet der Suchpfad schlieъlich: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Da es sinnlos wДre, denselben Pfad mehrfach einzufЭgen, wird die Ersetzung +nur einmal vorgenommen, und zwar in der Reihenfolge vorne, hinten und +Mitte. Mehrfach verdoppelte Doppelpunkte bleiben unverДndert. + +% .............................................................. +\subsubsection{Expansion geschweifter Klammern} + +Die Expansion geschweifter Klammern ist zur Definition mehrerer +\TeX-Hierarchien sehr nЭtzlich. 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 einzufЭhren. +Als Beispiel finden Sie in \file{texmf.cnf} folgende Definition +(etwas gekЭrzt, tatsДchlich 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} +%$ +fЭhrt dann dazu, dass erst im aktuellen Verzeichnis gesucht wird, dann +im gesamten Dateibaum \code{\$TEXMFHOME/tex} und \code{\$TEXMFLOCAL/tex} +(auf der Festplatte) und +schlieъlich 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 unverДnderliche auf \CDROM/{\DVD} und eine dynamisch +angepasste auf Festplatte, in der neue Programmversionen und zusДtzliche +ZeichensДtze installiert werden. Durch die Verwendung der Variablen +\code{\$TEXMF} in allen Definitionen wird grundsДtzlich zuerst der +neuere Dateibaum durchsucht. + +% .............................................................. +\subsubsection{Expansion von Unterverzeichnissen}\label{Subdirectory-expansion} + +Zwei oder mehrere aufeinanderfolgende SchrДgstriche (\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 SchrДgstrichen 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 zulДssig, 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 kЖnnen: + +% ++++++++++++++++++++++++ +\newcommand{\CODE}[1]{\makebox[3em][l]{\code{#1}}} +% ++++++++++++++++++++++++ + +\begin{deflist}{\CODE{!!}} % noch schlechter Satz ?? +\item[\CODE{:}] Trennzeichen fЭr Pfadkomponenten; als erstes + oder letztes Zeichen im Pfad bewirkt es die + Expansion der Voreinstellungen. +\item[\CODE{;}] Trennzeichen fЭr Pfadkomponenten fЭr 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{!!}] EinschrДnkung der Suche \emph{ausschlieъlich} auf die + Dateinamen"=Datenbank: Das Dateisystem wird \emph{nicht} + durchsucht! +\end{deflist} + +% ------------------------------------------------------------- +\subsection{Dateinamen"=Datenbanken}\label{Filename-database} + +{\KPS} unternimmt etliche Anstrengungen, um den Zugriff auf Festplatte und +\CDROM/{\DVD} zur Suche nach Dateien zu reduzieren. Auf \TeX-Systemen mit +vielen Unterverzeichnissen kann die Suche in jedem mЖglichen Verzeichnis +nach einer bestimmten Datei eine lange Zeit in Anspruch nehmen, besonders +wenn einige Hundert Zeichensatzverzeichnisse durchforstet werden mЭssen. +Um dieses Problem abzumildern, benutzt {\KPS} eine Art Datenbankdatei +namens \file{ls-R}, die die Zuordnung von Dateinamen auf Verzeichnisse +enthДlt. 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"<, aussagekrДftigen Dateinamen zur Seite stehen. + +% .............................................................. +\subsubsection{Die \texttt{ls-R}-Datenbank}\label{ls-R} + +Wie schon Жfters erwДhnt, muss die Dateinamen"=Datenbank in der Datei +\file{ls-R} gespeichert sein. Sie sollten eine solche Datenbank fЭr 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 regelmДъigen AbstДnden 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{Invoking-kpsewhich} + +Mit dem Programm \cmdname{kpsewhich} kЖnnen Sie unabhДngig 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 AbkЭrzung ist zulДssig. + +Argumente der Kommandozeile, die keine Optionen darstellen, werden als +Dateinamen interpretiert. FЭr jeden Dateinamen wird der erste passende +Pfad gemeldet. Um eine Liste aller passenden Pfade zu erhalten, mЭssen Sie +das \acro{UNIX}-Kommando \cmdname{find} aufrufen. + +Im Folgenden werden die wichtigen Optionen beschrieben. + +\begin{description} +\item[\texttt{-{}-dpi=}\var{num}]\mbox{}\\ + Stellt die Auf"|lЖsung fЭr die Suche nach ZeichensДtzen + (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 erschlieъen. Bei Formaten ohne zugeordnete Namens\-endung wie den + zu {\MP} gehЖrenden Dateien und den Konfigurationsdateien zu + {\dvips} mЭssen Sie den entsprechenden Namen so eingeben, wie er + \KPS{} bekannt ist. +\item[\texttt{-{}-mode=}\var{string}]\mbox{}\\ + Setzt fЭr die Zeichensatzsuche den Generierungsmodus (betrifft nur + \file{.gf}- oder \file{.pk}-Dateien). Normalerweise werden alle + ZeichensДtze 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 gewДhlt wird. Alle Expansionen sind + zulДssig. Bei Verwendung der Option \texttt{-{}-path} darf nicht + die Option \texttt{-{}-format} angegeben werden. +\item[\texttt{-{}-progname=}\var{name}]\mbox{}\\ + Setzt den Programmnamen fЭr die genauere Variablenspezifikation + Эber \samp{.\var{Programmname}}. Voreinstellung ist \samp{kpsewhich}. +\item[\texttt{-{}-show-path=}\var{name}]\mbox{}\\ + Zeigt den Suchpfad fЭr 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 fЭr die Fehlersuche fest. +\end{description} + +% .............................................................. +\subsubsection{Anwendungsbeispiele}\label{SExamplesofuse} + +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, mЭssen wir den Typ +\samp{.tex} nicht angeben. Die \samp{texmf-dist}-Hierarchie enthДlt 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 um eine \BibTeX-Literaturdatenbank +fЭr \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-ZeichensДtze, die auf der \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} + +FЭr diesen Zeichensatz (Teil der \acro{IPA}-Fonts% +\footnote{\acro{IPA}: International Phonetic Alphabet} +von der UniversitДt von Washington) liegen noch keine +\TypeI-Umsetzungen vor und \samp{.pk}-Dateien mЭssen generiert werden. Da unser voreingestellter \MF-Modus +\samp{ljfour} eine Auf"|lЖsung 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 +fЭr ZeichensДtze mit der Auf"|lЖsung 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 nДchstes wenden wir uns den Header- und Konfigurationsdateien +von {\dvips} zu. +ZunДchst suchen wir nach der Konfiguration fЭr die \TeX-UnterstЭtzung, +dem Prolog \file{tex.pro}. Danach suchen wir die allgemeine Konfigurationsdatei +(\file{config.ps}) und schlieъlich 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, +mЭssen wir den gewЭnschten Typ (\samp{dvips config}) +fЭr 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 fЭr den \PS-Zeichensatz ">URW Times"<. +Nach dem Namensschema von Karl~Berry beginnen die Namen mit ">\texttt{utm}"<. +ZunДchst suchen wir die Konfigurationsdatei, die den Namen der +Zeichensatzzuordnungsdatei enthДlt. + +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.utm} + /usr/local/texmf-dist/dvips/psnfss/config.utm +\end{alltt} + +Diese Datei enthДlt folgende Anweisung: + +\begin{alltt} + p +utm.map +\end{alltt} + +Die angegebene Datei \file{utm.map} wollen wir als nДchstes 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 fЭr {\dvips} gefunden. Sie enthДlt die Dateinamen der +\TypeI-\PS-ZeichensДtze, die fЭr 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-ZeichensДtzen: + +\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 kЖnnen. 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{Debugging} + +Manchmal ist wichtig, bis ins Detail nachzuvollziehen, wie ein Programm eine +bestimmte Datei findet. Zu diesem Zweck bietet die \KPS-Bibliothek verschiedene +Stufen fЭr den Umfang der Fehlersuche an. + +\begin{itemize} +\item[\texttt{\ 1}] \code{stat}-Aufrufe (эberprЭfung, 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 Schlieъen von Dateien +\item[\texttt{\ 8}] Auf"|listen der voreingestellten Pfade fЭr Extensionen +\item[\texttt{16}] Verzeichnisliste fЭr jede Pfadkomponente (nur bei Festplattenzugriff) +\item[\texttt{32}] Suchaktionen nach Dateien +\end{itemize} + +Durch die Angabe von \samp{-1} setzen Sie alle Stufen gleichzeitig. +FЭr eine effiziente Fehlersuche sollten Sie sich auf die wichtigsten +Ausgaben beschrДnken. + +FЭr {\dvips} gibt es einen Дhnlichen Mechanismus zur Erzeugung +von Analysemeldungen, um herauszufinden, warum bestimmte Dateien geЖffnet +wurden bzw. wo vielleicht das Problem liegt, wenn Dateien nicht gefunden +werden. + +Da fast alle Programme die \KPS-Bibliothek benutzen, kЖnnen Sie die +gewЭnschte Stufe auch Эber die Umgebungsvariable \envname{KPATHSEA\_DEBUG} +einstellen, indem Sie einen der Werte oder eine additive Kombination +spezifizieren. + +Anmerkung fЭr Windows-Benutzer: Es ist nicht einfach, alle Meldungen in eine Datei umzulenken. FЭr die Fehlersuche +jedoch ist die folgende (temporДre!) 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, nДmlich \file{cmr10}. Wir sehen uns +jetzt einmal genau an, wie {\dvips} die \PS-Datei erzeugt. +Da wir die \TypeI-Variante der Computer-Modern-Roman-ZeichensДtze +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 ungefДhr so wie in +Abbildung~\ref{fig:dvipsdbga} dargestellt aus (die Ausgabe wurde fЭr 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*} + +ZunДchst sucht {\dvips} (bzw. \KPS) seine Konfigurationsdateien, +nДmlich \file{texmf.cnf} (das die Pfade der anderen Dateien enthДlt), +dann die Dateinamen"=Datenbank \file{ls-R} (zur Optimierung der Suche) +und die Datei \file{aliases}, mit deren Hilfe fЭr eine Datei +mehrere Namen vereinbart werden kЖnnen, z.\,B. um die kurzen +\samp{8.3}-\acro{DOS}-Namen mit aussagefДhigen, langen Namen zu assoziieren. +Danach wird die allgemeine \dvips-Konfigurationsdatei +\file{config.ps}, anschlieъend die benutzerspezifische Konfigurationsdatei +\file{.dvipsrc} (wird hier \emph{nicht} gefunden) gesucht. +Als letztes sucht {\dvips} die Zuordnungsdatei fЭr +Computer-Modern-{\PS}"=ZeichensДtze \file{config.cms} (bedingt durch die +Option \optname{-Pcms} beim Aufruf von \dvips). Diese +Datei enthДlt 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 zusДtzlich die +allgemeine Zeichensatzzuordnungstabelle \file{psfonts.map} zu +laden, die immer konsultiert wird; der letzte Teil von +Abschnitt~\ref{SExamplesofuse} erklДrt 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} benЖtigt, 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} zДhlt die MЖglichkeit, +zur Laufzeit einige Speicher"-grЖъen Эber die Datei \file{texmf.cnf} anpassen +zu kЖnnen (insbesondere die GrЖъe einiger Stacks). Eine ausfЭhrliche Liste +der verДnderbaren Parameter finden Sie in der Datei \file{texmf.cnf}. +Die wichtigsten Werte sind: + +\begin{description} +\item[\texttt{main\_memory}]\mbox{}\\ + Arbeitsspeicher fЭr \TeX, {\MF} und {\MP} in Worten: FЭr jede Einstellung + muss eine eigene Format-Datei erstellt werden. Allerdings kЖnnen Sie + mehrere Versionen von {\TeX} unter verschiedenen Namen erzeugen und + in der Konfigurationsdatei jeweils eigene EintrДge vorsehen. Hier gibt + es ein Monster-{\TeX} namens \samp{hugetex} mit der zugehЖrigen 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 fЭr ">groъe"< \TeX-Datenstrukturen wie Boxen, Glue, + Breakpoints, usw.: Besonders bei Anwendung von {\PiCTeX} sollte dieser + Wert erhЖht werden. +\item[\texttt{font\_mem\_size}]\mbox{}\\ + Anzahl der Worte fЭr Speicherung von Zeichensatzinformationen: Entspricht + ungefДhr dem Speicherbedarf der gelesenen \acro{TFM}-Dateien. +\item[\texttt{hash\_extra}]\mbox{}\\ + ZusДtzlicher Platz fЭr Suchlisten: In der Hauptliste kЖnnen + ca. 10000~EintrДge verwaltet werden. Bei einem Buch mit vielen Querverweisen + reicht dieser Platz unter UmstДnden nicht aus. + Die Voreinstellung fЭr \texttt{hash\_extra} ist \texttt{50000}. +\end{description} + +NatЭrlich sind diese Parameter kein Ersatz fЭr eine wirklich dynamische +Speicherverwaltung. Mit der gegenwДrtigen Version von {\TeX} ist dieses +Konzept aber nur extrem schwer zu implementieren; darum stellt dieses +Verfahren eine praktikable LЖsung dar. + +\begin{comment} +%\clearpage +% ============================================================== +\section{Installation von {\TeX} auf einer neuen \acro{UNIX}-Plattform} + +Wenn Sie eine Rechnerplattform einsetzen, fЭr die wir keine BinДrdateien +zur VerfЭgung gestellt haben, mЭssen Sie {\TeX} und die zugehЖrigen +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}. + +ZunДchst sollten Sie jedoch die von {\TeX} benЖtigten Dateien durch +eine Installation ohne BinДrdateien auf die Festplatte kopieren bzw. +durch ">Mounten"< der {\DVD} verfЭgbar machen. + +% ------------------------------------------------------------- +\subsection{Voraussetzungen} + +Zum эbersetzen von {\TeX} und allen weiteren benЖtigten +Programmen benЖtigen Sie ca. 100\,MB FestplattenkapazitДt. +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 verfЭgbar. Eventuell kЖnnen +Sie auch andere C-Compiler oder \cmdname{make}-Programme einsetzen, +doch dann sollten Sie sich wirklich gut mit Ihrem System auskennen, +wenn es Schwierigkeiten wДhrend des эbersetzungsprozesses gibt. +Der Befehl \cmdname{uname} muss einen gЭltigen Namen liefern. + +% ------------------------------------------------------------- +\subsection{Konfiguration} + +\begin{itemize} +\item Beginnen Sie mit einer ganz normalen \TL-Installation auf +Festplatte (siehe Abschnitt~\ref{sec:UNIX-install-disk} auf +Seite~\pageref{sec:UNIX-install-disk}). Das Installieren der +fertigen Binaries kЖnnen 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. NatЭrlich 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 ZeichensДtzen, + Makros, usw.\\ + \dirname{\$TEXDIR/info} & Anleitungen im + \acro{GNU}-\cmdname{info}-Format\\ + \dirname{\$TEXDIR/bin/\$PLATFORM} & ausfЭhrbare Programme\\ +\end{tabular} +%$ + +Wenn Sie wollen, kЖnnen 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, mЭssen Sie dieses \cmdname{configure} mit dem +Kommandozeilenparameter \optname{-{}-datadir} mitteilen. + +Wenn Sie die erkannte Plattform nicht als \dirname{\$PLATFORM} im +Pfad der ausfЭhrbaren 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 kЖnnen Sie sich entspannt zurЭcklehnen 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 fДlschlicherweise 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.) +Auъerdem sollten Sie sich vergewissern, dass alle ausfЭhrbaren +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 kЖnnen die exakte Zahl +mit der Anzahl der lauf"|fДhigen Programme [Binaries] im Verzeichnis \OnCD{bin} vergleichen). +Der Aufruf \samp{make~world} ist Эbrigens Дquivalent zu +\samp{make~all~install~strip}. + +Wenn fЭr den Aufruf von \samp{make~install} besondere +Systemverwalterrechte notwendig sein sollten, kЖnnen Sie die +Anweisung \samp{make~world} auch in zwei DurchgДngen 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 durchfЭhren, die im Abschnitt~\ref{sec:postinstall} +auf Seite~\pageref{sec:postinstall} beschrieben sind. + +Wenn Sie lauf"|fДhige Programme erstellt haben und diese Anderen zur VerfЭgung stellen wollen, sollten Sie uns kontaktieren. Wir wЭrden 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 von Sebastian~Rahtz und Karl~Berry geleitet; +die Эbrigen Haupt-Mitarbeiter sind im Folgenden aufgelistet. + +\begin{itemize} +\item die deutschsprachige \TeX-Anwendervereinigung (\acro{DANTE} e.\,V.), + die den Rechner zur VerfЭgung stellt, auf der die \TL-Quellen + produziert und weiter entwickelt werden; Rainer~SchЖpf und + Reinhard~Zierke, die sich um Rechner und Service kЭmmern; + Volker~RW~Schaa und Klaus~HЖppner vom \acro{DANTE}-Vorstand, die die Produktion + mit Lehmanns-Buchhandlungen (\url{http://www.lob.de/}) koordinieren. +\item die Perforce Company, die uns eine kostenlose Kopie ihrer + exzellenten ">Change-Management"<-Software zur VerfЭgung + stellen, mit deren Hilfe wir den \TL-Inhalt gepflegt haben; +\item Peter Breitenlohner und das \eTeX\-Team fЭr den stabilen Grundstock zu {\TeX}s Zukunft; +\item Thomas~Esser, der mit dem exzellenten {\teTeX} die Basis + fЭr dieses {\TL} schuf und dessen stДndige Hilfe das Resultat + deutlich verbessert hat; +\item Michel~Goossens, als Coautor der englischen Original-Dokumentation; +\item Eitan~Gurari, mit dessen {\TeX4ht} die \HTML-Version dieser + Anleitung erstellt wurde und der unermЭdlich daran gearbeitet + hat, es auf Zuruf zu verbessern; +\item Hans Hagen, der den grЖъten Teil der notwendigen Tests durchfЭhrte und das \ConTeXt-Format an das \TL-System + anpasste; +\item Pawe{\l} Jackowski fЭr das Installationsprogramm \cmdname{tlpm} fЭr + Windows, + Tomasz {\L}uczak fЭr \cmdname{tlpmgui}; +\item \Thanh, Martin~SchrЖder und das \pdfTeX-Team, die die Arbeiten zur Erweiterung der MЖglichkeiten von + {\TeX} fortgesetzt haben; +\item Petr~Olsak, der das tschechische und slowakische Material sehr sorgfДltig er- und Эberarbeitet hat; +\item Fabrice~Popineau fЭr den Windows-Programme von {\TL}; +\item Staszek~Wawrykiewicz, der Haupttester fЭr alles, was mit {\TeX} zusammen hДngt, Koordinator der polnischen + BeitrДge, Windows-Installation und mehr; +\item Olaf~Weber fЭr die Geduld beim Zusammenpuzzeln und Pflegen + von \Webc, von dem alles Andere abhДngt; +\item Gerben~Wierda fЭr das Erstellen und Pflegen des \MacOSX-Teils und fЭr viele Integrations- und Testarbeiten; +\item Graham~Williams, dessen Arbeit das Makro- und Paketverzeichnis mЖglich gemacht hat. +\end{itemize} + +\textbf{Lauf"|fДhige Programme:} + +\begin{itemize*} +\item Tigran~Aivazian (\pkgname{x86\_64-linux}), +\item Manfred~Lotz (\pkgname{i386-freebsd}), +\item Fabrice~Popineau (\pkgname{win32}), +\item Norbert~Preining (\pkgname{alpha-linux}), +\item Vladimir~Volovich (\pkgname{powerpc-aix}, \pkgname{sparc64-linux}) und + \pkgname{sparc-linux}, +\item Staszek~Wawrykiewicz (\pkgname{i386-linux}), +\item Olaf~Weber (\pkgname{mips-irix}), +\item Gerben~Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}) +\end{itemize*} + +\textbf{Dokumentation und Anpassung der эbersetzungen:} + +\begin{itemize*} +\item Karl~Berry (Englisch), +\item Daniel~Flipo \& Fabrice~Popineau (FranzЖsisch), +\item Klaus HЖppner \& Hartmut~Henkel (Deutsch) mit UnterstЭtzung von + GЭnter Partosch, Holger Horn, Wolfgang Engelmann und Heiko Oberdiek, +\item Petr~Sojka \& Jan~Busa (Tschechisch/""Slowakisch), +\item Boris~Veytsman (Russisch), +\item Staszek~Wawrykiewicz (Polnisch). +\end{itemize*} + +NatЭrlich haben wir am meisten Donald~Knuth zu danken, einmal dafЭr, dass er {\TeX} erfand und dann dafЭr, dass er es +der Welt schenkte. + +% ------------------------------------------------------------- +\section{Geschichtliches}\label{sec:history} + +Diese Ausgabe der {\TL} ist in Zusammenarbeit der {\TUG} (\acro{TUG}), der +\UKTUG, der franzЖsischen \TeX-Vereinigung GUTenberg +und der deutschsprachigen \TeX-Anwendervereinigung (DANTE e.\,V.) +unter Mithilfe der niederlДndischen, tschechischen/""slowakischen, +indischen, polnischen und russischen \TeX-Benutzergruppen +entstanden. + +\subsection{Vergangenheit} + +Die niederlДndische \TeX-Benutzergruppe hatte Ende 1993 mit der +Produktion der 4All\TeX-{\CDROM} fЭr \acro{MS-DOS} die Diskussion angeregt, +eine einzige {\CDROM} fЭr 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-{\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 verЖffentlicht. Schon frЭhzeitig war den Beteiligten +klar, dass eine {\CDROM} auf der Basis der {\TDS} sehr zu begrЭъen wДre. +Die \TL-{\CDROM} war das direkte Resultat der Beratungen der +\TDS-Arbeitsgruppe. Auъerdem hat der Erfolg der 4All\TeX-{\CDROM} +klargemacht, dass ein Дhnliches System auch fЭr \acro{UNIX}-Benutzer eine +Erleichterung darstellen wЭrde. Dies war der zweite Beweggrund fЭr +die \TL-\CDROM. + +Im Herbst 1995 wurde das Projekt, eine \TDS-basierte \acro{UNIX}-{\CDROM} +zu entwickeln, in Angriff genommen. Sehr schnell stieъen die +Verantwortlichen auf das \teTeX-System von Thomas~Esser als +idealen Ausgangspunkt fЭr diese Arbeit, weil es verschiedene +Rechnerplattformen unterstЭtzte und fЭr 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 {\CDROM} verЖffentlicht. + +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 {\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} unterstЭtzte 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 {\CDROM} wurde einer kritischen эberprЭfung +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. + +FЭr die fЭnfte Ausgabe im MДrz~2000 wurden wiederum groъe Teile der +{\CDROM} ersetzt, wobei Hunderte von Эberarbeiteten Paketen aufgenommen +wurden. {\OMEGA}, {\pdfTeX} und Teile der \TeX-Support-Programme (hier +insbesondere \cmdname{xdvi}, \cmdname{dvips} und \cmdname{tex4ht}) +lagen in neuer Version vor. +Die HauptДnderung bei der \TL\,5 betraf die \samp{non-free}-Software. +Alles auf dieser {\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 ЭberprЭfen, 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 grЖъte дnderung dar: +Der Benutzer konnte nun viel genauer +gewЭnschte bzw. nicht erwЭnschte Sammlungen +und Pakete auswДhlen. Dabei wurden die sprachspezifischen Sammlungen +komplett Эberarbeitet, so dass sie jetzt automatisch nicht nur +Makros, Fonts usw. installierten, sondern zusДtzlich die notwendigen +EintrДge in \file{language.dat} vornahmen. + +Die siebte Ausgabe vom Mai~2002 enthДlt als grЖъte +дnderungen {\MacOSX} und wieder unzДhlige 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 +\CDROM"<. Und so wurde sie in drei verschiedene Distributionen aufgeteilt +(siehe Abschnitt~\ref{sec:multiple-dist} auf Seite~\pageref{sec:multiple-dist}). +Des Weiteren: + +\begin{itemize} +\item Auf Wunsch des \LaTeX-Teams wurde der Standard fЭr \cmdname{latex} + und \cmdname{pdflatex} verДndert; 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 fЭr 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 fЭr Windows wurde grundlegend Эberarbeitet. + Zum ersten Mal wurde eine integrierte Umgebung eingefЭhrt, + die auf \cmdname{XEmacs} basiert. +\item Wichtige Hilfsprogramme fЭr 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) unverДndert + 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 abhДngig von der \cmdname{locale}-Einstellung des + Systems; nun beeinflussen \cmdname{locale}-Einstellung nicht + {\TeX}s Programmverhalten. Falls Sie aus irgendwelchen + GrЭnden die \verb|^^|-Ausgabe benЖtigen, mЭssen Sie in Ihrem System + die Datei \file{texmf/web2c/cp8bit.tcx} umbenennen + (zukЭnftige 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 trДgt die {\TL} statt einer fortlaufenden Nummer + die Jahreszahl: \TL~2003. +\end{itemize} + +\subsection{2004} + +\begin{itemize} +\item Wenn Sie lokal installierte ZeichensДtze mit ihren eigenen \filename{.map}- oder (weniger wahrscheinlich) + \filename{.enc}-Dateien benutzen, mЭssen Sie mЖglicherweise 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 darЭber, wie das gehandhabt wird, und zusДtzliche Informationen finden Sie unter + \url{http://tug.org/texlive/mapenc.html}. + +\item Die \TK\ wurde fЭr all diejenigen, die diese Implementierung {\Webc} vorziehen, um eine \MIKTEX-basierte und + installierbare {\CDROM} erweitert. Siehe dazu auch Abschnitt~\ref{sec:struct-tl} auf + Seite~\pageref{sec:struct-tl}. + +\item In der {\TL} wurde der umfangreiche \dirname{texmf}-Baum frЭherer Versionen durch drei TeilbДume 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*}-BДume 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*}-BДume aufbewahrt. Nach ihnen wird per + \samp{kpsewhich -format=texmfscripts} gesucht. Wenn Sie Programme einsetzen, die solche Skripte aufrufen, mЭssen + 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, zusДtzlich \acro{TAB}, \acro{VT} (vertical tab; vertikaler Tab) und + \acro{FF} (form feed; Seitenvorschub), als druckbar angesehen und daher nicht Эbersetzt. Ausnahmen sind + \plainTeX, 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 AnpassungsmЖglichkeiten 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, kЖnnen 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"< fЭr alle Formate mit Ausnahme von + \mbox{(plain-)\cmdname{tex}} selbst (natЭrlich generiert es \dvi-Code, wenn es als \cmdname{latex}, usw. + aufgerufen wird.). Das bedeutet unter vielen anderen Dingen, dass die mikrotypographischen FДhigkeiten von + \cmdname{pdftex} + wie auch die Erweiterungen von {\eTeX} in \LaTeX, \ConTeXt usw. zur VerfЭgung 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 + {\plainTeX} als auch mit \LaTeX), da der einfache Test, ob \cs{pdfoutput} oder ein anderer \TeX-Grundbefehl + (primitive) definiert ist, nicht verlДsslich genug ist fЭr die Entscheidung, ob eine \pdf-Ausgabe erzeugt wird. + Wir haben das rЭckwДrts-kompatibel gemacht, so gut wir das dieses Jahr konnten; nДchstes Jahr aber soll + \cs{pdfoutput} so beschaffen sein, dass dieser Befehl auch dann definiert ist, wenn {\dvi}-Code erzeugt wird. + +\item \pdfTeX\ (\url{http://pdftex.org/}) hat viele neue Besonderheiten: + \begin{itemize} + \item Die Befehle \cs{pdfmapfile} und \cs{pdfmapline} ermЖglichen 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 frЭher in der speziellen Konfigurationsdatei \filename{pdftex.cfg} definiert wurden, + mЭssen jetzt mit Hilfe von \pdfTeX-Grundbefehlen gesetzt werden, typischerweise in + \filename{pdftexconfig.tex}; die Konfigurationsdatei \filename{pdftex.cfg} wird nicht lДnger unterstЭtzt. + Jede schon bestehende Format-Datei (\filename{.fmt}) muss neu erstellt werden, wenn + \filename{pdftexconfig.tex} geДndert wird. + \item FЭr zusДtzliche Informationen siehe das \pdfTeX-Handbuch: \OnCD{texmf/doc/pdftex/manual}. + \end{itemize} + +\item Der Grundbefehl \cs{input} in \cmdname{tex} (\cmdname{mf} und \cmdname{mpost}) akzeptiert jetzt doppelte + AnfЭhrungszeichen und andere Spezialzeichen. Typische Beispiele: + +\begin{verbatim} +\input "filename with spaces" % plain +\input{"filename with spaces"} % latex +\end{verbatim} + + FЭr zusДtzliche Informationen siehe das \Webc-Handbuch: \OnCD{texmf/doc/web2c}. + +\item enc\TeX\ wird jetzt in {\Webc} und damit auch in allen \TeX-Programmen unterstЭtzt. Dazu wird \emph{beim + Generieren neuer Formate} die Option \optname{-enc} benutzt. enc\TeX\ unterstЭtzt allgemein die Umkodierung der + Ein- und Ausgabe und ermЖglicht eine volle Unicode-UnterstЭtzung (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 verfЭgbar. Ein bisschen + Information darЭber 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 heiъt + \cmdname{lamed}. + +\item Das neueste \LaTeX-Release enthДlt 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 ">mittelgroъen"< Satz + von Fonts reduziert. Herausgenommen wurden die ">invisible"<, Outline- und ">Transparency"<-Fonts, + die relativ selten benutzt werden -- denn wir benЖtigen den Platz. In seinem vollen Umfang ist das Paket natЭrlich + weiterhin auf \acro{CTAN} verfЭgbar (\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) fЭr \cmdname{tex}, \cmdname{mf} and \cmdname{mpost} sind + nicht mehr lДnger verfЭgbar, so auch \cmdname{initex}. Das ist kein richtiger Verlust, da die + \cmdname{ini}-FunktionalitДt schon seit mehreren Jahren Эber den Aufrufparameter \optname{-ini} zur VerfЭgung + steht. + +\item Die UnterstЭtzung der Plattform \cmdname{i386-openbsd} wurde entfernt. Da das Paket \pkgname{tetex} im + \acro{BSD}-Ports-System zur VerfЭgung steht und Binaries fЭr \acro{GNU}/""Linux and Free\acro{BSD} erhДltlich sind, + erschien es sinnvoll, die Zeit der Freiwilligen besser zu nutzen. + +\item Zumindest auf \cmdname{sparc-solaris} mЭssen Sie ggf. die En"-viron"-ment-Variable \envname{LD\_LIBRARY\_PATH} + setzen, um die \pkgname{t1utils}-Programme laufen lassen zu kЖnnen. Ursache dafЭr ist, dass die Programme mit C++ + kompiliert wurden und dass es keinen Standard-Platz fЭr 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 benЖtigt. +\end{itemize} + +\subsection{Gegenwart}\label{tlcurrent} + +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} fЭr die systemweite Konfiguration des Systems wurden + hinzugefЭgt. Die Skripte \cmdname{texconfig}, \cmdname{updmap} und + \cmdname{fmtutil} modifizieren nun die Konfiguration fЭr einen einzelnen + Nutzer unter \dirname{\$HOME/.texlive2005}. + Siehe Abschnitt~\ref{sec:texconfig} auf Seite~\pageref{sec:texconfig}. +\item Analog spezifizieren die Pfade \envname{TEXMFCONFIG} und + \envname{TEXMFSYSCONFIG} nun, wo die Konfigurationsdateien gefunden + werden (fЭr einen einzelnen Nutzer bzw. systemweit). MЖglicherweise + mЭssen Sie daher vorhandene eigene Versionen von + \filename{fmtutil.cnf} oder \filename{updmap.cfg} in die entsprechenden + Pfade verschieben. Alternativ kЖnnen 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 fЭr 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 angekЭndigt nicht mehr getan. Falls in Dokumenten nun die Abfrage + \verb|\ifx\pdfoutput\undefined| zum Test benutzt wird, ob PDF oder DVI + erzeugt wird, mЭssen diese geДndert werden! Benutzen Sie das Paket + \pkgname{ifpdf.sty}, das auch mit dem geДnderten Verhalten funktioniert, + oder orientieren Sie sich an dessen Code. +\item Im letzten Jahr wurden die Formate so geДndert, dass sie Zeichen + als 8-bit ausgeben. Die neue TCX-Datei \filename{empty.tcx} erЖffnet nun + einen einfachen Weg, die originale Ausgabe mit \verb|^^|-Notation zu + erhalten, wenn Sie es wЭnschen: +\begin{verbatim} +latex --translate-file=empty.tcx yourfile.tex +\end{verbatim} +\item Das Programm \cmdname{dvipdfmx} fЭr die Konvertierung von DVI nach + PDF ist neu hinzugekommen. Dies ist eine aktiv gepflegte Erweiterung von + \cmdname{dvipdfm}, das zwar noch verfЭgbar 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 mЭssen (andere PDF-Viewer wie \cmdname{xpdf}, + \cmdname{gv} oder \cmdname{gsview} hatten damit nie Probleme). +\item Aus KonsistenzgrЭnden wurden die Variablen \envname{HOMETEXMF} und + \envname{VARTEXMF} in \envname{TEXMFHOME} bzw. \envname{TEXMFSYSVAR} + umbenannt. Weiterhin existiert \envname{TEXMFVAR} fЭr einen Baum, der + spezifisch fЭr einen einzelnen Nutzer ist. +\end{itemize} + +% ------------------------------------------------------------- +\subsection{Zukunft} + +\emph{{\TL} ist nicht perfekt! -- und wird es auch nie sein.} Wir planen im Abstand von +jeweils einem Jahr Neuauf"|lagen zu produzieren, die umfangreichere +Hilfstexte, mehr Hilfsprogramme, mehr Installationshilfen und (natЭrlich) +den stДndig verbesserten und ЭberprЭften Satz der Makros und ZeichensДtze +enthalten. Diese Arbeit wird von Freiwilligen in ihrer knappen Freizeit +geleistet. Viel Arbeit steht noch an. Wenn Sie uns helfen kЖnnen, +zЖgern Sie keine Sekunde, sich bei uns zu melden. + +Verbesserungen, Anregungen und Erweiterungen fЭr kЭnftige Ausgaben +der {\TK} senden Sie bitte an:\hfill\null + +\begin{quote} +Sebastian Rahtz\\ +{}7 Stratfield Road\\ +Oxford OX2 7BG\\ +United Kingdom\\ +E"~Mail: \email{tex-live@tug.org}\\ +\url{http://tug.org/texlive/} +\end{quote} + +Neue Versionen, Anmerkungen und zusДtzliches Material werden Эber +die \CTAN-Server im Verzeichnis \dirname{info/texlive} zur VerfЭgung gestellt. +Im \acro{WWW} kЖnnen Sie sich Эber die Adresse +\url{http://www.tug.org/tex-live/} informieren und die BestellformalitДten +einsehen. + +\end{document} diff --git a/Master/texmf-doc/source/german/texlive-ge/live4ht.cfg b/Master/texmf-doc/source/german/texlive-ge/live4ht.cfg new file mode 100644 index 00000000000..4d2aa6b940a --- /dev/null +++ b/Master/texmf-doc/source/german/texlive-ge/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/source/german/texlive-ge/tex-live.sty b/Master/texmf-doc/source/german/texlive-ge/tex-live.sty new file mode 100644 index 00000000000..21d9481460d --- /dev/null +++ b/Master/texmf-doc/source/german/texlive-ge/tex-live.sty @@ -0,0 +1,429 @@ +% $Id: //depot/Master/texmf-doc/source/english/texlive-en/tex-live.sty#12 $ $Author: karl $ $Date: 2005/09/24 $ +% 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}, + 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/source/polish/texlive-pl/Makefile b/Master/texmf-doc/source/polish/texlive-pl/Makefile new file mode 100644 index 00000000000..468914c3638 --- /dev/null +++ b/Master/texmf-doc/source/polish/texlive-pl/Makefile @@ -0,0 +1,68 @@ +# $Id: //depot/Master/texmf-doc/source/english/texlive-en/Makefile#10 $ $Date: 2004/11/16 $ $Author: karl $ +# Makefile for TeX Live documentation. Public domain. +doc = live + +all: pdf html + +env = TEXINPUTS=../../general/texlive-common:; 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)' + +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 live.dvi live.ps + +realclean: clean + rm -f live.pdf + rm -f *.html *.htm *.css *.gif *.jpg + + +insttop = ../../../doc +instfiles = live*html live.css *.png live.pdf +install: + lang=`dirname \`pwd\` | sed 's,.*/,,'`; \ + tldir=`pwd | sed 's,.*/,,'`; \ + instdir=$(insttop)/$$lang/$$tldir; \ + echo tldoc install to $$instdir; \ + for f in $(instfiles); do \ + cmp -s $$f $$instdir/$$f && continue; \ + p4 edit $$instdir/$$f; \ + cp $$f $$instdir/$$f; \ + done + @echo "Don't forget to p4 submit." + + +# 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/source/polish/texlive-pl/live.tex b/Master/texmf-doc/source/polish/texlive-pl/live.tex new file mode 100644 index 00000000000..518fd463fae --- /dev/null +++ b/Master/texmf-doc/source/polish/texlive-pl/live.tex @@ -0,0 +1,3451 @@ +% iso8859-2 +% $Id: live.tex,v 24 2005/11/01 +% 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. +% ---- +\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}\\\strut} + {\LARGE \textsf\TK{} 2005} +} + +\author{Redakcja: Sebastian Rahtz \& Karl Berry \\[3mm] + \url{http://tug.org/texlive/} +} + +\date{Listopad 2005} + +\maketitle +%\thispagestyle{empty} % no need for page number +%\newpage +%\clearpage % however (SW) + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} +%-------------------------- +\section{WstЙp}\label{sec:intro} +Niniejsza dokumentacja opisuje oprogramowanie \TL{} -- +dystrybucjЙ \TeX-a/\LaTeX-a dla systemСw \acro{GNU}/Linux, rС©nych +wersji Unix +(w~tym \MacOSX{}) oraz Windows. (Uwaga: dystrybucja jest maЁo przydatna dla +starszych systemСw Mac i~\acro{MS-DOS}.) \TL{} zawiera skompilowane +programy \TeX{}, \LaTeXe{}, \mbox{\MF}, \MP, +\BibTeX{} i~wiele innych oraz bogaty zestaw pakietСw makr o~wielorakim +zastosowaniu, a tak©e fonty i~dokumentacje, umo©liwiaj╠ce skЁad publikacji +w~wielu jЙzykach. \TL{} wchodzi w~skЁad \TK{} +(kolekcji opisanej w~skrСcie poni©ej), utworzonej wspСlnym wysiЁkiem grup +u©ytkownikСw systemu \TeX. + +Nowsze wersje pakietСw mo©na znale╪Ф na serwerach \acro{CTAN}, np. +\url{http://www.ctan.org}. + +Lista najwa©niejszych zmian, jakie dokonano w~tej edycji \TL{} +znajduje siЙ w~czЙ╤ci~\ref{sec:tlcurrent}, na str.~\pageref{sec:tlcurrent}. + +Nie opisujemy tu, czym jest system \TeX{}, a~jedynie kwestie instalacji +i~konfiguracji oprogramowania \TL. +Pocz╠tkuj╠cy u©ytkownicy mog╠ zapoznaФ siЙ z~podstawowymi pojЙciami +np. w~artykule {\it Przewodnik po systemie \TeX\/}: +\OnCD{texmf-doc/doc/polish/tex-virtual-academy-pl/cototex.html}. + +\subsection{Podstawy u©ycia \protect\TL{}} +\label{sec:basic} + +Z~\TL{} mo©na korzystaФ na co najmniej trzy sposoby: + +\begin{enumerate} +\item uruchamiaФ wszystkie programy bezpo╤rednio z~pЁytki \DVD{} +(patrz rozdziaЁ~\ref{sec:multiple-dist} na str.~\pageref{sec:multiple-dist}); +na dysku twardym znajd╠ siЙ jedynie niezbЙdne pliki konfiguracyjne +i~chocia© wydajno╤Ф bЙdzie mniejsza ni© w~wypadku instalacji na twardym dysku, +instalacja taka bЙdzie w peЁni funkcjonalna. + +\item zainstalowaФ czЙ╤Ф lub caЁy system na lokalnym twardym dysku; + jest to najczЙstsze wykorzystanie \TL; wymagane jest + co najmniej 100 megabajtСw, ok. 310 megabajtСw dla instalacji + zalecanej i~ok. 730 megabajtСw dla instalacji kompletnej. + +\item doinstalowaФ wybrane pakiety do istniej╠cego systemu \TeX{} + lub systemu \TL{} zainstalowanego wcze╤niej. +\end{enumerate} + +\noindent SzczegСЁy procedur instalacyjnych podane zostan╠ dalej +w~rozdziaЁach po╤wiЙconych konkretnym systemom operacyjnym, niemniej jednak +podamy tu skrСcony przepis: + +\begin{itemize*} + +\item gЁСwnym skryptem instalacyjnym dla systemСw Unix i~\MacOSX{} jest +\texttt{install-tl.sh}; + +\item pojedyncze pakiety instalujemy za pomoc╠ skryptu +\texttt{install-pkg.sh}; + +\item programem instalacyjnym dla Windows jest \texttt{tlpmgui.exe}. +Program ten mo©e byФ u©yty wielokrotnie do dodawania b╠d╪ usuwania pakietСw, +a~tak©e do zarz╠dzania instalacj╠ (patrz czЙ╤Ф~\ref{sec:win-install} i~\ref{sec:win-managing}). + +\end{itemize*} + +\subsection{DostЙpna pomoc} +\label{sec:help} + +SpoЁeczno╤Ф \TeX-owa jest bardzo aktywna i~pomocna, st╠d te© wiЙkszo╤Ф +powa©nych zapytaЯ nie zostanie pozostawiona bez odpowiedzi. Przed zadaniem +pytania warto je uprzednio dobrze przemy╤leФ i~sformuЁowaФ, poniewa© +respondenci to wolontariusze, w╤rСd ktСrych znale╪Ф siЙ mog╠ mniej lub +bardziej do╤wiadczeni u©ytkownicy. +(Je╤li preferujemy komercyjne wsparcie techniczne, mo©emy zamiast +\TL{} zakupiФ system u~jednego z~dostawcСw, ktСrych listЙ znale╪Ф +mo©na na \url{http://tug.org/interest.html#vendors}.) + +Oto lista ╪rСdeЁ pomocy, w~kolejno╤ci przez nas rekomendowanej: + +\begin{description} +\item [\TeX{} \acro{FAQ}] \TeX-owy \acro{FAQ} jest obszernym zbiorem +odpowiedzi na wszelkie rodzaje pytaЯ, od najprostszych do najbardziej +zaawansowanych. Jest on zaЁ╠czony na \TL{} w~katalogu \OnCD{texmf-doc/doc/english/FAQ-en}, +a~tak©e dostЙpny w~sieci: \url{http://faq.tug.org}. Proponujemy +tam najpierw zajrzeФ. Uruchomiono te© serwis \acro{FAQ} +w~jЙzyku polskim: \url{http://faq.gust.org.pl}. + +\item [\TeX{} Catalogue] Je╤li poszukujemy konkretnego pakietu, fontu, +programu itp., polecamy \TeX{} Catalogue. Jest to obszerne zestawienie +wszelkich tematСw dotycz╠cych \TeX-a. Patrz: +\OnCD{texmf-doc/doc/english/catalogue} +lub \url{http://www.ctan.org/tex-archive/help/Catalogue}. + +\item [\TeX{} Web Resources] Strona \url{http://tug.org/interest.html} +zawiera wiele odsyЁaczy, w~szczegСlno╤ci do ksi╠©ek, podrЙcznikСw +i~artykuЁСw po╤wiЙconych wszelkim aspektom pracy z~systemem \TeX. + +\item [archiwa pomocy] Dwa gЁСwne forum pomocy to grupa +Usenet \url{news:comp.text.tex} oraz lista dyskusyjna +\email{texhax@tug.org}. Warto przeszukaФ archiwa list dyskusyjnych +zawieraj╠ce mnСstwo pytaЯ i odpowiedzi zbieranych przez wiele lat; +odpowiednio \url{http://groups.google.com/groups?group=comp.text.tex} oraz +\url{http://tug.org/mail-archives/texhax}. Nie zaszkodzi +skorzystanie z~wyszukiwarki, np. \url{http://www.google.com}. + +\item [wysyЁanie pytaЯ] Je╤li nadal nie znajdujemy rozwi╠zania problemu, +mo©emy wysЁaФ pytanie do \dirname{comp.text.tex} korzystaj╠c z~Google, +czytnika wiadomo╤ci b╠d╪ pisz╠c list na adres \email{texhax@tug.org}. +Przedtem jednak \emph{nale©y} zapoznaФ siЙ z~poradami dotycz╠cymi sposobu +zadawania pytaЯ, zawartymi w~\acro{FAQ}: +\url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=askquestion}. +Polscy u©ytkownicy maj╠ do dyspozycji listЙ dyskusyjn╠ GUST (Grupy +U©ytkownikСw Systemu \TeX); informacje o niej +znajdziemy na stronie \url{http://www.gust.org.pl}. + +\item [wsparcie \TL{}] Gdy chcemy zgЁosiФ bЁ╠d b╠d╪ sugestie +i~komentarze dotycz╠ce dystrybucji \TL{}, instalacji lub dokumentacji, +mamy do dyspozycji listЙ dyskusyjn╠ \email{tex-live@tug.org}. Gdy kwestia +dotyczy konkretnego programu (pakietu makr itp.) zawartego na \TL{}, +lepiej jednak skierowaФ pytanie do osoby opiekuj╠cej siЙ danym programem +lub na specjalistyczn╠ listЙ dyskusyjn╠. + +\end{description} + +Druga strona medalu to pomaganie tym, ktСrzy maj╠ problemy. ZarСwno +\dirname{comp.text.tex}, jak i~\code{texhax} (oraz lista dyskusyjna GUST) +s╠ otwarte dla ka©dego, +a~wiЙc zapraszamy do wЁ╠czenia siЙ, czytania wiadomo╤ci i~pomagania +innym w~miarЙ wЁasnych mo©liwo╤ci. Witamy w╤rСd u©ytkownikСw +systemu \TeX! + +%-------------------------- +\section{Struktura \protect\TeX\protect\ Live}\label{sec:struct-tl} + +OmСwimy tutaj strukturЙ i~zawarto╤Ф dystrybucji \TL{}, a~tak©e \TK{} -- +pЁytki \DVD, w~skЁad ktСrej wchodzi \TL. + +\subsection{Rozmaito╤Ф dystrybucji: \protect\pkgname{live}, + \protect\pkgname{inst}, \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Ograniczona pojemno╤Ф formatu \acro{CD-ROM} zmusiЁa nas +do podzielenia \TK{} na nastЙpuj╠ce dystrybucje: + +\begin{description} + +\item [live] kompletny system na \acro{DVD}, z mo©liwo╤ci╠ uruchamiania +bezpo╤rednio z~pЁyty (zbyt obszerny aby siЙ zmie╤ciЁ na \acro{CD-ROM}); +pЁytka zawiera ponadto zrzut zawarto╤ci archiwСw \CTAN{}, niezale©ne +od \TL{} dystrybucje \pkgname{protext} (dla Windows), Mac\TeX\ (dla \MacOSX) +oraz wybСr dodatkowych pakietСw w~katalogu \texttt{texmf-extra}. +PЁytka \DVD{} otrzymaЁa nazwЙ \TK. + +\CTAN, \pkgname{protext}, Mac\TeX{} i~\texttt{texmf-extra} nie speЁniaj╠ +przyjЙtych dla \TL{} wymogСw dotycz╠cych swobody kopiowania, wobec +tego nale©y ten fakt uwzglЙdniФ przy redystrybucji b╠d╪ modyfikacji zawarto╤ci +wymienionych katalogСw. + +\item [inst(alowany)] kompletny system na \CD, gdzie wszystkie pakiety +zostaЁy skompresowane; pЁytka ta nie nadaje siЙ do bezpo╤redniego +uruchamiania programСw, a~jedynie instalacji na twardym dysku. + +\item [protext] dystrybucja dla Windows, oparta na dystrybucji \MIKTEX +rozszerzonej o~dodatkowe narzЙdzia; caЁkowicie niezale©na od \TL; +\ProTeXt\ posiada wЁasny, Ёatwy w~obsЁudze program instalacyjny i~rСwnie© +mo©e byФ uruchamiany bezpo╤rednio z~pЁytki. Strona domowa projektu +to \url{http://tug.org/protext}. \ProTeXt\ dostarczono na \pkgname{live} +\DVD oraz na odrЙbnym no╤niku~\CD. + +%\item [demo] dystrybucja na \CD-ie, pozwalaj╠ca zarСwno na uruchamianie +%bezpo╤rednio z~no╤nika, jak i~zainstalowanie na dysku; wersja ta jest nieco +%ubo©sza od wersji peЁnej: brak tu bardzo obszernego zestawu \acro{CJK} +%(wsparcie dla jЙzykСw: chiЯskiego, japoЯskiego i~koreaЯskiego) oraz rСwnie +%obszernych pakietСw rzadziej u©ywanych fontСw (cm-super i~cbtype1), +%znajdziemy tu jedynie programy dla systemСw Linux, MacOSX i~Windows. + +\end{description} + +PoszczegСlne dystrybucje s╠ rozpoznawalne po nazwie pliku +\texttt{00\var{typ}.TL}, znajduj╠cego siЙ w~gЁСwnym katalogu ka©dej z~pЁytek. + +Ka©da z~grup u©ytkownikСw systemu \TeX{} mo©e rozpowszechniaФ dowoln╠ +pЁytkЙ wedle wЁasnych potrzeb i~uznania (\acro{TUG} dostarcza swoim +czЁonkom wszystkie trzy pЁytki). + +\subsection{GЁСwne katalogi} +\label{sec:tld} + +Poni©ej wymieniono wa©niejsze podkatalogi gЁСwnego katalogu dystrybucji \TL. +Na pЁytce \pkgname{live} \DVD caЁa dystrybucja \TL{} zostaЁa +umieszczona w katalogu \dirname{texlive}, nie za╤ w~katalogu gЁСwnym +(poni©ej traktujemy go jako katalog gЁСwny we wszystkich odniesieniach +dotycz╠cych \TL). + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} +bin & wykonywalne programy \TeX-owe, zorganizowane w~podkatalogach wedЁug + platform systemowych; \\ + %MacOSX & programy pomocnicze dla u©ytkownikСw MacOSX (patrz + % czЙ╤Ф~\ref{sec:mac-install} na str.~\pageref{sec:mac-install}); \\ +source & ╪rСdЁa wszystkich programСw, wЁ╠cznie z~gЁСwnymi dystrybucjami + \Webc{} \TeX-a i~\MF{}-a; s╠ one umieszczone w~skompresowanym programem + bzip2 archiwum tar; \\ +support & rС©ne programy zwi╠zane z~\TeX-em, ktСre \emph{nie} + s╠ domy╤lnie instalowane, takie jak Musix\TeX{} i~inne programy pomocnicze; + dla u©ytkownikСw systemСw Windows doЁ╠czono ponadto szereg programСw + (edytory, ,,shelle TeX-owe''), ktСrych zwykle brak w~typowej instalacji + Windows (programy te mog╠ byФ szczegСlnie przydatne dla pocz╠tkuj╠cych); \\ +texmf & drzewo katalogСw plikСw pomocniczych i~dokumentacji dla + \emph{programСw} + (patrz: \texttt{TEXMFMAIN} w~nastЙpnej czЙ╤ci);\\ +texmf-dist & gЁСwne drzewo katalogСw formatСw i~pakietСw (zawiera makra, + fonty i~dokumentacje; patrz: + \texttt{TEXMDIST} w~nastЙpnej czЙ╤ci);\\ +texmf-doc & drzewo samodzielnych dokumentacji (m.in. podrЙczniki itp.), + niezwi╠zane z~konkretnymi pakietami, zorganizowane wg. jЙzykСw. \\ +texmf-var & drzewo dla plikСw generowanych automatycznie + (patrz: \texttt{TEXMFSYSVAR} w~nastЙpnej czЙ╤ci);\\ +xemtex & programy pomocnicze + dla Windows; w~systemach Unix programy te s╠ zazwyczaj dostЙpne b╠d╪ Ёatwe + do samodzielnego skompilowania. \\ +\end{tabular} +\endgroup + +\smallskip +PrСcz podkatalogСw wymienionych powy©ej, katalog gЁСwny zawiera skrypty +instalacyjne oraz pliki \filename{README}, w~formacie tekstowym lub HTML, +w~kilku jЙzykach (rСwnie© polskim). + +Katalog \dirname{texmf-doc} zawiera, jak wspomniano wy©ej, dokumentacje +ogСlne, np. podrЙczniki (tak©e w~wersjach jЙzykowych, jak np. niniejsza +dokumentacja). Dokumentacje programСw (man, info) znajduj╠ siЙ w~katalogu +\dirname{texmf/doc}, za╤ dokumentacje pakietСw makr, fontСw i~formatСw w~katalogu \dirname{texmf-dist/doc}. Znalezienie konkretnej +dokumentacji w~dowolnym z~wymienionych katalogСw uЁatwi skorzystanie +z~programСw \cmdname{texdoc} lub \cmdname{texdoctk}. Pomocnym mo©e byФ +tak©e plik \OnCD{doc.html}, ktСry znajdziemy w~gЁСwnym katalogu. + +\subsection{Predefiniowane drzewa katalogСw texmf} +\label{sec:texmftrees} + +W tej czЙ╤ci wymieniono wszystkie predefiniowane zmienne specyfikuj╠ce +drzewa katalogСw texmf, wykorzystywane przez +system, a~tak©e ich przeznaczenie. Uruchomienie polecenia \texttt{texconfig +conf} poka©e warto╤ci tych zmiennych, dziЙki czemu Ёatwo odnale╪Ф +ktСre katalogi w~naszej instalacji s╠ przypisane do konkretnych zmiennych. + +\begin{ttdescription} +\item [TEXMFMAIN] Drzewo katalogСw zawieraj╠ce podstawowe dla + dystrybucji elementy systemu, jak skrypty (np. \verb+web2c/mktexdir+), + pliki pool i~inne pliki pomocnicze. +\item [TEXMFDIST] Drzewo katalogСw gromadz╠ce pakiety makr, fontСw itp., + tak jak s╠ one oryginalnie dystrybuowane; drzewo to mo©e + byФ wspСЁdzielone z~dowoln╠ dystybucj╠. +\item [TEXMFLOCAL] Drzewo katalogСw, ktСre administratorzy mog╠ wykorzystaФ + do przechowywania lokalnych makr, fontСw itp., dostЙpnych dla wszystkich + u©ytkownikСw serwera. +\item [TEXMFHOME] Drzewo katalogСw dla prywatnych makr, fontСw itp. + u©ytkownika. RozwiniЙcie tej zmiennej zale©y domy╤lnie od warto╤ci przypisanej + zmiennej systemowej \verb+$HOME+. +\item [TEXMFCONFIG] Drzewo katalogСw wykorzystywane przez narzЙdzia te\TeX-a + \verb+texconfig+, \verb+updmap+ oraz \verb+fmtutil+ do przechowywania + danych konfiguracyjnych (domy╤lnie w~ramach \verb+$HOME+). +\item [TEXMFSYSCONFIG] Drzewo katalogСw wykorzystywane przez narzЙdzia + te\TeX-a \verb+texconfig-sys+, \verb+updmap-sys+ oraz \verb+fmtutil-sys+ + do przechowywania danych konfiguracyjnych dla caЁej instalacji. +\item [TEXMFVAR] Drzewo katalogСw wykorzystywane przez \verb+texconfig+, + \verb+updmap+ i \verb+fmtutil+ do przechowywania wygenerowanych plikСw + formatСw i map fontowych (domy╤lnie w~ramach \verb+$HOME+). +\item [TEXMFSYSVAR] Drzewo katalogСw wykorzystywane przez + \verb+texconfig-sys+, \verb+updmap-sys+ and \verb+fmtutil-sys+ + do przechowywania wygenerowanych plikСw formatСw i~map fontowych + dla caЁej instalacji. +\end{ttdescription} + +WiЙcej informacji na temat \texttt{texconfig} znajdziemy +w~czЙ╤ci~\ref{sec:texconfig}, na str.~\pageref{sec:texconfig}. + +\subsection{Rozszerzenia \protect\TeX-a} +\label{sec:tex-extensions} + +\TL{} zawiera trzy rozszerzenia standardowego \TeX-a: + +\begin{description} +\item [\eTeX] wersja \label{text:etex} programu \TeX{}, ktСra zawiera +dodatkowo niewielki, lecz silny zestaw nowych poleceЯ wbudowanych +(dotycz╠cych gЁСwnie rozwijania makr, leksemСw znakowych, interpretacji +znacznikСw itp.) oraz rozszerzenie \TeXXeT{} dla skЁadu +od prawej do lewej. W~trybie domy╤lnym \eTeX{} jest w~100\% zgodny ze +standardowym programem \TeX. WiЙcej szczegСЁСw znale╪Ф mo©na na \CD, +w~\OnCD{texmf-dist/doc/etex/base/etex_man.pdf}. + +\item [pdf\TeX] program, ktСry wynik skЁadu mo©e zapisywaФ zarСwno +w~formacie Acrobat PDF, jak i~\dvi{}. PodrЙczniki znajdziemy +w~katalogu \OnCD{texmf/doc/pdftex/manual/}, za╤ przykЁad +wykorzystania w~pliku \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. + %\LaTeX-owy pakiet \pkgname{hyperref} posiada opcjЙ ,,\optname{pdftex}'', + %ktСra uaktywnia dostЙp do wszystkich cech programu. + +\item [pdfe\TeX] Ё╠czy rozszerzenia pdf\TeX\ i~\eTeX\ i~obecnie jest +u©ywany jako domy╤lny program dla wiЙkszo╤ci formatСw (prСcz plain \TeX). + +\item [\OMEGA{} (Omega)] program, ktСry pracuje wewnЙtrznie ze znakami +kodowanymi 16-bitowo (Unicode), pozwalaj╠c pracowaФ jednocze╤nie +z~wiЙkszo╤ci╠ tekstСw spotykanych na ╤wiecie. Wspomaga tak©e dynamicznie +Ёadowane tzw. ,,procesy tЁumaczenia \OMEGA'' (\acro{OTP}), co pozwala +u©ytkownikowi definiowaФ zЁo©one transformacje wykonywane na dowolnych +strumieniach wej╤ciowych. WiЙcej szczegСЁСw znale╪Ф mo©na na \CD: +\OnCD{texmf-dist/doc/omega/base/doc-1.8.tex} (dokumentacja niezbyt aktualna). + +\item [Aleph] Ё╠czy rozszerzenia \OMEGA\ i~\eTeX; powstaЁ jako niezale©ny +projekt z~potrzeby stabilnej ,,u©ywalno╤ci'' programu Omega, w~sytuacji +gdy ten jest ci╠gle w~fazie eksperymentalnej. + +\end{description} + +\subsection{Inne wa©niejsze programy \protect\TL} + +Poni©ej zestawiono inne najczЙ╤ciej u©ywane programy dostЙpne +w~dystrybucji \TL{}: + +\begin{cmddescription} + +\item[bibtex] tworzenie spisСw bibliograficznych; + +\item[makeindex] tworzenie posortowanych skorowidzСw; + +\item[dvips] konwersja \dvi{} do \PS{}; + +\item[xdvi] przegl╠darka plikСw \dvi{} dla X~Window; + +\item[dvilj] sterownik dla drukarek HP LaserJet; + +\item [dv2dt, dt2dv] konwerter \dvi{} do/z tekstu ASCII; + +\item [dviconcat, dviselect] programy do manipulacji stronami w~plikach + \dvi{}; + +\item [dvipdfmx] konwersja \dvi{} do PDF, metoda alternatywna w~stosunku + do wspomnianego wy©ej programu pdf\TeX{} (pakiety + \pkgname{ps4pdf} i~\pkgname{pdftricks} dostarczaj╠ kolejnych mo©liwo╤ci); + +\item [psselect, psnup, \ldots] narzЙdzia manipulacji na plikach \PS-owych; + +\item [lacheck] kontrola syntaktyki plikСw \LaTeX-owych; + +\item [texexec] program uruchomieniowy dla Con\TeX{}t; + +\item [tex4ht] konwerter \TeX{} do HTML. + +\end{cmddescription} + +%% zostawiam tЙ czЙ╤Ф, choФ wyleciaЁa z wersji oryginalnej!!! 27.08.2003 + +\subsection[Pakiety i ich zestawy]{Pakiety i ich zestawy} +\label{packages} +Zawarto╤Ф drzew \texttt{texmf} na \TL{} zostaЁa do celСw instalacji +zorganizowana w~szereg ,,zestawСw'' (\emph{collections}), +z~ktСrych ka©dy posiada zbiСr ,,pakietСw'' (\emph{packages}; jest ich +ponad 1000). Normalna instalacja pozwala u©ytkownikowi skopiowaФ +z~\CD{} (\DVD{}) na twardy dysk jeden lub wiЙcej zestawСw, jest te© jednak +mo©liwe zainstalowanie jedynie pojedynczego pakietu. + +Zestawy pozwalaj╠ lepiej dobraФ instalowane skЁadniki, a~tak©e okre╤liФ +jakie jЙzyki bЙd╠ obsЁugiwane po instalacji. Najwa©niejszy zestaw, wymagany +dla wiЙkszo╤ci zastosowaЯ, to ,,basic''. Zestawy ,,latex'' +i~,,pdftex'' s╠ rekomendowane dla wiЙkszo╤ci u©ytkownikСw. PozostaЁe +zestawy s╠ opcjonalne. + +Oto dostЙpne zestawy (zdefiniowane w~plikach XML o~nazwach poprzedzonych +czЁonem \texttt{collection-}, umieszczonych +w~podkatalogu \texttt{texmf/tpm/}) i~krСtki opis ich zawarto╤ci: + +\begin{description} +\item[basic] podstawowe programy, pakiety makr i~fontСw systemu \TeX{}, + pliki konfiguracyjne dla podstawowych sterownikСw; +\item[bibtexextra] dodatkowa, obszerna biblioteka stylСw Bib\TeX{}owych + i~bazy danych bibliograficznych (podstawowe style znajduj╠ siЙ w~zestawie + ,,basic''); +\item[chemistry] pakiety makr do skЁadu wzorСw chemicznych; +\item[context] pakiet makr do Con\TeX{}t -- ,,dialektu'' \TeX-a + autorstwa Hansa Hagena; +\item[documentation] dodatkowe, u©yteczne dokumentacje; +\item[etex] pliki pomocnicze dla programu e-\TeX; +\item[extrabin] rС©ne programy pomocnicze; zestaw zawiera m.in. + programy i~makra dla systemu texinfo, programy do manipulacji na plikach + DVI itp.; +\item[fontbin] programy do konwersji plikСw fontowych oraz testowania + i~instalacji fontСw (zestaw do tworzenia fontСw wirtualnych, manipulacji + plikami .gf i~.pk, programy \texttt{mft}, \texttt{fontinst} itp.); +\item[fontsrecommended] obszerna biblioteka czЙ╤ciej u©ywanych fontСw + w~postaci ╪rСdЁowej (.mf) b╠d╪ obwiedniowych oraz pliki definicyjne + i~stylСw \LaTeX-a dla tych fontСw; +\item[fontsextra] biblioteka rС©nych rzadziej u©ywanych fontСw; +\item[formatsextra] pliki pomocnicze do generowania dodatkowych + ,,formatСw'' (tj. obszerne zestawy makr sЁu©╠ce do wstЙpnego przetworzenia + i~utworzenia pliku \texttt{.fmt}); +\item[games] pakiety do prezentacji zapisu rС©nych gier (szachy, + bryd© itp.); +\item[genericextra] obszerna biblioteka makr, trudnych do sklasyfikowania, + dziaЁaj╠cych z~rС©nymi formatami (Plain, LaTeX itp.); +\item[htmlxml] pakiety konwersji \LaTeX{}a do XML/HTML oraz do skЁadu + dokumentСw XML/SGML; +\item[lang\dots] wsparcie poszczegСlnych jЙzykСw; zestawy zawieraj╠ + wzorce przenoszenia wyrazСw i~makra obsЁugi danych jЙzykСw, czasem te© + specyficzne fonty itp., przykЁadowo: + %\item[langarmenian] armeЯski; +%\item[langcjk] pakiety CJK (obsЁuga chiЯskiego, japoЯskiego i~koreaЯskiego); +%\item[langcroatian] chorwacki; +%\item[langcyrillic] fonty i makra do skЁadu cyrylic╠; +%\item[langczechslovak] fonty i pakiety makr dla czeskiego i~sЁowackiego; +%\item[langdanish] duЯski; +%\item[langdutch] holenderski; +%\item[langfinnish] fiЯski; +%\item[langfrench] francuski; +%\item[langgerman] niemiecki; +%\item[langgreek] grecki; +%\item[langhungarian] wЙgierski; +%\item[langindic] wsparcie dla jЙzykСw indyjskich; +%\item[langitalian] wЁoski; +%\item[langlatin] Ёacina; +%\item[langmanju] jЙzyk Manju; +%\item[langmongolian] mongolski; +%\item[langnorwegian] norweski; +%\item[langother] wzorce przenoszenia wyrazСw dla innych jЙzykСw; +\item[langpolish] zawiera polskie pakiety: makra do tworzenia formatu MeX, + pakiety \texttt{platex}, \texttt{mwcls}, fonty, makra dodatkowe, przydatne dla + polskich u©ytkownikСw, dokumentacje w~jЙzyku polskim; +%\item[langportuguese] portugalski; +%\item[langspanish] hiszpaЯski; +%\item[langswedish] szwedzki; +%\item[langtibetan] fonty i~wsparcie do skЁadu tybetaЯskiego; +%\item[langukenglish] angielski (brytyjski); +%\item[langvietnamese] wietnamski; +\item[latex] podstawowe pakiety \LaTeX-a; +\item[latexrecommended] rekomendowany zestaw czЙsto u©ywanych pakietСw + dodatkowych; +\item[latex3] pakiety-,,zwiastuny'' \LaTeX3, dziaЁaj╠ce z~\LaTeXe; +\item[latexextra] bogaty wybСr dodatkowych pakietСw dla \LaTeX-a; +\item[mathextra] dodatkowe pakiety do skЁadu zaawansowanej matematyki; +\item[metapost] MetaPost i~pakiety do tworzenia rysunkСw z~u©yciem + MetaFonta; +\item[music] makra do sЁadu nutowego; +\item[omega] rozszerzenie \TeX{}a autorstwa Johna Plaice'a i~Yannisa Haralambousa, dziaЁaj╠ce ze znakami kodowanymi 16-bitowo; +\item[pdftex] pliki pomocnicze dla pdf\TeX{}-a, wersji programu \TeX{} + tworz╠cej pliki w~formacie PDF; +\item[pictures] pakiety do tworzenia diagramСw i~innych obiektСw graficznych; +\item[plainextra] dodatkowe biblioteki makr dla plain \TeX; +\item[psutils] narzЙdzia do manipulacji plikami \PS-owymi; +\item[publishers] pakiety makr pochodz╠ce od rС©nych wydawnictw; +\item[t1utils] narzЙdzia do fontСw w~formacie Type~1; +\item[texbooks] przykЁady i~inne materiaЁy autorstwa D.E.~Knutha; +\item[ttfutils] narzЙdzia do konwersji fontСw True Type; + %\item[xemacs] dodatkowe programy wspomagaj╠ce dla Windows (zaawansowany + % edytor XEmacs -- zintegrowane ╤rodowisko do pracy z~\TeX{}em, Perl, programy + % konwersji grafiki, itp.); +\end{description} +%-------------------------- +Katalog \texttt{texmf/lists/} (wykorzystywany podczas instalacji) +zawiera spis wszystkich plikСw w~ka©dym pakiecie. + +%% koniec pozostawionej sekcji 27.08.2003 + +\section{Instalacja i~u©ytkowanie w systemach Unix} +\label{sec:unix-install} + +Jak ju© wspomniano w~czЙ╤ci ~\ref{sec:basic} na str.~\pageref{sec:basic}, +\TL{} mo©na u©ywaФ na trzy sposoby: + +\begin{enumerate} +\item zamontowaФ pЁytЙ (\emph{mount}) \CD{} w~systemie plikСw, + uruchomiФ skrypt \texttt{install-tl.sh} i~wybraФ opcjЙ \verb|<R>| + (\textit{do not install files, set up to run off CD-ROM/DVD} -- + bez instalacji plikСw, dostosuj do uruchamiania z~\CD/DVD). Pozwala to + na uruchamianie wszystkich programСw bezpo╤rednio z~pЁytki; na dysku twardym + znajd╠ siЙ jedynie niezbЙdne pliki konfiguracyjne. +\item zainstalowaФ czЙ╤Ф lub caЁy system na lokalnym twardym dysku. +\item doinstalowaФ wybrane pakiety do istniej╠cego systemu \TeX{} + lub systemu \TL{} zainstalowanego wcze╤niej. +\end{enumerate} + +\noindent Ka©da z~tych metod jest dokЁadniej opisana w~dalszych rozdziaЁach. + +%%-- ramka z ostrze©eniem +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} +\textbf{Uwaga: } \CD{} i~\DVD{} + %wchodz╠ce w~skЁad \TK{} + s╠ w~formacie +ISO 9660 (High Sierra), z~rozszerzeniami Rock Ridge (i~Joliet dla Windows). +Aby skorzystaФ z~wszystkich zalet pЁytki pod Unixem, twСj system operacyjny powinien +obsЁugiwaФ rozszerzenie Rock Ridge. Prosimy zapoznaФ siЙ z~dokumentacj╠ +komendy \cmdname{mount} w~twoim systemie aby sprawdziФ, czy to jest mo©liwe. +Je©eli u©ywasz wielu rС©nych maszyn w~sieci lokalnej, zobacz czy mo©esz +zamontowaФ \CD{}/\DVD{} na tej, ktСra pozwala na u©ycie Rock Ridge. + +\leavevmode\quad +WspСЁczesne systemy operacyjne + %Linux, FreeBSD, Sun i~\acro{SGI} + powinny umieФ bez problemСw korzystaФ z~\CD{}/\DVD. + %BЙdziemy wdziЙczni za wszelkie wskazСwki od u©ytkownikСw innych systemСw, + %ktСrym udaЁo siЙ skorzystaФ z~niniejszych pЁytek, z~ktСrych to wskazСwek + %mogliby╤my skorzystaФ w~przyszЁych wersjach tej dokumentacji. + Dalsze kroki opisane s╠ przy zaЁo©eniu, ©e udaЁo siЙ zamontowaФ \CD{}/\DVD{} +w~peЁnej zgodno╤ci z~Rock Ridge. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +\subsection{Uruchamianie \protect\TL{} z~pЁytki (Unix)} + +\def\runlive{% text repeated in windows section + %Na \CD-ie \texttt{demo} zawarto programy jedynie dla systemСw + %Linux, \MacOSX oraz Windows. + Aby korzystaФ bezpo╤rednio z~no╤nika w~systemach Unix nale©y u©yФ + pЁyty \pkgname{live} \DVD. +} + +\def\startinst{% repeated in other subsections + Najpierw nale©y zamontowaФ \CD{} lub \DVD{} -- postaФ polecenia jest zale©na +od konkretnej platformy, poni©sze dziaЁa w~Linux, choФ nazwa urz╠dzenia +(tu: \filename{/dev/cdrom}) mo©e siЙ rС©niФ. W~przykЁadach podajemy +\texttt{>} jako znak zgЁoszenia powЁoki, za╤ to, co wpisuje u©ytkownik, +jest \Ucom{\texttt{podkre╤lone}}. +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent nastЙpnie zmieniamy katalog bie©╠cy na katalog montowania: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent W~systemie \MacOSX katalog ten znajduje siЙ zwykle w~ramach +\dirname{/Volumes} za╤ no╤nik montowany jest automatycznie. + +\noindent Uruchamiamy skrypt instalacyjny \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh} + +Welcome to TeX Live... +\end{alltt} + +Po ukazaniu siЙ gЁСwnego menu mamy do wyboru listЙ opcji, wprowadzanych +poprzez naci╤niЙcie wybranego znaku oraz klawisza Enter (nie nale©y +wpisywaФ znakСw \verb|<>|; wielkie i~maЁe litery s╠ to©same, w~przykЁadach +podajemy maЁe litery). +} + +\runlive +\startinst + +Dla uruchamiania bezpo╤rednio z~pЁytki wybieramy najpierw opcjЙ +\Ucom{d}, nastЙpnie podopcjЙ \Ucom{1}, ktСra pozwoli nam okre╤liФ +katalog na generowane przez \TeX-a pliki (fonty, formaty, pliki +konfiguracyjne do modyfikacji ustawieЯ). Je╤li odpowiadaj╠ nam ustawienia +domy╤lne (\dirname{/usr/local/texlive/2005}), mo©emy pomin╠Ф poni©szy +fragment. +W~naszym przykЁadzie u©yjemy \dirname{/opt/texlive2005}: +\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 wci╤niЙcie klawisza \Ucom{r} powoduje powrСt do gЁСwnego menu, +gdzie wybieramy opcjЙ uruchamiania bezpo╤rednio z~no╤nika, bez instalacji +wЁa╤ciwej na dysku: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live system! +> +\end{alltt} + +NastЙpnie nale©y uaktualniФ zmienn╠ \texttt{PATH}, doЁ╠czaj╠c do niej +katalog zawieraj╠cy binaria dla danej architektury, +a~tak©e ustawiФ zmienn╠ \envname{TEXMFSYSVAR} na podany powy©ej katalog. Dla +powЁoki zgodnej z~Bourne shell (\cmdname{sh}, \cmdname{bash}, \cmdname{ksh}) +mo©emy dopisaФ do pliku \filename{$HOME/.profile}: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2005/texmf-var; export TEXMFSYSVAR +\end{alltt} + +\noindent gdzie \emph{archname} oznacza konkretn╠ platformЙ. +W~tabeli~\ref{tab:archlist} zamieszczono spis obsЁugiwanych systemСw +operacyjnych i~odpowiednich dla nich nazw podkatalogСw. + %Nale©y pamiЙtaФ, ©e \emph{demo} \CD{} + %zawiera jedynie binaria dla Windows, Linux dla Intel i~Mac~OSX. + %Dla innych systemСw Unix nale©y zastosowaФ drugi \CD{} b╠d╪ \DVD{}. + %W~nazwie podkatalogu mo©emy pomin╠Ф numer wersji, np. + %\dirname{sparc-solaris} jest dowi╠zaniem do \dirname{sparc-solaris2.7}. + +Dla powЁok zgodnych z C shell (\cmdname{csh}, \cmdname{tcsh}), +nale©y dopisaФ do pliku \filename{$HOME/.cshrc}: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2005/texmf-var +\end{alltt} + +\noindent gdzie \emph{archname} -- jak wy©ej. + +%\noindent Then log out, log back in, and test your installation +%(see section~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + +\def\textruntexconfig{% +Po zakoЯczeniu instalacji i~ustawieniu zmiennych systemowych warto +uruchomiФ \cmdname{texconfig} lub \cmdname{texconfig-sys} aby dostroiФ +instalacjЙ do wЁasnych potrzeb +(patrz czЙ╤Ф~\ref{sec:texconfig}, str.~\pageref{sec:texconfig}). +} +\textruntexconfig + +\begin{table*}[ht] +\caption[ObsЁugiwane systemy operacyjne]{ObsЁugiwane systemy operacyjne} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & Compaq 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 & \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*} + +%WydawaЁoby siЙ, ©e potrzeba wygenerowania fontСw czy zmiana konfiguracji +%mo©e spowodowaФ problemy, poniewa© nie mo©na zmieniaФ plikСw na \CD. +%Mo©na jednak posiadaФ na dysku drugie, rСwnolegЁe drzewo +%\TeX-owe, w~ktСrym mo©na dokonywaФ zmian. Drzewo takie jest przeszukiwane +%przed gЁСwnym drzewem \CD. +%Domy╤ln╠ lokalizacj╠ jest \path|texmf-var| na \CD{} (katalog, +%ktСry faktycznie nie istnieje!), wobec tego \emph{nale©y} +%j╠ zmieniФ poprzez deklaracjЙ zmiennej ╤rodowiska \texttt{VARTEXMF}. +% +%PrzykЁadowo, u©ytkownicy \emph{sh} lub \emph{bash} na Intel PC z~systemem +%Linux mog╠ zamontowaФ \CD{} \TL{} w~katalogu \file{/mnt/cdrom} za pomoc╠ +%polecenia: +% +%\begin{alltt} +%>> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +%\end{alltt} +% +%Po zmianie katalogu bie©╠cego na gЁСwny katalog \CD{} +%nale©y uruchomiФ skrypt: +% +%\begin{alltt} +%>> \Ucom{sh install-tl.sh} +%\end{alltt} +%Odpowiednie pliki pomocnicze zostan╠ zainstalowane na twardym dysku po +%wybraniu opcji \verb|<R>| +%(\emph{do not install files, set up to run off CD-ROM} -- +%bez instalacji pikСw, dostosuj do uruchamiania z~\CD). +% +%Struktura oprogramowania \Webc{} oznacza, ©e mo©na uruchamiaФ programy +%przez zwykЁe dodanie do zmiennej \texttt{PATH} odpowiedniego podkatalogu +%katalogu \path|bin| na \CD. Potrzebne pliki bЙd╠ znajdowane bez dalszych +%problemСw. +% +%W~razie w╠tpliwo╤ci najlepiej zwrСciФ siЙ do lokalnego guru systemowego +%o~pomoc przy instalowaniu \CD{} i~w~wyborze katalogu dla systemu \TeX. + +Po ponownym uruchomieniu sesji polski u©ytkownik mo©e u©yФ bezpo╤rednio m.in. +polecenia \texttt{mex} (spolonizowany format plain), +\texttt{platex} (\LaTeX{} z~polskimi i~anglo\dywiz amerykaЯskimi wzorcami +przenoszenia wyrazСw) oraz ich wersji dla programu \texttt{pdfTeX} (tworz╠cego +pliki PDF), odpowiednio: \texttt{pdfmex} i~\texttt{pdfplatex}. Potrzebne +pliki formatСw zostan╠ wygenerowane automatycznie podczas pierwszego +uruchomienia danego polecenia i~zapisane w~lokalnym katalogu. Katalog ten, +domy╤lnie \dirname{/usr/local/texlive/2005/texmf-var/}, a~w~naszym przykЁadzie +\dirname{/usr/local/texlive/texmf-var/}, zawiera pliki konfiguracyjne, +ktСre mog╠ byФ modyfikowane przez u©ytkownika. W~konfigurowaniu pomocne jest +uruchomienie skryptu \cmdname{texconfig}, opisanego +w~czЙ╤ci~\ref{sec:texconfig}. + +%------------------------------------------------ +\subsection{Instalacja \protect\TeX\ \protect Live na twardym dysku} +\label{sec:unix-install-disk} + +Instalacja czЙ╤ci lub caЁo╤ci dystrybucji na twardym dysku wymaga +zamontowania pЁyty \CD{} (lub \DVD) w~systemie, przej╤cia do jego katalogu +gЁСwnego i~uruchomienia skryptu instalacyjnego: +\begin{alltt} +> \Ucom{sh install-tl.sh} +\end{alltt} +(W niektСrych systemach Unix mo©e zaj╤Ф potrzeba u©ycia \cmdname{sh5} +lub \cmdname{bash}.) + +\noindent Skrypt ten przeszukuje listy +zestawСw i~pakietСw z~\CD{} oraz prСbuje odgadn╠Ф, z~jakim systemem +komputerowym ma do czynienia. + +NastЙpnie poka©e on gЁСwn╠ stronЙ konfiguracyjn╠ + %(tab.~\ref{tab:main-menu-options}), + umo©liwiaj╠c╠ wybСr: + +% I prefer here description instead of the table (SW) +\begin{description} +\item \verb|<P>| \emph{Current platform} (systemu operacyjnego, dla ktСrego + chcemy dokonaФ instalacji, na wypadek gdyby zawiodЁa automatyczna detekcja); +\item \verb|<B>| \emph{Binary architectures} (dodatkowo instalowanych + binariСw dla innych platform, np. na serwerze, z~ktСrego bЙd╠ korzystaФ + u©ytkownicy innych systemСw); +\item \verb|<S>| \emph{Installation scheme} (predefiniowanego zestawu + instalacyjnego, np. \emph{full} -- peЁnego, \emph{medium} -- + wystarczaj╠cego do wiЙkszo╤ci zastosowaЯ, \emph{basic} -- podstawowego; + mamy tu te© do wyboru zestaw + proponowany polskim u©ytkownikom: \emph{GUST scheme}); +\item \verb|<C>| \emph{Standard collections} (zestawСw, ktСrych wybСr + pomaga zmodyfikowaФ dany schemat instalacji); +\item \verb|<L>| \emph{Language collections} (zestawСw dla obsЁugiwanych + jЙzykСw); +\item \verb|<D>| \emph{Installation directories} (katalogu bazowego na + dysku, przeznaczonego na instalacjЙ); +\item \verb|<O>| ustawienia trybu pracy niektСrych programСw. +\end{description} + +Po wybraniu opcji |<C>| -- \emph{Standard collections}, wy╤wietlone zostan╠ +dostЙpne zestawy. Ka©dy zestaw zawiera szereg pakietСw: makr, fontСw itp. +Zaznaczenie zestawu do zaistalowania polega na wci╤niЙciu odpowiedniego +klawisza, ponowne naci╤niЙcie tego samego klawisza wyЁ╠cza zaznaczenie +(uwaga: wielkie i maЁe litery s╠ rozrС©niane!). + +Po wybraniu opcji |<L>| -- \emph{Language collections}, +wy╤wietlone zostan╠ dostЙpne zestawy dla rС©nych jЙzykСw. +Zawieraj╠ one najczЙ╤ciej wzorce przenoszenia wyrazСw, czasami +dodatkowe pakiety makr i fontСw. Aby zainstalowaФ polskie pakiety +(fonty, makra, dokumentacje), nale©y w~tym menu wybraФ klawisz +odpowiadaj╠cy opcji \texttt{Polish}. + +Po powrocie do gЁСwnego menu mo©na dodatkowo wybraФ inne opcje. I~tak: + +\smallskip\noindent +\verb|<D>| \emph{directories} pozwala zmieniФ domy╤lne katalogi +instalacji, przypisane zmiennym wewnЙtrznym: \label{text:instdir} + +\vskip-5pt +\begin{ttdescription} +\item [TEXDIR] katalog bazowy, w~ramach ktСrego zostan╠ zainstalowane wszystkie + pliki; domy╤lnie jest to \dirname{/usr/local/texlive/2005}, ale mo©na + go zmieniФ np. na \dirname{/opt/texlive2005}. + +W systemie \MacOSX{} dostЙpne programy instalacyjne +(\emph{TeXShop}, \emph{ITeXMac}, \ldots) korzystaj╠ z~domy╤lnej +lokalizacji \teTeX{}, czyli \dirname{/usr/local/teTeX}. Wobec czego +u©ytkownicy Mac dla instalacji \TL{} powinni rozwa©yФ wybСr +katalogu \dirname{/usr/local/teTeX} zamiast \dirname{/usr/local/texlive/2005}. + +\item [TEXMFLOCAL] katalog przeznaczony na lokalne pliki makr i~fontСw +u©ytkownika, a~tak©e indywidualne, nie zwi╠zane z~dystrybucj╠, uzupeЁnienia +instalacji; domy╤lnie jest to \dirname{/usr/local/texlive/texmf-local}. +(Katalog ten jest niezale©ny od opisanego wy©ej katalogu bazowego, poniewa© jest +przeznaczony na lokalnie dodawane makra czy fonty.) + +\item [TEXMFSYSVAR] katalog, ktСry przechowuje pliki generowane przez system + (np. formaty) + (patrz czЙ╤Ф~\ref{sec:texconfig}, str.~\pageref{sec:texconfig}); + domy╤lnie \dirname{TEXDIR/texmf-var}. + Istnieje ponadto \envname{TEXMFSYSCONFIG}, katalog dla + aktualnie u©ywanych plikСw konfiguracyjnych, modyfikowanych + najczЙ╤ciej przez program \cmdname{texconfig}. +\end{ttdescription} + +\noindent +\verb|<O>| \emph{Other options} -- inne opcje: + +\begin{ttdescription} +\item [a] \emph{alternate directory for generated fonts} -- pozwala okre╤liФ + katalog dla generowanych fontСw (np. je©eli chcemy zainstalowaФ gЁСwny pakiet + w~trybie ,,tylko do odczytu'' + (\emph{read-only})); domy╤lnie fonty generowane s╠ + w~katalogu okre╤lonym przez zmienn╠ \envname{TEXMFVAR}. + +\item [l] \emph{create symbolic links in standard directories} -- pozwala + okre╤liФ + czy utworzyФ dowi╠zania symboliczne (\emph{links}) dla stron \cmdname{man}, + \acro{GNU} \cmdname{info} i~programСw w~standardowych katalogach systemu + operacyjnego, np. \dirname{/usr/local/man}, \dirname{/usr/local/info} oraz + \dirname{/usr/local/bin}. + Wymagane do tego s╠, oczywi╤cie, uprawnienia administratora. + +\item [d] \emph{do not install font/macro doc tree} -- pozwala pomin╠Ф + instalowanie dokumentacji fontСw b╠d╪ makr, np. dla zaoszczЙdzenia miejsca + na dysku. + +\item [s] \emph{do not install font/macro source tree} -- + pozwala pomin╠Ф instalowanie plikСw ╪rСdЁowych fontСw b╠d╪ makr (dostЙpnych + np. w~postaci plikСw \texttt{.dtx}), ktСre nie s╠ wykorzystywane + do bie©╠cej pracy; + +\end{ttdescription} + +Po zakoЯczeniu ustawieЯ i~po powrocie go gЁСwnego menu, +mo©na rozpocz╠Ф instalacjЙ (klawisz~\Ucom{I}). +Program instalacyjny, uwzglЙdniaj╠c wybrane zestawy i~systemy, sprawdzi +spisy plikСw na \CD{}/\DVD, stworzy listЙ plikСw do skopiowania, po czym +skopiuje je na twardy dysk. + +Po instalacji wystarczy dodaФ do zmiennej \texttt{PATH} wЁa╤ciwy +podkatalog \texttt{bin} instalacji \TeX-a, uaktywniФ tЙ zmienn╠ i~mo©na +ju© zacz╠Ф pracЙ. + %Je╤li zajdzie potrzeba, mo©na przenie╤Ф binaria wy©ej o~jeden poziom, + %np. z~\dirname{/usr/local/bin/i386-linux} do \dirname{/usr/local/bin}; + %jednak©e po tym nale©y wyedytowaФ plik \dirname{texmf/web2c/texmf.cnf} + %i~zmieniФ liniЙ znajduj╠c╠ siЙ blisko pocz╠tku pliku: + %\begin{verbatim} + % TEXMFMAIN = $SELFAUTOPARENT + %\end{verbatim} + %na + %\begin{verbatim} + % TEXMFMAIN = $SELFAUTODIR + %\end{verbatim} + %Je╤li przeniesiemy caЁo╤Ф instalacji do innego katalogu, nale©y dokЁadnie + %to okre╤liФ, modyfikuj╠c zmienn╠ \envname{TEXMFMAIN} w~pliku + %\texttt{texmf.cnf}, a~tak©e ustawiaj╠c \envname{TEXMFCNF} na + %\dirname{$TEXMFMAIN/texmf/web2c}. + +\textruntexconfig + +%------------------------------------------------ +\subsection{Instalacja pojedynczych pakietСw z~\protect\TL{} +na twardym dysku} +\TL{} mo©na u©ywaФ zarСwno do aktualizacji istniej╠cej instalacji, +jak i~do dodawania skЁadnikСw do instalacji wcze╤niejszej. +GЁСwny program instalacyjny przeznaczony jest do u©ycia tylko za pierwszym +razem, natomiast pС╪niej nale©y u©ywaФ znajduj╠cego siЙ na \CD{} (\DVD) +skryptu \texttt{install-pkg.sh}. +Uruchamia siЙ go przez zamontowanie no╤nika, przej╤cie do katalogu +punktu montowania i~wydanie polecenia: + +\begin{alltt} +> \Ucom{sh install-pkg.sh \emph{opcje}} +\end{alltt} + +Skrypt posiada dziewiЙФ parametrСw; pierwsze cztery pozwalaj╠ wybraФ: +pojedynczy pakiet do instalacji, caЁy zestaw (np. \texttt{mathextra}), +nazwЙ katalogu zamontowanego \CD, oraz nazwЙ katalogu zawieraj╠cego +pliki ze spisami zawarto╤ci pakietСw (zwykle te dwa ostatnie ustawiane +s╠ automatycznie): + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] pojedynczy pakiet do zainstalowania; + +\item [-{}-collection=\var{colname}] pojedynczy zestaw do zainstalowania; + +\item [-{}-cddir=\var{dir}] katalog ╪rСdЁowy (domy╤lnie jest to katalog + bie©╠cy, z~ktСrego uruchomiono skrypt); + +\item [-{}-listdir=\var{dir}] katalog ze spisami plikСw (domy╤lnie + \dirname{./texmf/tpm/lists}). + +\end{ttdescription} + +Proces instalacji jest okre╤lony dokЁadniej przez piЙФ kolejnych parametrСw: +pierwsze dwa pozwalaj╠ wyЁ╠czyФ z~instalacji dokumentacje i~pliki ╪rСdЁowe, +trzeci wyЁ╠cza domy╤lne uruchamianie na koniec skryptu \texttt{mktexlsr}, +przebudowuj╠cego bazЙ danych o~plikach, czwarty uruchamia na koniec +skrypt konfiguracyjny \code{texconfig init}, za╤ pi╠ty powoduje jedynie +wypisanie plikСw, ktСre miaЁyby byФ zainstalowane: + +\begin{tabular}{ll} +\texttt{-{}-nodoc} & \\ +\texttt{-{}-nosrc} & \\ +\texttt{-{}-nohash} & \\ +\texttt{-{}-config} & \\ +\texttt{-{}-listonly} & \\ +\end{tabular} + +Mo©na tak©e okre╤liФ, czy zamiast instalowaФ pliki, skrypt powinien +utworzyФ z~nich w~wybranej lokalizacji archiwum \cmdname{tar}: + +\begin{tabular}{ll} +\texttt{-{}-archive=}\var{nazwa} & \\ +\end{tabular} + +Dodatkowa opcja \texttt{-{}-verbose} pozwala wy╤wietliФ podczas uruchomienia +bardziej szczegСЁowe komunikaty. + +Tak wiЙc, je©eli chcieliby╤my tylko zobaczyФ przed zainstalowaniem, +jakie pliki tworz╠ pakiet \pkgname{fancyhdr}, nasze polecenie wygl╠daЁoby +nastЙpuj╠co: + +\begin{alltt} +\ifSingleColumn> \Ucom{sh install-pkg.sh -{}-package=fancyhdr -{}-listonly} +\else> \Ucom{sh install-pkg.sh -{}-package=fancyhdr \bs} +> \Ucom{-{}-listonly} +\fi{} +texmf/source/latex/fancyhdr/README +texmf/doc/latex/fancyhdr/fancyhdr.pdf +... +\end{alltt} +Oto inne przykЁady u©ycia: +\begin{itemize} +\item zainstaluj \LaTeX-owy pakiet \texttt{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh -{}-package=natbib} +\end{alltt} +\item zainstaluj \LaTeX-owy pakiet \texttt{alg} bez plikСw ╪rСdЁowych +i~bez dokumentacji: +\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 zainstaluj wszystkie pakiety dostЙpne w~zestawie +dodatkowych makr dla plain \TeX: +\begin{alltt} +> \Ucom{sh install-pkg.sh -{}-collection=plainextra} +\end{alltt} +\item spakuj wszystkie pliki wymagane dla PSTricks +do~pliku \cmdname{tar}, w~katalogu \dirname{/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} + +% czeka na tЁumaczenie! ale mozna pomin╠Ф +%\section{Post-installation} +%\label{sec:postinstall} + +\subsection{Program texconfig} +\label{sec:texconfig} + Po zakoЯczeniu instalacji i~uaktywnieniu modyfikacji zmiennej systemowej +\envname{PATH}, mo©na u©yФ programu \cmdname{texconfig}, +do skonfigurowania systemu wedЁug wЁasnych potrzeb. Program ten mo©e +byФ w~ka©dej chwili uruchomiony do zmiany ustawieЯ, w~trybie in\-ter\-fej\-su +peЁnoekranowego lub z~linii poleceЯ. Program \cmdname{texconfig} powinien byФ +u©ywany do wszelkich zmian, takich jak deklaracja u©ywanych drukarek czy +przebudowywanie bazy danych o~plikach. Obydwa tryby pracy posiadaj╠ tekst pomocy, +opisuj╠cy dostЙpne mo©liwo╤ci. + +PrzykЁady u©ycia z~wiersza poleceЯ: + +\begin{ttdescription} +\item [texconfig dvips paper letter] ustawienie formatu papieru na ,,letter'' + dla programu \cmdname{dvips}; +\item [texconfig xdvi letter] jak wy©ej, ale dla programu \cmdname{xdvi}; +\item [texconfig rehash] aktualizacja wszystkich baz danych instalacji + systemu \TeX; +\item [texconfig faq] wy╤wietla \acro{FAQ} dystrybucji \teTeX{} + (na dystrybucji tej oparto \TL); +\item [texconfig help] wy╤wietla dostЙpne opcje skryptu. + +\end{ttdescription} + +Skrypt \cmdname{texconfig} pozwala na zmianЙ jedynie najwa©niejszych +ustawieЯ. GЁСwnym plikiem konfiguracyjnym jest \filename{texmf.cnf}. +Zlokalizujemy go uruchamiaj╠c polecenie \samp{kpsewhich texmf.cnf}. +Plik ten zawiera sporo u©ytecznych komentarzy, wyja╤niaj╠cych +reguЁy ustawieЯ domy╤lnych, a tak©e podaje przykЁady ustawieЯ alternatywnych. + +Od roku 2005, zgodnie ze zmianami, ktСre zaszЁy w te\TeX{}~3.0, +\cmdname{texconfig} zapisuje pliki w~katalogu u©ytkownika +(\dirname{$HOME/.texlive2005}). Je╤li instalujemy system dla wielu +u©ytkownikСw, powinni╤my zatem uruchomiФ polecenie \cmdname{texconfig-sys}. + +Podobnie rzecz ma siЙ ze skryptami \cmdname{updmap} oraz \cmdname{fmtutil}; +tak©e i~one zapisuj╠ pliki w~\dirname{$HOME/.texlive2005}. Aby zmieniФ globalne +ustawienia, wygenerowaФ mapy b╠d╪ formaty, nale©y u©yФ poleceЯ +\cmdname{updmap-sys} i~\cmdname{fmtutil-sys}. W~przypadku instalacji +dla wielu u©ytkownikСw warto wygenerowaФ wspСlne pliki formatСw +(polecenie \texttt{fmtutil-sys --missing}), dziЙki czemu uniknie +siЙ generowania tych©e przez ka©dego u©ytkownika, na jego wЁasne potrzeby. + +\subsection{Testowanie instalacji} +\label{sec:test-install} + +Po zainstalowaniu \TL{} warto sprawdziФ czy programy dziaЁaj╠ +prawidЁowo. Opiszemy tu podstawowe procedury testuj╠ce funkcjonowanie +systemu w~systemach Unix. W~\MacOSX{} i~Windows najczЙ╤ciej u©yjemy +╤rodowiska graficznego (\acro{GUI}), ale reguЁy bЙd╠ podobne. + +\begin{enumerate} +\item Sprawdzamy najpierw czy uruchamia siЙ program \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.3 +Copyright (C) 1997-2004 D.E. Knuth. +... +\end{alltt} +Je╤li uruchomienie zakoЯczy siЙ komunikatem \emph{command not found}, +oznacza to, ©e nieprawidЁowo zadeklarowano zmienn╠ \envname{PATH}. + +\item NastЙpnie przetwarzamy prosty plik \LaTeX-owy: +\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} +Gdy program nie znajduje \filename{sample2e.tex} (b╠d╪ innych wymaganych +plikСw), mo©e to oznaczaФ, ©e nadal dziaЁaj╠ ustawienia zmiennych ╤rodowiska +b╠d╪ pliki konfiguracyjne z~poprzedniej instalacji. +DogЁЙbn╠ analizЙ gdzie s╠ przeszukiwane i~znajdywane pliki umo©liwia +diagnostyka opisana w~czЙ╤ci \ref{sec:Debugging} na str.~\pageref{sec:Debugging}. + +\item Podgl╠d wyniku skЁadu: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +Polecenie to wymaga uruchomionego ╤rodowiska graficznego X~Window. + +\item Przetwarzanie wyniku skЁadu do \PS{} w~celu wy╤wietlenia lub wydruku: +\begin{alltt} +> \Ucom{dvips sample2e.dvi -o sample2e.ps} +\end{alltt} + +\item Tworzenie dokumentu bezpo╤rednio w~formacie \acro{PDF}: +\begin{alltt} +> \Ucom{pdflatex sample2e.tex} +\end{alltt} + +\item Podgl╠d dokumentu \acro{PDF}: +\begin{alltt} +> \Ucom{gv sample2e.pdf} +\textrm{lub:} +> \Ucom{xpdf sample2e.pdf} +\end{alltt} +Programy \cmdname{gv} i~\cmdname{xpdf} s╠ dostarczane zwykle +w~ramach systemu operacyjnego, wobec tego nie zawarto ich +na \TL. Przed samodzieln╠ instalacj╠ warto odwiedziФ strony, +odpowiednio: \url{http://www.gnu.org/software/gv} +i~\url{http://www.foolabs.com/xpdf}. W~sieci dostЙpny jest tak©e +bezpЁatny program Adobe Reader (\url{http://www.adobe.com}). + +\item Inne przydatne pliki testowe: + +\begin{ttdescription} +\item [small2e.tex] przykЁad prostszy ni© \filename{sample2e}; +\item [testpage.tex] test poЁo©enia wydruku na kartce papieru, przydatny + do sprawdzenia, czy nasza drukarka nie wprowadza przesuniЙФ; +\item [nfssfont.tex] sЁu©y do wydruku tablic fontowych; +\item [testfont.tex] jak wy©ej, ale zamiast \LaTeX-a wymaga jedynie plain + \TeX{}; +\item [story.tex] najbardziej kanoniczny przykЁad dla plain \TeX{}; + na zakoЯczenie przetwarzania uruchomionego poleceniem \Ucom{tex story}, + po ukazaniu siЙ \code{*}, nale©y wpisaФ \Ucom{\bs bye}. +\end{ttdescription} + +\end{enumerate} + +Pocz╠tkuj╠cym u©ytkownikom polecamy stronЙ +\url{http://tug.org/begin.html} oraz podrЙcznik +Petera Flynna \textsl{Formatting Information}, dostЙpny pod adresem +\url{http://www.ctan.org/tex-archive/documentation/beginlatex}. + +%-------------- +\section{Instalacja dla systemu \MacOSX{}} +\label{sec:mac-install} + +Na komputerach Macintosh \TL{} dziaЁa jedynie pod systemem operacyjnym +\MacOSX (starsze systemy z~dziaЁaj╠cym systemem \TeX{} mog╠ +korzystaФ z~makr, fontСw i~dokumentacji o~ile zainstalujemy rozszerzenie +Joliet dostЙpne na \url{http://www.tempel.org/joliet}). + +\noindent Instalacja pod \MacOSX{} mo©e byФ wykonana na dwa sposoby. + +W 2005 r. rekomendowana jest instalacja Mac\TeX, nowej dystrybucji +dostЙpnej na \pkgname{live} \DVD{} w~katalogu \dirname{mactex/}. +Zawiera ona wЁasny program instalacyjny peЁnej dystrybucji systemu \TeX, +ktСra jest kombinacj╠ te\TeX-a, \TL{} i~dodatkowych programСw oraz +dokumentacji. SzczegСЁy na temat projektu Mac\TeX{} znajduj╠ siЙ na stronie: +\url{http://tug.org/mactex}. + +Je╤li wolimy, w~\MacOSX{} mo©na tak©e zaistalowaФ \TL, wykorzystuj╠c +skrypty \filename{install*}. Wymagane jest do tego posiadanie powЁoki +\cmdname{bash}. Od wersji \MacOSX{} 10.2 \cmdname{bash} jest standardowo +dostЙpny, a~wiЙc instalujemy podobnie jak opisano to powy©ej w~czЙ╤ci +\ref{sec:unix-install} na str.~\pageref{sec:unix-install}. Wcze╤niejsze +wersje systemu operacyjnego wymagaj╠ aktualizacji, czyli pobrania z~sieci +powЁoki \cmdname{bash}. + +%% Mac & bash notes removed 17.11.2004 +% +%\subsection{╕rodowiska pracy w~\MacOSX{}} +% +%Na komputerach Macintosh u©ywamy zwykle \TeX-a w~╤rodowisku pracy +%obejmuj╠cym wiersz poleceЯ, edytor, program do podgl╠du itp. +%Mamy do wyboru kilka takich ╤rodowisk: +% +%\begin{cmddescription} +%\item [TeXShop] dostЙpny na \TL{} w~pliku +%\filename{./MacOSX/texshop.dmg}. SzczegСЁowe informacje mo©na znale╪Ф +%na stronie \url{http://www.uoregon.edu/~koch/texshop/texshop.html}. +% +%\item [ITeXMac] dostЙpny na \TL{} w~pliku +%\filename{./MacOSX/iTeXMac-*.dmg}. Patrz te© +%\url{http://itexmac.sourceforge.net}. +% +%\item [Mac-emacs] implementacja Emacs dla \MacOSX{} zintegrowana +%z~\pkgname{AucTeX}. Patrz te© +%\url{http://www.cs.man.ac.uk/~franconi/mac-emacs}. +% +%\end{cmddescription} +% +%Powy©sze ╤rodowiska stosuj╠ \dirname{/usr/local/teTeX} jako domy╤ln╠ +%lokalizacjЙ oprogramowania \TeX-owego, wobec tego instalacjЙ nale©y +%wykonaФ w~tym katalogu (b╠d╪ zmieniФ konfiguracjЙ ╤rodowiska). + +\subsection{Strona kodowa Macintosh CE} +Pisz╠cy po polsku u©ytkownicy \MacOSX{} maj╠ do wyboru stosowanie dwСch +8-bit\-owych stron kodowych: +\begin{description} +\item[iso8859-2] -- co wi╠©e siЙ z~wykorzystywaniem standardowego + oprogramowania uniksowego (Cocoa u©ywa wyЁ╠cznie unikodu), jak na przykЁad + Emacsa. +\item[Mac CE] -- co pozwala na stosowanie tradycyjnego (Carbon) oprogramowania + jak np.~BBEdit. We╪my pod uwagЙ ten przypadek. +\end{description} + +Na \TL{} w~standardowych pakietach \LaTeX-a znajduje siЙ plik +\verb|macce.def|, ktСry pozwala \LaTeX-owi wczytywaФ polski tekst +z~wykorzystaniem pakietu \verb|inputenc|: + +\verb|\usepackage[macce]{inputenc}| + +Ponadto mamy tablice przekodowaЯ dla Mac~CE, niewymagaj╠ce stosowania +pakietu \verb|\inputenc|. Zamiast niego wystarczy wpisaФ w~pierwszym wierszu +pliku deklaracjЙ: + +\verb|%& --translate-file=macce-pl| + +%-------------------------- +\section{Instalacja i~u©ytkowanie pod Windows} +\label{sec:win-install} + +Niniejsze wydanie \TL{} ponownie zawiera program instalacyjny dla Windows; +jest to obecnie \cmdname{tlpmgui.exe}. Program ten posiada podobne opcje +jak instalator dla systemСw Unix: pozwala wybraФ schemat, poszczegСlne +kolekcje, katalogi dla instalacji, a~wiЙc ma funcjonalno╤Ф opisan╠ +ju© w~czЙ╤ci~\ref{sec:unix-install-disk} na +str.~\pageref{sec:unix-install-disk}. Dodatkowo, po instalacji wЁa╤ciwej, +mo©liwe jest dodawanie b╠d╪ usuwanie pakietСw a~tak©e wykonywanie +najwa©niejszych czynno╤ci administracyjnych, jak aktualizacja bazy danych +instalacji, generowanie formatСw czy map fontowych. +Mo©liwe jest tak©e przygotowanie systemu operacyjnego do uruchamiania +programСw bezpo╤rednio z~\DVD. + +\cmdname{tlpmgui} wykorzystuje jako ,,silnik'' program \cmdname{tlpm}. + +Oprogramowanie dla Windows w~\TL{} jest oparte o~zaktualizowane +programy, zapo©yczone z~projektu \XEmTeX{}, sukcesora dystrybucji +\fpTeX{} (patrz \url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). +Zawiera ponadto niektСre starsze (ale nadal dziaЁaj╠ce) programy, +szczegСlnie przegl╠darkЙ plikСw \texttt{dvi}, \textsf{Windvi}, ktСra jest +podobna w~u©yciu do znanego z~systemСw Unix programu \textsf{xdvi}. +Dokumentacja \textsf{Windvi} znajduje siЙ +w~\OnCD{texmf/doc/html/windvi/windvi.html}. + +\TL{} mo©e byФ instalowany w systemach Windows 98, \acro{ME}, +\acro{NT}, \acro{2K} lub \acro{XP}. + +\textbf{Uwaga:} U©ytkownicy Win9.x powinni zadbaФ aby system posiadaЁ +wystarczaj╠cy obszar dla nowych zmiennych ╤rodowiskowych. W~tym celu +przed instalacj╠ nale©y dopisaФ do pliku \verb|C:\config.sys| wiersz +\texttt{SHELL=<path>COMMAND.COM /E:4096 /P} i~ponownie uruchomiФ komputer. + +\subsection{Instalacja \protect\TeX\protect\ Live na twardym dysku} + +Po wЁo©eniu pЁyty do napЙdu \acro{CD}, autostart powinien uruchomiФ program +\cmdname{tlpmgui}. Je╤li to nie nast╠pi, kliknij menu \guiseq{Start\arw +Uruchom} i~wybierz \verb|<litera CD-ROM>:\setup-win32\tplmgui.exe| (lub +\verb|<litera DVD>:\texlive\setup-win32\tplmgui.exe| je╤li instalujesz +z~pЁyty \TeX{} Collection DVD), a~nastЙpnie kliknij OK. + +Uka©e siЙ okno instalatora zatytuЁowane \guiseq{Program instalacji +i~konfiguracji TeX Live}. Zawiera ono nastЙpuj╠ce sekcje: \guiseq{Modyfikacja +schematСw}, \guiseq{Instalacja}, \guiseq{Wybierz schemat}, \guiseq{Wybierz +system}, \guiseq{Katalogi} i~\guiseq{Opcje}. + +W~sekcji \guiseq{Katalogi}, obok przycisku \guiseq{CD/DVD} powinien byФ +wy╤wietlony dysk instalacyjny, np. \texttt{F:/} (lub \texttt{F:/texlive/} +dla DVD). Je╤li tak nie jest, +naci╤nij przycisk \guiseq{CD/DVD} i~wybierz napЙd \acro{CD} z~TeX Live CD +(lub katalog \texttt{texlive} na \TeX{} Collection DVD). + +Za pomoc╠ przycisku \guiseq{TLroot} mo©esz wybraФ katalog, w~ktСrym chcesz +zainstalowaФ \TL. Wybrany katalog zostanie wpisany do zmiennej ╤rodowiskowej +\texttt{TLroot} do pС╪niejszego u©ycia. Przyciski \guiseq{TEXMFTEMP} +i~\guiseq{TEXMFCNF} wskazuj╠ relatywne do \guiseq{TLRoot} katalogi (pod +koniec instalacji zostan╠ przypisane zmiennym ╤rodowiskowym +\texttt{TEXMFTEMP} i~\texttt{TEXMFCNF}). Katalogi te s╠ automatycznie +aktualizowane przy zmianie TLroot. + +W~sekcji \guiseq{Wybierz schemat} nale©y wybraФ odpowiedni schemat +instalacyjny \TL{} przez naci╤niЙcie jednego z~dostЙpnych przyciskСw +radiowych (np. \guiseq{scheme-gust}). Przy nazwie ka©dego schematu znajduje siЙ +przycisk \guiseq{Informacje}, po naci╤niЙciu ktСrego wy╤wietlana jest lista +kolekcji zawarta w~wybranym schemacie. + +Schematy to obszerne zestawy pakietСw przeznaczone do wstЙpnego wyboru +instalowanych komponentСw. Mamy do wyboru schematy dla podstawowej, +przeciЙtnej i~peЁnej instalacji, pozostaЁe przygotowano z~my╤l╠ o~wybranych +grupach u©ytkownikСw (np.~GUST i~GUTenberg przygotowaЁy schematy dla swoich +czЁonkСw) lub zastosowaniach (np.~XML lub Omega). WstЙpnie wybrane schematy +mo©na modyfikowaФ. Dodatkowe kolekcje mo©na wybraФ w~sekcji +\guiseq{Modyfikacja schematСw}. Na przykЁad po naci╤niЙciu przycisku +\guiseq{Wybierz} obok \guiseq{Kolekcji standardowych} mo©na wybraФ dodatkowe +kolekcje, takie jak Metapost, Omega lub dokumentacje w~rС©nych jЙzykach. +WybСr zaznaczamy haczykiem. + +\textbf{Uwaga:} + Kolekcje \guiseq{Ghostscript}, \guiseq{Perl} i~\guiseq{Wintools} s╠ +zaznaczone domy╤lnie i~powinny zostaФ zainstalowane, poniewa© s╠ wymagane +przez wiele programСw. Mo©na z~nich zrezygnowaФ, gdy masz je ju© +zainstalowane i~wiesz, co robisz. + +Ustawiane s╠ tak©e zmienne ╤rodowiskowe \verb|PERL5LIB| i~\verb|GS_LIB|. + +W~sekcji \guiseq{Modyfikacja schematСw}, po przyci╤niЙciu przycisku +\guiseq{Wybierz} przy \guiseq{Kolekcjach jЙzykСw}, otwiera siЙ okno, w~ktСrym +mo©na wybraФ do zainstalowania dodatkowe kolekcje z~pakietami dla obsЁugi +konkretnych jЙzykСw. WybСr zaznaczamy haczykiem. + +WЁa╤ciwa instalacja rozpoczyna siЙ po naci╤niЙciu przycisku +\guiseq{Instaluj}. Zaczekaj cierpliwie a© do pojawienia siЙ komunikatu +o~pomy╤lnym zakoЯczeniu instalacji. + +Do menu \guiseq{Start\arw Programy\arw TeXLive2005} dodawany jest skrСt +do \cmdname{tlpmgui}. + +Je╤li to bЙdzie konieczne (Win9x/WinME), bЙdziesz poproszony o~ponowne +uruchomienie komputera. + +\subsection{Uruchomienie z DVD} + +Przy uruchomieniu z DVD mamy dodatkow╠ zakЁadkЙ \guiseq{Uruchom z DVD}. +Pozwala ona przygotowaФ \TL{} do pracy wprost z dysku \acro{DVD} bez +instalacji. Po naci╤niЙciu przycisku \guiseq{Ustaw} dodawane s╠ zmienne +╤rodowiskowe i~generowane s╠ formaty na dysku lokalnym. +Od tej chwili mo©na korzystaФ z~\TL, pamiЙtaj╠c tylko o~wЁo©eniu pЁyty +do napЙdu DVD. + +%\smallskip {\small\noindent +%Bardziej zaawansowani u©ytkownicy (szczegСlnie ci, ktСrzy chc╠ +%uruchamiaФ programy z~wiersza poleceЯ i~samodzielnie modyfikowaФ +%ustawienia programСw) mog╠ przygotowaФ system, wykorzystuj╠c +%plik wsadowy \cmdname{mkloctex.bat} (katalog \dirname{bin/win32/}). +%Po skopiowaniu pliku na dysk twardy nale©y go uruchomiФ z~wiersza poleceЯ +%(okno DOS/CMD), podaj╠c dwa parametry: literЙ \CD{} i~literЙ dysku twardego, +%na ktСrym chcemy utworzyФ pomocnicze drzewko \TeX-owe. +%Po zapoznaniu siЙ z~koЯcowymi komunikatami wy╤wietlanymi +%przez program, zalecane jest wykonanie sugerowanych tam czynno╤ci. +% +%} + +\subsection{Programy pomocnicze dla Windows} +\label{sec:win-xemtex} + +Aby instalacja byЁa kompletna, \TL{} wymaga kilku pomocniczych +programСw, ktСre nie s╠ dostarczane wraz z~systemem Windows. +Wiele skryptСw napisano w~jЙzyku Perl, ponadto wiele narzЙdzi wymaga +programu Ghostscript (interpretera jЙzyka PostScript) do +rasteryzacji b╠d╪ konwersji plikСw. Przydatne s╠ tak©e w~wielu wypadkach +rС©ne programy do obrСbki grafiki. Wreszcie~-- posiadanie edytora +zorientowanego na ╤rodowisko \TeX{} znacznie uЁatwi pracЙ. + +Wszystkie takie programy dla Windows dosyФ Ёatwo znale╪Ф w~sieci, +ale poniewa© jest ich spory wybСr, postanowili╤my te najbardziej godne +polecenia umie╤ciФ w~dystrybucji \TL: +\begin{itemize*} +\item \cmdname{Ghostscript} 7.07; +\item minimaln╠ dystrybucjЙ \cmdname{Perl} 5.8, wystarczaj╠c╠ do + uruchomienia wszystkich, zawartych na \TL{} skryptСw perlowych; + %\item \cmdname{ImageMagick} 5.5.6 + %\item \cmdname{ISpell} -- korektor pisowni + %\item zaawansowany edytor \cmdname{XEmacs} 21.5.14 wraz z~kolekcj╠ + %pakietСw do wspomagania pracy w~╤rodowisku programСw \TeX-owych. +\item win-tools -- zestaw kilku przydatnych programСw (\texttt{bzip2}, +\texttt{gzip}, \texttt{jpeg2ps} i~\texttt{tiff2png}) +\end{itemize*} + +Powy©ej wymienione programy zapo©yczono z~dystrybucji \XEmTeX{}, +sukcesora fp\TeX. + +Programy \cmdname{Perl} i~\cmdname{Ghostscript} s╠ instalowane domy╤lnie, +poniewa© s╠ wymagane do uruchamiania wielu wa©nych narzЙdzi. +Istnieje jednak©e mo©liwo╤Ф rezygnacji z~instalowania obu tyvh programСw, je╤li +mamy je ju© dostЙpne w~systemie. + +Poni©ej zamieszczono listЙ miejsc, sk╠d mo©na pobraФ programy pomocnicze: + +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (uzupeЁniaj╠ce, przydatne + pakiety nale©y pobraФ z~zasobСw CPAN \url{http://cpan.org}) +\item[ImageMagick] bogaty zestaw narzЙdzi do wsadowego przetwarzania + plikСw graficznych (\url{http://www.imagemagick.com}) +\item[NetPBM] zamiast ImageMagick do przetwarzania i~konwersji plikСw + graficznych mo©emy u©yФ NetPBM (\url{http://netpbm.sourceforge.net/}) +\item[Edytory dla systemu \TeX{}] mamy tutaj spory wybСr, zale©ny od + indywidualnych preferencji u©ytkownika: + \begin{itemize*} + \item \cmdname{GNU Emacs} w~wersji klasycznej dla Windows + (\url{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, dostЙpny na \TL + w~katalogu \dirname{support/WinShell} (\url{http://www.winshell.de}) + \item \cmdname{WinEdt} -- bogaty edytor dla \TeX-a, dostЙpny jako + \emph{shareware} (\url{http://www.winedt.com}) + \item TeXnicCenter -- kolejny, dosyФ bogaty edytor + (\url{http://www.toolscenter.org/products/texniccenter/}) + \item \cmdname{Vim} -- rozbudowany i~bardzo silny edytor, wywodz╠cy siЙ + z~klasycznego dla systemСw Unix \cmdname{vi}, dostЙpny na \TL{} + w~katalogu \dirname{support/vim} (\url{http://www.vim.org}) + \item \cmdname{LEd} -- polski edytor dostЙpny z + \url{http://www.ctan.org/support/LEd} + \item \cmdname{SciTE} -- edytor dostЙpny w~sieci pod adresem: + \url{http://www.scintilla.org/SciTE.html} + \end{itemize*} +\end{description} + +Mo©emy zainstalowaФ z~sieci tak©e inne narzЙdzia, ktСrych zabrakЁo na +\TL{} z~powodСw licencyjnych. PrzykЁadem jest tu \cmdname{GSView}, +wygodny program wykorzystuj╠cy \cmdname{Ghostscript} do wy╤wietlania +i~drukowania plikСw PS/PDF. DostЙpny jest on m.in. +na \url{http://www.cs.wisc.edu/~ghost/gsview/}, a~tak©e na ka©dym serwerze +\acro{CTAN}. + +\section[Zarz╠dzanie systemem \protect\TL{} w~Windows]{Zarz╠dzanie + systemem \protect\TL{} w~Windows} +\label{sec:win-managing} + +Po zainstalowaniu \TL{} mo©na u©yФ \texttt{tlpmgui} razem z~\TL{} CD (lub \TeX{} +Collection DVD) do zmian i~administracji Twoj╠ instalacj╠. +SkrСt do \texttt{tlpmgui} dostЙpny jest w~menu \guiseq{Start\arw Programy\arw +TeXLive2005}. Okno programu zawiera tym razem nastЙpuj╠ce zakЁadki: +\guiseq{Dodawanie pakietСw}, \guiseq{Usuwanie pakietСw}, \guiseq{Zarz╠dzanie +instalacj╠} i~\guiseq{Odinstalowanie}. + +\subsection{Dodawanie/usuwanie pakietСw} + +ZakЁadki \guiseq{Dodawanie pakietСw} lub \guiseq{Usuwanie pakietСw} posiadaj╠ +nastЙpuj╠c╠ funkcjonalno╤Ф: + +\begin{itemize} +\item W~sekcji \guiseq{Przyciski} naci╤niЙcie przycisku \guiseq{Szukaj} +wypeЁnia/od╤wie©a zawarto╤Ф sekcji \guiseq{Wybierz pakiety do...} czyli +kolekcje i~pakiety do instalacji lub usuniЙcia. + +Podczas dodawania porСwnywana jest lista wszystkich pakietСw z~\acro{CD} (lub +\acro{DVD}) z~list╠ uprzednio zainstalowanych. Wy╤wietlane s╠ tylko +niezainstalowane pakiety. + +Przy usuwaniu wy╤wietlane s╠ tylko ju© zainstalowane pakiety. + +ProszЙ zwrСciФ uwagЙ, ©e w~obu zakЁadkach wy╤wietlane s╠ najpierw kolekcje, +a~nastЙpnie pojedyncze pakiety. + +\item Wybierz pakiet przez klikniЙcie na jego nazwie. Zostanie on +pod╤wietlony. Po naci╤niЙciu przycisku \guiseq{Informacje} wy╤wietlany bЙdzie +po prawej krСtki opis. Dla wielokrotnego wyboru zaznaczaj kolejne elementy na +li╤cie, klikaj╠c na nie przy uprzednio przyci╤niЙtym klawiszu Ctrl lub Shift. +Mo©na zaznaczaФ rСwnie© przyciskaj╠c lewy klawisz myszy i~przeci╠gaj╠c mysz +w~dСЁ albo w~gСrЙ. + +\item Naci╤nij przycisk \guiseq{Instaluj} lub \guiseq{UsuЯ} w~sekcji +\guiseq{Przyciski} by wykonaФ odpowiednie polecenie. +\end{itemize} + +\subsection{Konfigurowanie i inne zadania administracyjne} + +Polecenia dostЙpne w~zakЁadce \guiseq{Zarz╠dzanie instalacj╠} s╠ pomocne +przy wykonywaniu czynno╤ci po dodaniu pakietСw jЙzykowych, fontСw czy +formatСw, a~tak©e przy od╤wie©aniu bazy danych instalacji, czy rЙcznym +dodawaniu pakietСw (bez pomocy \texttt{tlpmgui}). + +Mo©emy tu wykonaФ nastЙpuj╠ce czynno╤ci: + +\begin{itemize} +\item Od╤wie©enie bazy danych \filename{ls-R} +\item Tworzenie formatСw (wszystkich lub brakuj╠cych) +\item Edycja \filename{language.dat} +\item Edycja \filename{fmtutil.cnf} +\item Edycja \filename{updmap.cfg} +\end{itemize} + +Uwaga: okno Edycja\dots{} mo©na zamkn╠Ф przyciskiem \guiseq{Anuluj} lub +\guiseq{Gotowe}; w~tym drugim wypadku zostan╠ odbudowane pliki formatСw +(b╠d╪ mapy fontowe, gdy edytowano \filename{updmap.cfg}), a~nastЙpnie zostan╠ +od╤wie©one bazy danych instalacji (pliki \filename{ls-R}). + +WiЙcej informacji na temat indywidualnej konfiguracji zawarto +w~czЙ╤ci~\ref{sec:persconf}, na str.~\pageref{sec:persconf}. + +\subsection{Odinstalowanie \protect\TL{}} + +ZakЁadka \guiseq{Odinstalowanie} udostЙpnia polecenie, ktСrego dziaЁanie nie +jest warte opisu i~nie wiadomo komu jest ono potrzebne\dots :-) + +\textbf{Uwaga:} katalogi \path|texmf-local| (zawieraj╠cy prywatne fonty, makra +itp.) oraz \path|setup-win32| (zawieraj╠cy \texttt{tlpmgui} i~zwi╠zane z~nim +pliki) nie s╠ usuwane podczas odinstalowania. Katalogi te nale©y usun╠Ф +samodzielnie. + +\subsection{Dodawanie wЁasnych pakietСw do instalacji} + +Gdy zamierzamy dodaФ pakiety, ktСrych brak w~dystrybucji +\TL, warto instalowaФ je w~katalogu +specyfikowanym przez zmienn╠ \envname{\$TEXMFLOCAL}. W~ten sposСb +zabezpieczymy te pakiety podczas aktualizacji/wymiany oprogramowania +\TL{}. + +Katalog wskazywany przez \envname{\$TEXMFLOCAL} jest pocz╠tkowo pusty. +PrzykЁadowo: dodajemy pakiet dla Maple (przetwarzanie symboliczne); +pliki stylСw nale©y skopiowaФ do katalogu +\path|...\texmf-local\tex\latex\maple\| \ +za╤ pliki dokumentacji do katalogu +\path|...\texmf-local\doc\latex\maple\| + +Na zakoЯczenie nale©y \textbf{koniecznie} zaktualizowaФ bazЙ danych +instalacji \texttt{ls-R}: albo poprzez wybСr z~menu programu \texttt{tlpmgui}, +albo przez uruchomienie z~linii poleceЯ \file{mktexlsr}. + +\subsection{Uruchamianie \texttt{tlmp.exe} z linii poleceЯ} + +Program \cmdname{tlpm.exe} jest intensywnie u©ywany jako ,,silnik'' +\cmdname{tlpmgui}. Mo©e byФ uruchamiany samodzielnie z~linii poleceЯ +i~posiada wiele u©ytecznych opcji, ktСre mo©na wy╤wietliФ po uruchomieniu: +\begin{verbatim} +tlpm --help +\end{verbatim} + +WiЙcej informacji i~przykЁadСw u©ycia mo©na znale╪Ф +w~pliku \path|tlpm.readme| (katalog \path|setup-win32|). + +\subsection{Instalacja sieciowa} + Biblioteka \KPS{} + %(patrz rozdziaЁ \ref{}) + rozpoznaje nazwy UNC, wobec tego +mo©emy ich u©yФ dla specyfikacji drzew katalogСw TEXMF udostЙpnianych w~sieci +komputerowej. Wszystkie pliki z~wyj╠tkiem zawartych w~katalogu +\texttt{bin/win32} mog╠ byФ wspСЁdzielone z~instalacjami \teTeX{} lub \TL{} +systemСw Unix/Linux. Oznacza to, ©e mo©na u©yФ Samby do zamontowania serwera +NT dla stacji roboczej Unix lub odwrotnie: serwer np. Linux mo©e udostЙpniaФ +zasoby dla stacji Windows. + +\noindent DostЙpne s╠ nastЙpuj╠ce mo©liwo╤ci: + \begin{itemize} +\item Instalacja caЁego oprogramowania na serwerze. Wystarczy dodaФ + binaria dla wymaganych systemСw w~podkatalogach \texttt{bin}, np. + \texttt{bin/win32} i~\texttt{bin/i386-linux}, nastЙpnie nale©y ustawiФ gЁСwne + zmienne ╤rodowiska. W~Windows mo©na u©yФ nazw UNC dla wskazania odpowiednich + katalogСw. +\item Instalacja lokalnych kopii binariСw i~plikСw formatСw. W~tym wypadku + nale©y przypisaФ zmienn╠ \envname{\$TEXMFMAIN} do katalogu dostЙpnego + na zdalnej maszynie (w~sieci), a~zmienn╠ \envname{\$VARTEXMF} + do katalogu, ktСry bЙdzie przechowywaЁ lokalne pliki konfiguracyjne + i~inne generowane pliki. +\end{itemize} + + +\subsection{RС©nice w~stosunku do standardowego \Webc{} w~systemach Win32} +Programy \Webc{} dziaЁaj╠ce w~systemach Win32 posiadaj╠ szczegСlne cechy, +o~ktСrych warto wspomnieФ: + +\begin{description} +\item[\KPS{}] -- tablice haszowe, tworzone w~\TL{} przez bibliotekЙ + \KPS{}, s╠ bardzo du©e. Aby skrСciФ czas uruchamiania dowolnego programu, + wykorzystuj╠cego \KPS{}, tablice haszowe zostaj╠ umieszczone w~pamiЙci + wspСЁdzielonej przez procesy. W~ten sposСb zmniejszono znacznie czas + uruchamiania programСw wywoЁywanych kolejno, jeden przez drugi + (np. \texttt{tex} wywoЁuj╠cy \texttt{mpost} wywoЁuj╠cy \texttt{tex}). + ZmianЙ tЙ ukryto przed u©ytkownikiem, z~wyj╠tkiem sytuacji, gdy + zostanie u©yta opcja~\texttt{-1} dla diagnostyki dziaЁania \KPS; + mo©na wtedy ╤ledziФ wykorzystanie pamiЙci wspСЁdzielonej. +\item[\cmdname{kpsecheck}] -- program ten oferuje kilka opcji + uzupeЁniaj╠cych dla programu \cmdname{kpsewhich}. + Pozwala na wylistowanie wszystkich plikСw, ktСre wystЙpuj╠ wielokrotnie + w~dostЙpnych drzewach katalogСw texmf. Mo©e to byФ przydatne, choФ + czЙsto mo©emy otrzymywaФ niepo©╠dane komunikaty o~dziesi╠tkach plikСw typu + \texttt{README}. Warto tu wspomnieФ, ©e takie pliki powoduj╠ + ,,zapychanie'' siЙ mechanizmu haszowego \KPS{}; na szczЙ╤cie biblioteka ta + nigdy ich nie wyszukuje. Aby tego unikn╠Ф, nale©y u©yФ opcji + \texttt{-multiple-occurences} wraz z~dwiema innymi, pozwalaj╠cymi + podaФ wzorce nazw do pominiЙcia lub wЁ╠czenia w~procesie przeszukiwania + (mo©na podaФ kilka wzorcСw). + + \cmdname{kpsecheck} raportuje tak©e stan pamiЙci wspСЁdzielonej: u©ywanej + i~nieu©ywanej. Warto czasem o~tym wiedzieФ, gdy© pokazywany + status ,,pamiЙФ w~u©yciu'' mo©e oznaczaФ, ©e dziaЁa kilka procesСw + i~efekt wykonania polecenia \cmdname{mktexlsr} zostanie ka©dorazowo + opС╪niony do czasu, a© nie bЙdzie pracowaЁ ©aden program korzystaj╠cy + z~\KPS{}. + + \cmdname{kpsecheck} pozwala tak©e okre╤liФ poЁo©enie programu +Ghostscript. W~systemach Win32 Ёatwiej jest wielu programom skorzystaФ +z~biblioteki DLL programu Ghostscript i~znale╪Ф j╠ na podstawie rejestrСw +systemowych, ni© na podstawie zmodyfikowanej przez u©ytkownika zmiennej +\envname{PATH} (ponadto zmienne ╤rodowiskowe, szczegСlnie w~starszych + wersjach systemu Windows, maj╠ do╤Ф ograniczon╠ pojemno╤Ф). +\item[\Webc{}] -- programy dla Windows posiadaj╠ kilka dodatkowych opcji + nieobecnych w~wersjach kompilowanych dla Unix i~jedn╠ dziaЁaj╠c╠ nieco + inaczej: + \begin{itemize} + \item \texttt{-halt-on-error} pozwala zatrzymaФ przetwarzanie + na pierwszym napotkanym bЁЙdzie; + \item \texttt{-job-time} ustawia czas tworzonych plikСw na taki sam + jak pliku przetwarzanego; + \item \texttt{-time-statistics} wy╤wietla statystyki dotycz╠ce czasu + przetwarzania; warto tu wspomnieФ, ©e systemy Win9x, nie bЙd╠c prawdziwymi + systemami wielozadaniowymi, nie maj╠ prawidЁowo dziaЁaj╠cego pomiaru + czasu dla krСtkotrwaЁych procesСw, wobec tego wy╤wietlane warto╤ci s╠ + jedynie przybli©one; w~NT/2K/XP wyniki s╠ bardziej dokЁadne; w~Win32 brak + polecenia \texttt{time} znanego z~systemСw Unix. + \end{itemize} +\end{description} + + +\subsection{Konfiguracja indywidualna} +\label{sec:persconf} +\subsubsection{Dvips} + +Plik konfiguracyjny \verb+config.ps+ programu Dvips znajduje siЙ +w~katalogu \path|C:\TeXlive2005\texmf-var\dvips\config\|. +Plik ten mo©na otworzyФ w~dowolnym edytorze (np. w~\cmdname{WinShell}) +po to, aby zmieniФ niektСre parametry dziaЁania Dvips. Najwa©niejsze z~nich +zgrupowano w~blokach deklaracji: + +\begin{description} +\item [fonty] -- mo©na zmieniФ domy╤lne parametry generowania fontСw +przez \MF{}-a dla danej drukarki (parametr \texttt{M}) i~rozdzielczo╤Ф +(parametry \texttt{D}, \texttt{X}, \texttt{Y}). Standardowo +fonty generowane s╠ dla drukarek laserowych, zgodnych z~Hewlett Packard +(tryb ljfour), w~rozdzielczo╤ci 600~dpi. Domy╤lnie ustawiono wykorzystanie +fontСw CM (oraz PL) w~ich wersji obwiedniowej (Type~1), wobec tego +Dvips nie powinien odwoЁywaФ siЙ zbyt czЙsto do programu +\cmdname{mktexpk}. +\item[drukarka] -- parametr `o' okre╤la nazwЙ portu/przekierowania wydruku. +Gdy nie wpisano nazwy drukarki (portu), wynik pracy bЙdzie +zapisywany w~pliku PostScriptowym \verb+.ps+. DrukarkЙ specyfikujemy +jednym z~poni©szych sposobСw: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} + %\item[mapy fontowe] -- do standardowej mapy fontowej \verb+psfonts.map+ + % (wiersz: \verb+p psfonts.map+) mo©emy doЁ╠czyФ dodatkowe mapy fontowe, + % np.: + %\begin{verbatim} + %p +bsr.map + %p +hoekwater.map + %\end{verbatim} + %parametr \verb+p+ musi znajdowaФ siЙ w~pierwszej kolumnie; nazwy plikСw + %z~doЁ╠czanymi mapami poprzedzamy znakiem \texttt{+}; zbЙdne mapy + %mo©na wyЁ╠czyФ, wstawiaj╠c na pocz╠tku wiersza znak komentarza (\texttt{\%}). + %Wymienione w~przykЁadzie mapy dotycz╠ doЁ╠czania wersji obwiedniowej fontСw + %CM produkcji Blue Sky Research (bsr.map) i~dodatkowych fontСw logo, wasy, + %stmaryrd, wykonanych przez Taco Hoekwatera (hoekwater.map). +\item[papier] -- domy╤lnie Dvips tworzy dokumenty dla formatu A4. + Zmiana formatu (np. na US Letter) wymaga przeniesienia jego definicji + na pocz╠tek bloku deklaracji formatСw (blok ten rozpoczynaj╠ wiersze + ze znakiem \texttt{@}). Na pocz╠tek bloku trzeba wiЙc przenie╤Ф wiersze: +\begin{verbatim} +@ letterSize 8.5in 11in +@ letter 8.5in 11in +@+ %%BeginPaperSize: Letter +@+ letter +@+ %%EndPaperSize +\end{verbatim} +\end{description} + +\textbf{Uwaga:} obecna dystrybucja \TL{} posiada uЁatwion╠ +procedurЙ automatycznej aktualizacji map fontowych dla Dvips +i~Pdftex, wykonywan╠ przez program \cmdname{updmap}. +Po dodaniu pakietСw z~fontami nale©y zmodyfikowaФ plik \verb+updmap.cfg+ +w~katalogu \path|$VARTEXMF/web2c|, a~nastЙpnie uruchomiФ program +\verb+updmap+. Obie czynno╤ci wykonuje odpowiednie menu programu +\guiseq{tlpmgui}. + +\subsubsection{Pdftex} +Konfiguracja programu pdf(la)tex wymaga modyfikacji pliku\\ +\verb+...\TeXlive\texmf-var\generic\config\pdftexconfig.tex+\\ + %W pliku tym mo©emy deklarowaФ dodatkowe mapy fontowe wczytywane przez + %program, choФ obecnie tworzone s╠ one automatycznie + %przez program \cmdname{updmap} (patrz ,,Uwaga'' zamieszczona powy©ej). + %Stosowana jest tu nieco + %inna notacja ni© w~\verb+config.ps+: + %\begin{verbatim} + %map pdftex.map + %map +lw35.map + %%map +rawfonts.map + %\end{verbatim} + Mo©na tu ustawiФ parametry pracy programu \texttt{pdftex}: +rozmiar papieru, stopieЯ kompresji itp. Na przykЁad rozmiar strony dla +formatu letter ustawia siЙ nastЙpuj╠co: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} + +\subsubsection{GSView} +Pocz╠wszy od wersji zgodnej z~Ghostscript 6.50, GSView jest niestety +programem \textit{shareware}, wobec tego nie mСgЁ znale╪Ф siЙ na \CD. + +Parametry pracy programu s╠ ustawiane m.in. w~menu \verb+Media+. +W~podmenu \texttt{Display Settings} mo©na poprawiФ (kosztem szybko╤ci pracy) +sposСb wy╤wietlania: parametry \texttt{Text Alpha} +i~\texttt{Graphics Alpha} nale©y ustawiФ na 4~bity. +W~menu \verb+Media+ mo©na te© okre╤liФ rozmiar papieru i~jego orientacjЙ. + +Uwagi dotycz╠ce drukowania zawarto poni©ej, w~podrozdziale~\ref{printing}. + +\subsubsection{WinDvi} +\label{sec:windvi} + Program \file{tlpmgui.exe} ustawia skojarzenie plikСw \verb+.dvi+ +z~uruchamianiem programu \file{Windvi}, ale nie tworzy dla tego programu +ikony na pulpicie. W~miarЙ potrzeby nale©y zatem wykonaФ to samodzielnie b╠d╪ +uruchamiaФ program z~linii poleceЯ lub menu edytora (po jego odpowiednim +skonfigurowaniu). + +W~menu \texttt{View} +\verb+->+\texttt{Options} mo©na ustawiФ niektСre parametry pracy Windvi, +np. mo©liwo╤Ф uruchamiania programСw zewnЙtrznych (\texttt{Allow shell}), +automatyczne od╤wie©anie zmienionego pliku .dvi (\texttt{Autoscan}), +tryb pracy \MF{}-a i~rozdzielczo╤Ф generowanych fontСw (\texttt{MF mode} +i~\texttt{Pixels per inch}), wspСЁpracЙ z~Ghostscriptem (\texttt{Postscript}) +itp. Po zakoЯczeniu pracy programu parametry zapisywane s╠ +w~pliku \verb+$HOME/windvi.cnf+ (lub \verb+Moje dokumenty/windvi.cnf+). +PoЁo©enie tego pliku mo©na ustaliФ po uruchomieniu z~wiersza poleceЯ: +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} +W~wypadku bЁЙdnego ustawienia parametrСw pracy Windvi plik konfiguracyjny +wystarczy skasowaФ. + +\subsection{Testowanie} + +OgСlne wskazСwki dotycz╠ce weryfikacji instalacji zawarto +w~czЙ╤ci~\ref{sec:test-install}, na str.~\pageref{sec:test-install}. +Tutaj omСwimy jedynie kwestie specyficzne dla Windows. + +Dla szybkiej kontroli poprawno╤ci instalacji nale©y uruchomiФ +edytor i~otworzyФ plik \verb+sample2e.tex+ +(znajduje siЙ on w~katalogu \path|C:\TeXLive2005\texmf\tex\latex\base\|). +Na belce z~narzЙdziami wybraФ z~menu \guiseq{Command\arw LaTeX} (XEmacs) +lub wcisn╠Ф ikonЙ uruchamiania programu \verb+latex+ (WinShell). +NastЙpnie wybraФ z~menu \guiseq{Command\arw View DVI} (XEmacs), lub +wcisn╠Ф ikonЙ podgl╠du DVI (WinShell). Pierwsze uruchomienie \verb+windvi+ +zazwyczaj automatycznie generuje wymagane fonty ekranowe. Po kilku sesjach +komunikaty dotycz╠ce generowania fontСw stan╠ siЙ rzadsze. + %Warto ponadto wyprСbowaФ uruchamianie Dvips i~GSView z~programu + %\cmdname{WinShell}. + +\textbf{WskazСwka:} je╤li program \verb+latex+ nie mo©e znale╪Ф pliku +do przetwarzania, naci╤niЙcie \textbf{Ctrl-Z} spowoduje natychmiastowe +zakoЯczenie jego pracy. + +\subsection{Drukowanie}\label{printing} +Drukowanie bezpo╤rednio z~programu Windvi odbywa siЙ z~wykorzystaniem +uniwersalnego sterownika druku systemu Windows. Z~definicji powinien byФ +on zgodny z~wiЙkszo╤ci╠ drukarek, jednak©e ma on tendencjЙ do tworzenia +olbrzymich +plikСw kolejek (spool) i~niektСre (starsze) wersje Windows po prostu +tego nie akceptuj╠. Zalet╠ sterownika jest jedynie mo©liwo╤Ф obsЁugi +grafik BMP i~WFM. Stosuj╠c metodЙ druku via sterownik Windows nale©y +prawidЁowo ustawiФ parametry rozdzielczo╤ci (patrz +podrozdziaЁ~\ref{sec:windvi}), w~przeciwnym wypadku otrzymany wydruk mo©e byФ +przeskalowany (np. drukuj╠c w~rozdzielczo╤ci 600dpi na drukarce 300dpi +otrzymamy niespodziewanie 1/4 zamierzonego rozmiaru wydruku). + +Drukowanie znacznie szybsze i~bardziej niezawodne zapewni konwersja pliku +\verb+.dvi+ do \verb+.ps+ programem Dvips i~wykorzystanie GSView. Z~menu +\verb+Plik+ nale©y wybraФ \verb+Drukuj+, co wy╤wietli okno dialogowe +z~szeregiem opcji. Gdy mamy drukarkЙ PostScriptow╠, nale©y wybraФ +\texttt{PostScript printer}. Drukowanie na drukarkach bez interpretera +PostScript wymaga zaznaczenia opcji \texttt{Ghostscript device} +(w~sekcji ,,Print Method'' okna) i~wybrania przyciskiem po prawej stronie +odpowiedniego urz╠dzenia. + +%%% +\subsection{\cmdname{WinShell}}\label{sec:winshell} + +Je╤li nie decydujemy siЙ na rozbudowany (ale i~bardzo silny) edytor +XEmacs, mo©emy samodzielnie zainstalowaФ prosty i~Ёatwy w~obsЁudze +edytor WinShell. Znajdziemy go na pЁytkach w~katalogu +\dirname{support/WinShell}. Wystarczy dwukrotnie klikn╠Ф klawiszem myszy +na znajduj╠cym siЙ tam pliku \texttt{.exe}. +Program uruchamiamy z~menu Start b╠d╪ z~ikony/skrСtu na pulpicie. +Dostosowanie do polskiej wersji Windows wymaga, prСcz okre╤lenia jЙzyka +dla menu i~komunikatСw, u©ycia menu +\verb+Opcje+ (Options) \verb+->+ \verb+Font+ \verb+->+ \verb+ZmieЯ+ +i~wyboru w~wy╤wietlonym oknie \texttt{Skrypt} +napisu \texttt{Europa ╕rodkowa}. DziЙki temu wpisywane za pomoc╠ +prawego klawisza Alt polskie znaki diakrytyczne bЙd╠ prawidЁowo +wy╤wietlane. + +Aby skonfigurowaФ uruchamianie programСw otwieramy menu +\texttt{Options} \verb+->+ \texttt{Program Calls}. + +\begin{itemize}\itemsep 0pt +\item W zakЁadce DVIWin, w~polu ,,exe-file'', powinno byФ ju© wpisane +\texttt{windvi.exe}. +\item W zakЁadce Ghostview nale©y sprawdziФ, czy prawidЁowo podano +╤cie©kЙ dla gsview32.exe:\\ +\hspace*{1em} \verb+C:\ghostgum\gsview\gsview32.exe+ (dla wersji 3.6 +i~nowszych). +\end{itemize} +Wciskaj╠c przycisk \texttt{OK} zatwierdzamy zmiany. + +Instalacja programu ustawia w~Windows skojarzenie plikСw \texttt{.tex} +z~uruchamianiem \cmdname{WinShell}. DopСki nie zamierzamy korzystaФ +z~innego edytora (jak WinEdt lub Emacs) jest to poprawne. + +%\cmdname{WinShell} niestety nie posiada wbudowanej korekty pisowni, +%niemniej jednak po zainstalowaniu zestawu \path|extrabin| +%mamy do dyspozycji program \cmdname{Ispell} (program korekty pisowni, znany +%z~systemСw Unix). Poniewa© znajduje siЙ on w~╤cie©ce przypisanej +%zmiennej PATH, \verb+ispell.exe+ mo©e byФ uruchamiany z~linii +%poleceЯ (okno DOS). InformacjЙ +%o~Ispell mo©na znale╪Ф~w: \OnCD{texmf/doc/html/manpages/ispell.html} +%Na \CD{} dostЙpny jest sЁownik Ispell dla jЙzyka polskiego; +%typowe uruchamianie programu: \verb+ispell -t -b -d polish-win plik.tex+ +%powoduje wczytanie sЁownika w~kodowaniu Windows cp1250. +% +%Ispell mo©na uruchamiaФ z poziomu \cmdname{WinShell}; +%w~podrozdziale~\ref{winshell:ispell} opisano jak dodaФ uruchamianie polecenia +%do menu edytora. + +\cmdname{WinShell} posiada pomoc, dostЙpn╠ po naci╤niЙciu symbolu +$\textbf{\underbar{?}}$ na belce z~narzЙdziami. + +\subsubsection{U©ycie plikСw ,,projektu''} + Wielokrotnie mamy do czynienia z~dokumentami skЁadaj╠cymi siЙ z~wielu +czЙ╤ci. Najwygodniej gdy s╠ one zapisane w~odrЙbnych plikach. +\cmdname{WinShell} umo©liwia utworzenie pliku projektu (\textit{Project +file}), w~ktСrym deklarujemy poszczegСlne czЙ╤ci wiЙkszego dokumentu. Nazwy +pliku projektu, traktowanego jako gЁСwny edytowany plik (\textit{Main file}), +oraz plikСw czЙ╤ci s╠ wy╤wietlane w~lewym oknie edytora. Dwukrotne klikniЙcie +mysz╠ na nazwie pliku pozwala na szybki wybСr i~wy╤wietlenie potrzebnego +pliku w~gЁСwnym oknie edytora. Naci╤niЙcie ikony LaTeX na belce narzЙdziowej +uruchamia zawsze przetwarzanie gЁСwnego pliku, bez wzglЙdu na to ktСry plik +jest aktualnie wy╤wietlany. + +Na belce narzЙdziowej mamy dodatkowe przyciski pozwalaj╠ce wyЁ╠czyФ lub +wЁ╠czyФ wy╤wietlanie okna projektu (po lewej stronie) i~okna zapisu sesji +(log) -- na dole. Gdy plik projektu nie jest u©ywany, lew╠ czЙ╤Ф okna mo©na +zamkn╠Ф, wykorzystuj╠c caЁ╠ szeroko╤Ф ekranu dla edytowanego pliku. + +\subsubsection{Drukowanie z~\cmdname{WinShell} na drukarce PostScriptowej} +\label{winshell:print} + Ikona Dvips belki narzЙdziowej uruchamia program, ktСry wynik pracy +zapisuje zwykle w~pliku \verb+.ps+. Ogl╠danie i/lub drukowanie takiego pliku +wymaga uruchomienia GSView. \cmdname{WinShell} pozwala zdefiniowaФ +wygodne wywoЁanie polecenia dvips, ktСre wynik przetwarzania wy╤le od razu +do drukarki posiadaj╠cej interpreter PostScript. PrzykЁadowo, dla drukarki +o~nazwie \texttt{vclw}, postЙpowanie bЙdzie nastЙpuj╠ce: +\begin{enumerate} +\item Deklaracja danej drukarki w programie: +\begin{itemize} +\item otworzyФ \cmdname{WinShell}, wybraФ menu \texttt{Opcje} \verb+->+ + \texttt{Programy u©ytkownika}. +\item wybraФ \texttt{Tool 1} w~spisie po prawej stronie i~wypeЁniФ 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 narzЙdziowej: +\begin{itemize} +\item wybraФ menu \texttt{Opcje} \verb+->+ \texttt{Przegl╠daj} \verb+->+ + \texttt{Dostosuj paski}; +\item w okienku \verb+Kategoria+ wybraФ \texttt{Programy u©ytkownika}; +\item wskazaФ \texttt{Drukuj} i przeci╠gn╠Ф go mysz╠ na belkЙ narzЙdziow╠, + umieszczaj╠c w~dowolnym miejscu obok innych poleceЯ; +\item w kolejno wy╤wietlanym oknie dokonaФ wyboru: ,,Tylko obrazek'' (Image +only), ,,Tylko tekst'' lub ,,Tekst i~obrazek''; najpro╤ciej wybraФ +,,Tylko tekst'' i~zatwierdziФ guzikiem + \texttt{OK}. + Napis \texttt{Drukuj} uka©e siЙ na belce. (Bardziej wymagaj╠cy u©ytkownicy + mog╠ wybraФ opcjЙ ,,Tylko obrazek'', nastЙpnie ,,Edytuj'' i~skonstruowaФ + sobie wЁasn╠ ikonkЙ.) +\end{itemize} +\end{enumerate} +Uruchamianie polecenia zostaЁo zdefiniowane. Aby drukowaФ bezpo╤rednio na +drukarce wystarczy teraz nacisn╠Ф guzik z~napisem ,,Drukuj''. + +%\subsubsection{Dodanie Ispell do \cmdname{WinShell}} +%\label{winshell:ispell} +%\begin{enumerate} +%\item Deklaracja polecenia Ispell: +%\begin{itemize} +%\item otworzyФ \cmdname{WinShell}, wybraФ menu \texttt{Opcje} \verb+->+ +% \texttt{WywoЁanie programСw} \verb+->+ \texttt{User defined}. +%\item wybraФ \texttt{Tool 1} (lub \texttt{Tool 2}, je╤li \texttt{Tool 1} +% zostaЁo ju© u©yte) i~wypeЁniФ pola po lewej stronie okna:\vspace{-3pt} +%\begin{quote} +% Name: \verb+Ispell+\\ +% exe file: \verb+ispell+\\ +% cmd-line: \verb+ -t -d polish-win %c.tex+\\ +% skasowaФ zaznaczenie okienek ,,najpierw LaTeX'' i ,,najpierw DVIPS'' +%\end{quote}%\vspace{-12pt} +%\item nacisn╠Ф \texttt{OK}. +%\end{itemize} +%\item Dodanie polecenia ,,Ispell'' do belki narzЙdziowej +% -- analogicznie jak powy©ej, dla polecenia ,,Drukuj''. +%\end{enumerate} +% Gdy mamy otwarty dokument \TeX-owy, naci╤niЙcie guzika ,,Ispell'' uruchomi +%w~odrЙbnym oknie program Ispell, ktСry rozpocznie sprawdzanie pisowni. +%Niepoprawne (lub nieznane) sЁowo zostanie wy╤wietlone, poni©ej pojawi +%siЙ kontekst i~czasem sugestie jak naprawiФ bЁ╠d (naci╤niЙcie klawisza +%cyfry umieszczonej obok sugerowanego sЁowa dokona zamiany +%bЁЙdnie napisanego sЁowa). Inne reakcje na bЁ╠d s╠ wy╤wietlane +%u~doЁu ekranu, np. naci╤niЙcie klawisza spacji ignoruje dany bЁ╠d i~wznawia +%wyszukiwanie. WiЙcej informacji na temat Ispell mo©na znale╪Ф +%w:~\verb+C:\Program Files\TeXlive\texmf\doc\html\manpages\ispell.html+. +% +%Uwaga: poprawione sЁowa nie uka©╠ siЙ w~oknie \cmdname{WinShell} +%dopСki plik nie zostanie zamkniЙty (przez naci╤niЙcie X w~prawym gСrnym +%rogu okna edytora) i~ponownie otwarty (z~menu Plik). + +\subsection{WskazСwki dla u©ytkownikСw Win32} + +\subsubsection{RС©ne wcielenia Win32} +To, co nazywamy Win32 nie jest wЁa╤ciwie systemem operacyjnym a~jedynie +zbiorem funkcji, z~ktСrych wiele (ok. 12000) mo©na u©yФ do pisania +programСw dla rС©nych systemСw operacyjnych rodziny Windows. Spotykamy +rС©ne wersje Windows: +\begin{itemize} +\item Win95 i Win98, ktСre \emph{nie s╠ prawdziwymi systemami +wielozadaniowymi i~wielow╠tkowymi}. S╠ to ostatnie (na szczЙ╤cie) +metamorfozy systemu DOS, co mo©na sprawdziФ podczas startu systemu, +wymuszaj╠c Ёadowanie tylko wiersza poleceЯ: polecenie \texttt{ver} +zwrСci wtedy np. napis ,,MS-DOS 7.0''. +\item NT, nowy system operacyjny, napisany od podstaw, wyposa©ony + w~prawdziwe mo©liwo╤ci wielozadaniowo╤ci i~inne zaawansowane cechy. +\item Windows 2000, oparty na NT, z~wszystkimi cechami zewnЙtrznymi + Win98. +\item Windows XP, wystЙpuj╠cy w~odmianach Personal i~Pro, jest ostatnim + krokiem poЁ╠czenia cech obu linii produktСw Win9x i~NT. +\end{itemize} + +Win9x maj╠ mo©liwo╤Ф uruchamiania jednocze╤nie programСw 16- +i~32-bi\-to\-wych, ale poniewa© sam system nie jest w~caЁo╤ci +napisany dla trybu 32-bi\-to\-wego i~nie posiada ochrony pamiЙci, programy +16-bi\-to\-we mog╠ nadpisywaФ czЙ╤Ф pamiЙci wykorzystywanej przez system! +NiektСre elementy systemu, jak GDI (\emph{Graphical Device Interface}) +zarz╠dzaj╠ w~sposСb ograniczony zasobami (bitmapy, fonty itp.) +gdy wszystkie uruchomione programy jednocze╤nie korzystaj╠ z~tych zasobСw. +Wszystkie nagЁСwki bitmap dostЙpnych w~tym samym czasie nie mog╠ przekroczyФ +granicy 64KB. Jest to przyczyna spotykanego czЙsto gwaЁtownego spadku +wydajno╤ci systemu i~jego zawieszania. + +NT i W2K i~XP nie posiadaj╠ takich ograniczeЯ. S╠ to systemy w~peЁni +wielozadaniowe i~z~ochron╠ pamiЙci. Wydaj╠ siЙ bardziej stabilne, +poniewa© lepiej zarz╠dzaj╠ pamiЙci╠, posiadaj╠ lepszy system plikСw itp. + +\subsubsection{Wiersz poleceЯ} + Wielu u©ytkownikСw mo©e zadaФ pytanie: ,,po co u©ywaФ wiersza poleceЯ +w~systemie Windows?''. Dobre pytanie! Problem ma naturЙ bardziej ogСln╠. +OtС© nie wszystkie zadania daje siЙ wykonaФ jedynie przy u©yciu interfejsu +graficznego (\acro{GUI}). Wiersz poleceЯ dostarcza wielu mo©liwo╤ci rasowego +programowania (zakЁadaj╠c posiadanie przyzwoitego interpretera poleceЯ). + +\TeX{} jest programem dziaЁaj╠cym \emph{wsadowo} (\emph{batch}), +a~nie interakcyjnie: wylicza najlepszy wygl╠d ka©dej strony, rozwi╠zuje +odesЁania itp. Taki charakter pracy mo©liwy jest jedynie podczas +globalnego przetwarzania dokumentu, nie ma tu mo©liwo╤ci interakcji. +Oznacza to, ©e program \TeX{} powinien byФ u©ywany z~linii poleceЯ. +W~istocie nie jest to takie zЁe. Programy dziaЁaj╠ce wsadowo, przeznaczone +do skomplikowanych zadaЯ, s╠ zwykle lepiej opracowane i~pozbawione bЁЙdСw, +poniewa© nie s╠ zwi╠zane z~graficznym interfejsem. Do uruchamiania +takich programСw mo©na zawsze opracowaФ interfejs graficzny, przekazuj╠cy +zadanie do wykonania i~inne parametry. PrzykЁadem takiego wЁa╤nie dziaЁania +mo©e byФ graficzny edytor (patrz punkt \ref{sec:winshell}). + +Niemniej jednak czЙste s╠ sytuacje, gdy przydaje siЙ mo©liwo╤Ф uruchamiania +programСw bezpo╤rednio z~linii poleceЯ, np. diagnostyka bЁЙdСw w~wypadku +wyst╠pienia problemСw (patrz punkt \ref{sec:Debugging} na +str.~\pageref{sec:Debugging}). + +\begin{description} +\item[Win9x] linia poleceЯ dostЙpna jest z~menu \texttt{Start->Programy->Tryb + MS~DOS} albo \texttt{Start->Uruchom}: nale©y tu wpisaФ \texttt{command.com}. +\item[NT, 2K, XP] dostЙp do linii poleceЯ z menu \texttt{Start->Akcesoria-> + Command Prompt}; mo©na tak©e w~menu \texttt{Start->Uruchom} + wpisaФ \texttt{cmd.exe} co uruchomi interpreter poleceЯ (wyja╤nia to, + dlaczego trudno w~systemach opartych na NT mСwiФ o~,,oknie DOS''). +\end{description} + +\subsubsection{Separatory ╤cie©ek} +API Win32 obsЁuguje zarСwno \texttt{/}, jak i~\path|\| jako separatory ╤cie©ek. +Niestety interpretery poleceЯ obsЁuguj╠ wyЁ╠cznie \path|\|, a~wiЙc +odwoЁuj╠c siЙ do programu w~linii poleceЯ mo©emy u©yФ tylko tego znaku +(wynika to z~potrzeby kompatybilno╤ci: znak \texttt{/} u©ywany jest czЙsto +jako prefiks dodatkowego parametru). +Gdy nazwa ╤cie©ki jest u©ywana przez program, oba separatory mog╠ byФ +stosowane wymiennie, a~nawet mieszane. + +Nie nale©y siЙ dziwiФ gdy czЙsto spotkamy ╤cie©ki pisane w~konwencji Unix +(a~wiЙc separowane znakiem \texttt{/}). \fpTeX{} jest implementacj╠ \Webc{} +i~z~zasady musi byФ zgodny miЙdzy rС©nymi platformami. Dlatego wЁa╤nie +np. wszystkie pliki konfiguracyjne stosuj╠ konwencjЙ uniksow╠ notacji +╤cie©ek. + +\subsubsection{System plikСw} +\label{sec:clusters} + Najgorsz╠ cech╠ Win9x z~punktu widzenia systemu \TeX{} jest prawdopodobnie +system plikСw zwany FAT. \TeX{} u©ywa bardzo wielu niewielkich plikСw +(1--3KB) i~na wspСЁczesnych dyskach o~wielkiej pojemno╤ci ka©dy taki plik +potrafi faktycznie zaj╠Ф nawet 32KB. Wykorzystanie dysku jest wiЙc bardzo nieefektywne +za╤ instalacja wszystkich plikСw z~\CD{} mo©e w~rzeczywisto╤ci zaj╠Ф wielokrotnie wiЙcej miejsca ni© Ё╠czna objЙto╤Ф plikСw. + +Bardziej nowoczesne systemy plikСw, takie jak NTFS, dostЙpne s╠ w~nowszych +wersjach Windows s╠ pozbawione ujemnych cech FAT: minimalna jednostka +alokacji dla pliku to zwykle 4KB, choФ w~systemie NTFS mo©na j╠ zredukowaФ +nawet do 512 bajtСw. + +\subsubsection{Jak dodaФ katalog do zmiennej PATH} +WiЙkszo╤Ф programСw korzysta ze zmiennych, ktСrym mo©na przypisaФ pewne +warto╤ci. Zestaw takich przypisaЯ (par: zmienna\dywiz warto╤Ф) +nazywamy ╤rodowiskiem. Ka©dy uruchomiony program korzysta z~kopii +╤rodowiska i~mo©e w~ramach tej kopii zmieniaФ przypisania niektСrych +zmiennych (nie s╠ one dostЙpne dla innych uruchomionych rСwnolegle +programСw). Instalator systemu \TeX\ dla Win32 konieczn╠ konfiguracjЙ +╤rodowiska przeprowadza automatycznie. Warto jednak wiedzieФ, +jak konfigurowaФ ╤rodowisko rЙcznie. + +\texttt{PATH} jest specjaln╠ zmienn╠ wykorzystywan╠ do lokalizowania programСw +w~systemie. PoszczegСlne wersje Windows maj╠ rС©ne procedury deklarowania +\texttt{PATH}: + +\begin{description} +\item[Windows 95/98] zmienna PATH jest tu deklarowana w~pliku + \texttt{autoexec.bat} (znajduje siЙ on w~gЁСwnym katalogu dysku startowego). + Po wczytaniu pliku do edytora (np. Notatnik, WinShell) nale©y + odszukaФ wiersz z~napisem \texttt{PATH=} i~z~szeregiem ╤cie©ek + oddzielanych separatorem \texttt{;} (╤rednik). Mo©na dopisaФ kolejne ╤cie©ki + wskazuj╠ce poЁo©enie programСw, np. +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2005\bin\win32 +\end{verbatim} + ProszЙ zauwa©yФ, ©e ╤cie©ki zawieraj╠ce spacjЙ wymagaj╠ ujЙcia w~parЙ + znakСw \verb+"+. Poczynione zmiany bЙd╠ aktywne po restarcie systemu. +\item[Windows ME] nale©y uruchomiФ specjalny program + \path|c:\windows\system\msconfig.exe| i~wybraФ opcjЙ ,,╕rodowisko'' + (\emph{Environment}). Po dodaniu lub modyfikacji zmiennej nale©y ponownie + uruchomiФ system. +\item[Windows NT/2K/XP] nale©y wybraФ menu \texttt{Start -> Settings -> + Panel Sterowania}, w~opcji ,,System'' otworzyФ zakЁadkЙ ,,Zaawansowane'', + nastЙpnie przycisk ,,Zmienne ╤rodowiskowe'' + i~tu modyfikowaФ deklaracje zmiennych, zgodnie z~posiadanymi uprawnieniami. + Istniej╠c╠ zmienn╠ \texttt{PATH} modyfikujemy + naciskaj╠c lewy klawisz myszy na napisie \texttt{PATH}. Pole ,,Warto╤Ф'' + (Value) poka©e listЙ katalogСw rozdzielonych separatorem \texttt{;}. + Nale©y tu dopisaФ katalog zawieraj╠cy programy ╤rodowiska \TeX-owego + (np. \path|c:\TeXLive2005\bin\win32|). + Gdy brak jest zmiennej \texttt{PATH}, nale©y klikn╠Ф pole ,,Zmienna'', + wpisaФ \texttt{PATH}, przenie╤Ф kursor do pola ,,Warto╤Ф'' i~wpisaФ tu + odpowiedni katalog. + + Uwaga: przed zamkniЙciem okna dialogowego nale©y zatwierdziФ zmiany + przyciskiem ,,Zastosuj''. +\end{description} +Dokonane zmiany mo©na sprawdziФ otwieraj╠c konsolЙ i~uruchamiaj╠c polecenie: +\begin{verbatim} +set NAZWA_ZMIENNEJ +\end{verbatim} +co wy╤wietli aktualnie aktywne warto╤ci dla danej zmiennej. + +\subsubsection{,,Maszyny'' \TeX{}} +Z dokumentacji \Webc{} mo©na wyczytaФ, ©e rС©nie nazwane programy +wykorzystuj╠ tЙ sam╠ ,,maszynЙ'', np. \texttt{tex.exe} i~\texttt{latex.exe} +s╠ dokЁadnymi kopiami tego samego programu, ale uruchamiaj╠ siЙ +z~rС©nymi plikami formatu, zgodnie z~nazw╠ podan╠ w~wywoЁaniu. + +W~systemach Unix cecha ta jest zaimplementowana poprzez tzw. dowi╠zanie +symboliczne, co pozwala na zaoszczЙdzenie wiele miejsca na dysku: ten sam +program uruchamiany jest z~wieloma formatami. + +Interfejs aplikacji systemСw Windows (API) nie zna pojЙcia dowi╠zania. +Aby niepotrzebnie nie zajmowaФ miejsca na dysku, zastosowano tu pomysЁ +umieszczenia gЁСwnej ,,maszyny'' \TeX{} w~pliku dynamicznie wi╠zanej +biblioteki (DLL). Z~kolei programy uruchomieniowe (.exe) umieszczono +w~niewielkich plikach, przekazuj╠cych przez nazwЙ parametr wywoЁania +(nazwЙ formatu). Na dysku znajdziemy zatem: +\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} +Ka©dy z~tych \emph{identycznych} programСw (\texttt{latex.exe}, +\texttt{mex.exe} itp.) korzysta ze wspСlnego pliku \texttt{tl90pdfetex.dll}. +Podobne rozwi╠zanie zastosowano dla grupy programСw \texttt{mktex*.exe}, +z~ktСrych ka©dy jest powi╠zany z~bibliotek╠ \texttt{mktex.dll}. +W~dystrybucji dostЙpny jest program \texttt{irun.exe}, ktСry tworzy +w~systemach Win32 odpowiedniki dowi╠zaЯ systemu Unix. + +\subsection{W razie problemСw} +\label{troubleshooting} + +\subsubsection{Co zrobiФ gdy \texttt{latex} nie mo©e znale╪Ф potrzebnych +plikСw?} + +Nale©y u©yФ programu \cmdname{kpsewhich}, ktСry jest narzЙdziem +do diagnostyki wszelkich problemСw zwi╠zanych ze znajdowaniem plikСw +(patrz czЙ╤Ф~\ref{sec:Debugging} na str.~\pageref{sec:Debugging}). + +\subsubsection{Co zrobiФ gdy instalacja nadal nie dziaЁa prawidЁowo?} + +Nale©y odpowiedzieФ sobie na szereg pytaЯ: +\begin{enumerate} +\item czy program \file{tex.exe} jest w~╤cie©ce wymienionej w~zmiennej + \envname{PATH}? +\item czy zmienna \envname{TEXMFCNF} jest prawidЁowo ustawiona + (standardowo \path|c:/TeXLive2005/texmf-var/web2c|)? + %\item czy s╠ jakie╤ bЁЙdy w pliku \verb+.log+ utworzonym przez program + % \file{TeXSetup.exe}? W~pliku \verb+.log+ nale©y wyszukaФ sЁowo + % ,,\verb+Error+''. +\item diagnostyka bЁЙdСw omСwiona zostaЁa w~czЙ╤ci~\ref{sec:Debugging}. +\item opis znanych problemСw i~ewentualne rozwi╠zania oraz poprawki mo©na + znale╪Ф pod adresem \url{http://www.tug.org/tex-live.html}. +\end{enumerate} + +Oprogramowanie zawarte na \TL{} jest bardzo zЁo©one i~skЁada siЙ +z~ponad 250 programСw i~okoЁo 40000 plikСw rС©nego pochodzenia. NiesЁychanie +trudno przewidzieФ wszystkie mo©liwe przyczyny problemСw, niemniej jednak +doЁo©ymy wszelkich staraЯ aby pomСc je rozwi╠zaФ. + +%-------------------------- +% don't use \Webc so the \uppercase in the headline works. +\section{Instrukcja obsЁugi systemu Web2C} + +\Webc{} to zestaw programСw zwi╠zanych z~\TeX-em, tj. sam \TeX{}, \MF{}, +\MP, \BibTeX{} itd. Stanowi╠ one rdzeЯ dystrybucji \TL. + +Oryginalna implementacja wykonana zostaЁa przez Tomasa Rokickiego, ktСry +w~roku 1987 stworzyЁ pierwszy system \TeX{}-to-C, adaptuj╠c pliki wymiany +(\emph{change files}) pod Unix-em (pierwotnie byЁy one dzieЁem Howarda +Trickey'a oraz Pavela Curtisa). W~czasie gdy Tim Morgan zajmowaЁ siЙ +systemem, jego nazwa zostaЁa zmieniona na Web-to-C\@. W~1990 roku prace nad +projektem przej╠Ё Karl Berry wraz z~dziesi╠tkami wspСЁpracownikСw, a~w~roku +1997 paЁeczkЙ przej╠Ё Olaf Weber. + +\Webc{} dziaЁa na platformach systemowych, takich jak Unix (w~tym \MacOSX), +Windows 9x/\acro{NT/2K/XP} i~innych. +System wykorzystuje oryginalne ╪rСdЁa \TeX-owe autorstwa Donalda Knutha +oraz inne programy napisane w~\web{} i~tЁumaczy je na kod ╪rСdЁowy~C. +Ponadto system udostЙpnia spory zestaw makr i~funkcji stworzonych dla +zwiЙkszenia funkcjonalno╤ci oryginalnych zasobСw oprogramowania +zwi╠zanego z~\TeX-em. Podstawowymi skЁadnikami systemu s╠: + +\begin{cmddescription} +\item[bibtex] tworzenie spisСw bibliograficznych; +\item[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] skЁad etykiet \MP{}-owych; +\item[mf] generowanie fontСw bitmapowych w formacie GF; +\item[mft] skЁad plikСw ╪rСdЁowych \MF{}-a; +\item[mpost] tworzenie rysunkСw oraz diagramСw technicznych; +\item[mpto] ekstrakcja etykiet \MP{}-owych; +\item[newer] porСwnywanie czasСw modyfikacji; +\item[patgen] tworzenie wzorcСw przenoszenia wyrazСw; +\item[pktogf] zamiana fontСw w formacie PK na fonty GF; +\item[pktype] zamiana fontu PK na plik tekstowy (ASCII); +\item[pltotf] konwersja tekstowej listy wЁa╤ciwo╤ci do TFM; +\item[pooltype] wy╤wietlanie \web-owych plikСw pool; +\item[tangle] konwersja \web{} do jЙzyka Pascal; +\item[tex] skЁad tekstu; +\item[tftopl] konwersja TFM do tekstowej listy wЁa╤ciwo╤ci (PL); +\item[vftovp] konwersja fontСw wirtualnych do wirtualnej listy + wЁa╤ciwo╤ci (VPL); +\item[vptovf] konwersja wirtualnej listy wЁa╤ciwo╤ci do fontСw wirtualnych; +\item[weave] konwersja \web{} do \TeX-a. +\end{cmddescription} + +\noindent +DokЁadny opis funkcji oraz skЁadni tych programСw zawarty jest +w~dokumentacji poszczegСlnych pakietСw samego \Webc{}. +Jednak do optymalnego wykorzystania instalacji \Webc{} pomocna bЙdzie +znajomo╤Ф kilku zasad rz╠dz╠cych caЁ╠ rodzin╠ programСw. + +Wszystkie programy obsЁuguj╠ standardowe opcje \acro{GNU}: +\begin{description} +\item[\texttt{-{}-help\ \ \ }] podaje podstawowe zasady u©ytkowania; +\item[\texttt{-{}-verbose}] podaje dokЁadny raport z~dziaЁania programu; +\item[\texttt{-{}-version}] podaje informacjЙ o~wersji, po czym koЯczy + dziaЁanie programu. +\end{description} + +W~celu lokalizacji plikСw programy \Webc{} u©ywaj╠ biblioteki do +przeszukiwania ╤cie©ek zwanej \KPS{}. +Dla optymalizacji przeszukiwania \TeX-owego drzewa podkatalogСw biblioteka ta +u©ywa kombinacji zmiennych ╤rodowiskowych oraz kilku plikСw konfiguracyjnych. +\Webc{} potrafi obsЁugiwaФ jednocze╤nie wiЙcej ni© jedno drzewo +podkatalogСw, co jest u©yteczne w~przypadku, gdy chce siЙ przechowywaФ +standardow╠ dystrybucjЙ \TeX-a jak i~lokalne rozszerzenia w~dwСch rС©nych +drzewach katalogСw. +Aby przyspieszyФ poszukiwanie plikСw, katalog gЁСwny ka©dego drzewa ma swСj +plik \file{ls-R}, zawieraj╠cy pozycje okre╤laj╠ce nazwЙ i~wzglЙdn╠ ╤cie©kЙ +dla wszystkich plikСw zawartych w~tym katalogu. + +\subsection{Przeszukiwanie ╤cie©ek przez Kpathsea} + +Opiszemy najpierw ogСlny mechanizm przeszukiwania ╤cie©ek przez bibliotekЙ +\KPS{}. + +Tym, co nazywamy \emph{╤cie©k╠ przeszukiwania}, jest rozdzielona dwukropkami +lub ╤rednikami lista \emph{elementСw ╤cie©ki}, ktСre zasadniczo s╠ nazwami +podkatalogСw. +╕cie©ka przeszukiwania mo©e pochodziФ z~(kombinacji) wielu ╪rСdeЁ. +PrzykЁadowo, aby odnale╪Ф plik \samp{my-file} w~╤cie©ce \samp{.:/dir}, \KPS{} +sprawdza czy istnieje dany element ╤cie©ki w~nastЙpuj╠cej kolejno╤ci: najpierw +\file{./my-file}, potem \file{/dir/my-file}, zwracaj╠c pierwszy +odnaleziony (lub mo©liwie wszystkie). + +Aby optymalnie zaadaptowaФ siЙ do konwencji wszystkich systemСw operacyjnych, +na systemach nieunixowych \KPS{} mo©e u©ywaФ +jako separatorСw nazw ╤cie©ek znakСw innych +ni© dwukropek (\samp{:}) oraz ,,ciach'' (\samp{/}). + +W~celu sprawdzenia konkretnego elementu \var{p} ╤cie©ki, \KPS{} najpierw +sprawdza czy zbudowana wcze╤niej baza danych (patrz ,,Baza nazw plikСw'' na +stronie~\pageref{Filename-database}) odnosi sie do \var{p}, tj. +czy baza danych znajduje siЙ w~podkatalogu z~prefiksem~\var{p}. +Je©eli tak, to specyfikacja ╤cie©ki jest porСwnywana z~zawarto╤ci╠ bazy. + +Je╤li baza danych nie istnieje, lub nie odnosi siЙ do danego elementu +╤cie©ki, albo te© nie zawiera elementСw zgodnych, przeszukiwany jest system +plikСw (je©eli nie zostaЁo to zabronione przez specyfikacjЙ rozpoczynaj╠c╠ +siЙ od~\samp{!!}\ oraz je©eli poszukiwany plik musi istnieФ). +\KPS{} konstruuje listЙ podkatalogСw, ktСre koresponduj╠ z~danym elementem +╤cie©ki, a~nastЙpnie sprawdza w~ka©dym z~nich czy nie ma tam poszukiwanego +pliku. + +Warunek mСwi╠cy, ©e ,,plik musi istnieФ'' dotyczy np. plikСw \samp{.vf} +i~plikСw doЁ╠czanych \TeX-owym poleceniem \cs{openin}. +Takiego pliku mo©e nie byФ (np. \file{cmr10.vf}), bЁЙdne byЁoby zatem +poszukiwanie go na dysku. +Je╤li wiЙc zapomnisz o~aktualizacji \file{ls-R} po instalacji nowego +pliku \samp{.vf}, nie zostanie on odnaleziony. +Ka©dy element ╤cie©ki sprawdzany jest w~nastЙpuj╠cej kolejno╤ci: najpierw +w~bazie danych, potem na dysku. +Je©eli plik siЙ znajdzie, przeszukiwanie zostanie zatrzymane i~zwrСcony +zostanie wynik. + +Poniewa© najprostszym i~najbardziej powszechnym elementem ╤cie©ki jest +nazwa katalogu, \KPS{} korzysta z~dodatkowych mo©liwo╤ci w~przeszukiwaniu +╤cie©ek: +wielowarstwowych warto╤ci domy╤lnych, zmiennych ╤rodowiskowych, warto╤ci +pliku konfiguracyjnego, lokalnych +podkatalogСw u©ytkownika oraz rekursywnego przeszukiwania podkatalogСw. +Mo©na wiЙc powiedzieФ, ©e \KPS{} \emph{rozwija} element ╤cie©ki, tzn. +transformuje wszystkie specyfikacje do podstawowej nazwy lub nazw katalogСw. +Jest to opisane w~kolejnych akapitach, w~kolejno╤ci w~jakiej ma to miejsce. + +Trzeba zauwa©yФ, ©e je©eli nazwa poszukiwanego pliku jest +absolutna lub jawnie wzglЙdna, tj. zaczyna siЙ od \samp{/} lub \samp{./} +lub \samp{../}, \KPS{} ogranicza siЙ do sprawdzenia czy ten plik istnieje. + +\ifSingleColumn +\else +\begin{figure*} +\verbatiminput{examples/ex5.tex} +\setlength{\abovecaptionskip}{0pt} + \caption{PrzykЁad pliku konfiguracyjnego} + \label{fig:config-sample} +\end{figure*} +\fi + +\subsubsection{╛rСdЁa ╤cie©ek} +\label{Path-sources} + +Nazwa przeszukiwanej ╤cie©ki mo©e pochodziФ z~wielu ╪rСdeЁ. +Oto kolejno╤Ф, w~jakiej \KPS{} ich u©ywa: + +\begin{enumerate} +\item + Zmienna ╤rodowiskowa ustawiana przez u©ytkownika, np. + \envname{TEXINPUTS}. + Zmienne ╤rodowiskowe z~doЁ╠czon╠ kropk╠ i~nazw╠ programu zastЙpuj╠ inne, + np. je©eli \samp{latex} jest nazw╠ uruchomionego programu, wtedy zamiast + \envname{TEXINPUTS} wykorzystana zostanie zmienna \envname{TEXINPUTS.latex}. +\item + Plik konfiguracyjny konkretnego programu, np. linia ,,\texttt{S /a:/b}'' + w~pliku \file{config.ps} programu \cmdname{dvips}. +\item Plik konfiguracyjny \KPS{} \file{texmf.cnf}, zawieraj╠cy tak╠ liniЙ, + jak \samp{TEXINPUTS=/c:/d} (patrz poni©ej). +\item Warto╤ci domy╤lne dla uruchamianych programСw. +\end{enumerate} +\noindent Ka©d╠ z~tych warto╤ci dla danej ╤cie©ki przeszukiwania mo©na +zobaczyФ, u©ywaj╠c opcji diagnostyki bЁЙdСw (patrz ,,Diagnostyka bЁЙdСw'' na +stronie~\pageref{sec:Debugging}). + +\subsubsection{Pliki konfiguracyjne} + +\tolerance=3500 +\KPS{} szuka ╤cie©ek przeszukiwania i~innych definicji w~\emph{plikach +konfiguracyjnych} o~nazwach \file{texmf.cnf}. +╕cie©ka przeszukiwania u©ywana do znajdowania tych plikСw okre╤lana jest +zmienn╠ \envname{TEXMFCNF} (domy╤lnie taki plik znajduje siЙ w~podkatalogu +\file{texmf/web2c}). +Czytane bЙd╠ \emph{wszystkie} pliki \file{texmf.cnf} w~╤cie©ce +przeszukiwania, +a~definicje we wcze╤niejszych plikach zast╠pi╠ te w~pС╪niejszych. +Tak wiЙc w~╤cie©ce \verb|.:$TEXMF|, warto╤ci pochodz╠ce z~\file{./texmf.cnf} +zast╠pi╠ te z~\verb|$TEXMF/texmf.cnf|. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +Dociekliwy czytelnik mo©e byФ zainteresowany jak same programy znajduj╠ plik +\file{texmf.cnf}, skoro nie jest obowi╠zkowe deklarowanie specyficznej +zmiennej ╤rodowiskowej systemu. OtС© poЁo©enie domy╤lne jest wkompilowane +w~programy jako wzglЙdne do ich poЁo©enia (okre╤lanego, jak wiemy, w~╤cie©ce +specyfikowanej przez \texttt{\$PATH}): \path{../../texmf/web2c/} b╠d╪ +\path{../texmf/web2c/}. Je╤li jawnie deklarujemy zmienn╠ \envname{TEXMFCNF}, +wymagane jest podanie bezwzglЙdnej ╤cie©ki. + +Czytaj╠c zamieszczony poni©ej opis formatu pliku \file{texmf.cnf} +warto przegl╠daФ jego zawarto╤Ф. PoЁo©enie \emph{aktywnego} pliku +znajdziemy za pomoc╠ polecenia \texttt{kpsewhich texmf.cnf}. + +\begin{itemize} +\item + Komentarze zaczynaj╠ siЙ od ,,\texttt{\%}'', a~koЯcz╠ na koЯcu wiersza. +\item + Puste wiersze nie s╠ brane pod uwagЙ. +\item + Znak \bs{} na koЯcu wiersza dziaЁa jako znak kontynuacji, tzn. + oznacza, ©e kolejny wiersz jest kontynuacj╠ bie©╠cego. + Spacja na pocz╠tku kolejnego wiersza nie jest ignorowana. +\item + PozostaЁe wiersze maj╠ postaФ: +\begin{alltt} + \emph{zmienna}[.\emph{program}] [=] \emph{warto╤Ф} +\end{alltt}% + gdzie \samp{=} i~otaczaj╠ce spacje s╠ opcjonalne. +\item + ,,\texttt{\var{zmienna}}'' zawieraФ mo©e dowolne znaki poza spacj╠, + \samp{=}, lub \samp{.} (kropk╠), najbezpieczniej jest jednak u©ywaФ znakСw + z~zakresu \samp{A-Za-z\_}. +\item + Napis ,,\texttt{.\var{program}}'' ma zastosowanie w~wypadku, gdy + uruchamiany program nosi nazwЙ \texttt{\var{program}} lub + \texttt{\var{program}.exe}. Pozwala to rС©nym odmianom \TeX-a posiadaФ + rС©ne ╤cie©ki przeszukiwania. +\item ,,\texttt{\var{warto╤Ф}}'' zawieraФ mo©e dowolne znaki poza + ,,\texttt{\%}'' i \samp{@}. + Nie mo©na u©ywaФ konstrukcji ,,\texttt{\$\var{zmienna}.\var{program}}'' + po prawej stronie. Zamiast tego trzeba zastosowaФ zmienn╠ pomocnicz╠. + ╕rednik \samp{;}\ u©yty w~,,\texttt{\var{warto╤Ф}}'' zamieniany jest na + \samp{:}\ je©eli systemem operacyjnym jest Unix; umo©liwia to posiadanie + wspСlnego pliku \file{texmf.cnf} dla systemСw Unix oraz Windows. +\item + Wszystkie definicje czytane s╠ zanim cokolwiek zostanie rozwiniЙte, tak + wiЙc do zmiennych odwoЁywaФ siЙ mo©na przed ich zdefiniowaniem. +\end{itemize} +Fragment pliku konfiguracyjnego ilustruj╠cy wiЙkszo╤Ф powy©szych cech +\ifSingleColumn +: +\verbatiminput{examples/ex5.tex} +\else +jest pokazany na rys.~\ref{fig:config-sample}. +\fi + +\subsubsection{Rozwijanie ╤cie©ek} +\label{Path-expansion} + +\KPS{} rozpoznaje w~╤cie©kach przeszukiwania pewne specjalne znaki oraz +konstrukcje, podobne do tych dostЙpnych w~powЁokach Unix. +Jako ogСlny przykЁad: zЁo©ona ╤cie©ka +\verb+~$USER/{foo,bar}//baz+ rozwija siЙ do wszystkich podkatalogСw pod +katalogami \file{foo} i~\file{bar} w~katalogu gЁСwnym \texttt{\$USER}, +ktСre zawieraj╠ katalog lub plik \file{baz}. +RozwiniЙcia te opisane s╠ w~poni©szych podrozdziaЁach. + +\subsubsection{Rozwijanie domy╤lne} +\label{Default-expansion} + +\tolerance=2500 +Je©eli ╤cie©ka przeszukiwania najwiЙkszego uprzywilejowania (patrz ,,╛rСdЁa +╤cie©ek'' na stronie~\pageref{Path-sources}) zawiera +\emph{dodatkowy dwukropek} (np. na pocz╠tku, na koЯcu lub podwСjny) to \KPS{} +wstawia w~tym miejscu nastЙpn╠ zdefiniowan╠ w~hierarchii uprzywilejowania +╤cie©kЙ przeszukiwania. +Je©eli ta wstawiona ╤cie©ka ma dodatkowy dwukropek, dzieje siЙ dalej to samo. +PrzykЁadowo, je©eli ustawiФ zmienn╠ ╤rodowiskow╠ +\tolerance=1500 + +\begin{alltt} +> \Ucom{setenv TEXINPUTS /home/karl:} +\end{alltt} +oraz warto╤Ф \code{TEXINPUTS} pobran╠ z~\file{texmf.cnf} + +\begin{alltt} + .:\$TEXMF//tex +\end{alltt} +koЯcow╠ warto╤ci╠ u©yt╠ w~przeszukiwaniu bЙdzie: + +\begin{alltt} + /home/karl:.:\$TEXMF//tex +\end{alltt} + +Poniewa© nieu©ytecznym byЁoby wstawiaФ warto╤Ф domy╤ln╠ w~wiЙcej ni© jedno +miejsce, \KPS{} zmienia tylko jeden dodatkowy \samp{:}\ i~pozostawia +inne bez zmian. \KPS{} najpierw szuka dwukropkСw na pocz╠tku linii, potem na koЯcu, +a~nastЙpnie podwСjnych. + +\subsubsection{Rozwijanie nawiasСw} + +U©yteczn╠ cech╠ jest mo©liwo╤Ф rozwijania nawiasСw, co oznacza, ©e np. +\verb+v{a,b}w+ rozwija siЙ do \verb+vaw:vbw+. +Mo©liwe jest zagnie©d©anie nawiasСw. +Funkcja ta mo©e byФ u©yta do zaimplementowania rС©nych hierarchii \TeX-owych +przez przypisanie listy nawiasСw do \code{\$TEXMF}. PrzykЁadowo, +w~pliku \file{texmf.cnf} znale╪Ф mo©na nastЙpuj╠c╠ definicjЙ: +\begin{verbatim} + TEXMF = {$TEXMFHOME,$TEXMFLOCAL,!!$TEXMFVAR,!!$TEXMFMAIN} +\end{verbatim} +U©ywaj╠c jej mo©na nastЙpnie napisaФ co╤ w~rodzaju: +\begin{verbatim} + TEXINPUTS = .;$TEXMF/tex// +\end{verbatim} +co oznacza, ©e po szukaniu w~katalogu bie©╠cym przeszukane bЙd╠ kolejno +\code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, \code{\$TEXMFVAR/tex} +i~\code{\$TEXMFMAIN/tex} (wszystkie wraz z~katalogami ni©szego poziomu; +dwie ostatnie ╤cie©ki \emph{wyЁ╠cznie} na podstawie zawarto╤ci +pliku \file{ls-R}). +Jest to wygodny sposСb dla uruchamiania dwСch rСwnolegЁych struktur \TeX-owych, +jednej ,,zamro©onej'' (np. na \CD), a~drugiej ci╠gle uaktualnianej nowymi, +pojawiaj╠cymi siЙ wersjami. +U©ywaj╠c zmiennej \code{\$TEXMF} we wszystkich definicjach jest siЙ pewnym, +©e najpierw przeszukiwane jest drzewo uaktualnione. + +\subsubsection{Rozwijanie podkatalogСw} +\label{Subdirectory-expansion} + +Dwa lub wiЙcej kolejnych ,,ciachСw'' (,,/'') w~elemencie ╤cie©ki, +wystЙpuj╠cych po nazwie katalogu~\var{d}, zastЙpowany jest przez wszystkie +podkatalogi~\var{d}, najpierw podkatalogi znajduj╠ce siЙ bezpo╤rednio +pod~\var{d}, potem te pod powy©szymi i~tak dalej. Na ka©dym etapie +kolejno╤Ф, w~jakiej przeszukiwane s╠ katalogi, jest \emph{nieokre╤lona}. + +Je╤li wyszczegСlni siЙ czЁony nazwy pliku po \samp{//}, uwzglЙdnione zostan╠ +tylko te podkatalogi, ktСre zawieraj╠ powy©sze czЁony. +Na przykЁad \samp{/a//b} rozwija siЙ do katalogСw \file{/a/1/b}, +\file{/a/2/b}, \file{/a/1/1/b} itd., ale nie do \file{/a/b/c} czy \file{/a/1}. + +Mo©liwe jest wielokrotne u©ycie \samp{//} w~╤cie©ce, jednak©e \samp{//} +wystЙpuj╠ce na pocz╠tku ╤cie©ki nie jest brane pod uwagЙ. + +\subsubsection{Lista znakСw specjalnych i~ich znaczeЯ -- podsumowanie} + +Poni©sza lista podsumowuje znaczenie znakСw specjalnych w~plikach +konfiguracyjnych. + +\newcommand{\CODE}[1]{\makebox[2.2em][l]{\code{#1}}} +\begin{description} +\item[\CODE{:}] znak rozdzielaj╠cy w~specyfikacji ╤cie©ki; umieszczony na +pocz╠tku lub na koЯcu ╤cie©ki zastЙpuje domy╤lne rozwiniЙcie ╤cie©ki; +\item[\CODE{;}] znak rozdzielaj╠cy dla systemСw nieUnix-owych + (dziaЁa tak jak ,,\code{:}''); +\item[\CODE{\$}] rozwijanie zmiennej; +\item[\CODE{\string~}] oznacza katalog gЁСwny u©ytkownika; +\item[\CODE{\char`\{\dots\char`\}}] rozwijanie nawiasСw, np. + \verb+a{1,2}b+ zmieni siЙ w~\verb+a1b:a2b+; +\item[\CODE{//}] rozwijanie podkatalogСw (mo©e wyst╠piФ gdziekolwiek + w~╤cie©ce, poza jej pocz╠tkiem); +\item[\CODE{\%}] pocz╠tek komentarza, trwaj╠cego do koЯca linii; +\item[\CODE{\bs}] znak kontynuacji (pozwala na przeЁamanie wiersza + z~wyra©eniem); +\item[\CODE{!!}] przeszukiwanie \emph{tylko} bazy danych, + a~\emph{nie} dysku. +\end{description} + + +\subsection{Bazy nazw plikСw} +\label{Filename-database} + +Dla celСw przeszukiwania \KPS{} stara siЙ zminimalizowaФ dostЙp do dysku. +Niemniej jednak, w~przypadku instalacji ze zbyt du©╠ liczb╠ katalogСw, +przegl╠danie ka©dego mo©liwego katalogu w~poszukiwaniu danego pliku mo©e +zabieraФ sporo czasu (ma to miejsce zwЁaszcza, je©eli przeszukaФ trzeba setki +katalogСw z~fontami). +Dlatego te© \KPS{} mo©e u©ywaФ zewnЙtrznego pliku z~,,baz╠ danych'' +o~nazwie \file{ls-R}, ktСry to zawiera przypisania plikСw do katalogСw. +Unika siЙ w~ten sposСb potrzeby czasochЁonnego przeszukiwania dysku. + +Drugi plik z~baz╠ danych -- \file{aliases} -- pozwala na nadawanie +dodatkowych nazw plikom zawartym w~\file{ls-R}. +Mo©e to byФ pomocne do adaptacji do DOS-owej konwencji ,,8.3'' nazewnictwa +plikСw w~plikach ╪rСdЁowych. + +\subsubsection{Baza nazw plikСw} +\label{ls-R} + +Jak to wytЁumaczono powy©ej, plik zawieraj╠cy gЁСwn╠ bazЙ nazw +plikСw musi nosiФ nazwЙ \file{ls-R}. +W~katalogu podstawowym ka©dej hierarchii \TeX-owej (domy╤lnie \code{\$TEXMF}), +ktСr╠ chcemy wЁ╠czyФ w~mechanizm przeszukiwania, umieszczaФ mo©na po jednym +pliku \file{ls-R}; w~wiЙkszo╤ci przypadkСw istnieje tylko jedna hierarchia. +\KPS{} szuka pliku \file{ls-R} w~╤cie©ce \code{TEXMFDBS}. + +Najlepszym sposobem stworzenia i~utrzymywania pliku \file{ls-R} jest +uruchomienie skryptu \code{mktexlsr}, bЙd╠cego skЁadnikiem dystrybucji. +Jest on wywoЁywany przez rС©ne skrypty typu \samp{mktex...}. +W~zasadzie skrypt ten jedynie wykonuje polecenie +\begin{alltt} +cd \var{/your/texmf/root} && ls -LAR ./ >ls-R +\end{alltt} +zakЁadaj╠c, ©e polecenie \code{ls} danego systemu utworzy wЁa╤ciwy format +strumienia wyj╤ciowego (\acro{GNU} \code{ls} dziaЁa prawidЁowo). +Aby mieФ pewno╤Ф, ©e baza danych jest zawsze aktualna, wygodnie jest + przebudowywaФ j╠ regularnie za pomoc╠ demona \code{cron}. + %tak ©e wraz ze zmianami + %w~instalowanych plikach -- np. po instalacji lub uaktualnianiu pakietu + %\LaTeX{} -- plik \file{ls-R} jest uaktualniany automatycznie. + +Je╤li pliku nie ma w~bazie danych, \KPS{} domy╤lnie przechodzi do +przeszukiwania dysku. Je©eli jednak dany element ╤cie©ki zaczyna sie od +\samp{!!}, w~poszukiwaniu tego elementu sprawdzona zostanie \emph{jedynie} +baza danych, a~nigdy dysk. + +\subsubsection{kpsewhich -- program do przeszukiwania ╤cie©ek} +\label{Invoking-kpsewhich} + +Przeszukiwanie ╤cie©ek przez program \texttt{kpsewhich} jest niezale©ne od +jakiejkolwiek aplikacji. +Mo©e on byФ przydatny jako rodzaj programu \code{find}, za pomoc╠ ktСrego +lokalizowaФ mo©na pliki w~hierarchiach \TeX-owych (jest on u©ywany +intensywnie w~skryptach \samp{mktex...} tej dystrybucji). + +\begin{alltt} +> \Ucom{kpsewhich \var{opcje}\dots{} \var{nazwa-pliku}\dots{}} +\end{alltt} +Parametry wyszczegСlnione w~,,\texttt{\var{opcje}}'' mog╠ zaczynaФ siЙ zarСwno od +\samp{-} jak i~od \samp{-{}-}, i~dozwolony jest ka©dy jednoznaczny skrСt. + +\KPS{} traktuje ka©dy argument nie bЙd╠cy parametrem jako nazwЙ pliku +i~zwraca pierwsz╠ odnalezion╠ nazwЙ. +Nie ma parametru nakazuj╠cego zwracanie wszystkich nazw plikСw o~okre╤lonej +nazwie (w~tym celu mo©na wykorzystaФ Unix-owy program \samp{find}). + +Wa©niejsze parametry opisane s╠ poni©ej. + +\begin{ttdescription} +\item[\texttt{-{}-dpi=\var{num}}]\mbox{}\\* + Ustaw rozdzielczo╤Ф na ,,\texttt{\var{num}}''; ma to tylko wpЁyw na + przeszukiwanie fontСw \samp{gf} i~\samp{pk}. Dla zgodno╤ci + z~\cmdname{dvips} parametr + \samp{-D} dziaЁa identycznie. Domy╤ln╠ warto╤ci╠ jest 600. +\item[\texttt{-{}-format=\var{nazwa}}]\mbox{}\\ + Ustawienie formatu (typu pliku) przeszukiwania na ,,\texttt{\var{nazwa}}''. + Domy╤lnie format odgadywany jest z~nazwy pliku. + Dla formatСw, ktСre nie maj╠ przydzielonego jednoznacznego rozszerzenia, + takich jak niektСre pliki \MP{}-owe czy pliki konfiguracyjne + \cmdname{dvips}-a, nale©y wyszczegСlniФ nazwЙ, ktСrych listЙ wy╤wietli + uruchomienie \texttt{kpsewhich -{}-help}. + +\item[\texttt{-{}-mode=\var{napis}}]\mbox{}\\* + Ustaw nazwЙ trybu na ,,\texttt{\var{napis}}''; dotyczy to jedynie szukania + fontСw \samp{gf} oraz \samp{pk}. + Brak jest warto╤ci domy╤lnej -- odnaleziony zostanie dowolny + wyszczegСlniony tryb. +\item[\texttt{-{}-must-exist}]\mbox{}\\ + ZrСb wszystko co mo©liwe aby odnale╪Ф pliki, wЁ╠czaj╠c w~to przede wszystkim + przeszukanie dysku. + Domy╤lnie, w~celu zwiЙkszeniu efektywno╤ci dziaЁania, sprawdzana jest + tylko baza \file{ls-R}. +\item[\texttt{-{}-path=\var{napis}}]\mbox{}\\ + Szukaj w~╤cie©ce ,,\texttt{\var{napis}}'' (rozdzielonej, jak + zwykle, dwukropkami), zamiast zgadywaФ ╤cie©kЙ przeszukiwania z~nazwy + pliku. + \samp{//} i~wszystkie zwykЁe rozszerzenia s╠ mo©liwe. + Parametry \samp{-{}-path} oraz \samp{-{}-format} wzajemnie siЙ wykluczaj╠. +\item[\texttt{-{}-progname=\var{nazwa}}]\mbox{}\\ + Ustaw nazwЙ programu na ,,\texttt{\var{nazwa}}''. + Mo©e to mieФ wpЁyw na ╤cie©kЙ przeszukiwania poprzez + ,,\texttt{.\var{program}}'' w~plikach konfiguracyjnych. + Ustawieniem domy╤lnym jest \samp{kpsewhich}. +\item[\texttt{-{}-show-path=\var{nazwa}}]\mbox{}\\ + Pokazuje ╤cie©kЙ u©ywan╠ do poszukiwania plikСw typu + ,,\texttt{\var{nazwa}}''. + U©yte mo©e byФ zarСwno rozszerzenie (\samp{.pk}, \samp{.vf}, etc.), jak + i~nazwa pliku, tak jak w~przypadku parametru \samp{-{}-format}. +\item[\texttt{-{}-debug=\var{num}}]\mbox{}\\ + ustawia parametry wykrywania bЁЙdСw na ,,\texttt{\var{num}}''. +\end{ttdescription} + +%Zmienne ╤rodowiskowe domy╤lnie ustawiane s╠ w~pliku konfiguracyjnym +%\file{texmf.cnf}. W~wypadku gdy chce siЙ uniewa©niФ warto╤ci zmiennych +%wyszczegСlnione w~tym pliku, mo©na narzuciФ ich ustawienie w~╤rodowisku, +%w~ktСrym uruchamiane s╠ programy. + +\subsubsection{PrzykЁady u©ycia} +\label{SExamplesofuse} + +Przyjrzyjmy sie teraz jak dziaЁa \KPS{}. + +\begin{alltt} +> \Ucom{kpsewhich article.cls} +/usr/local/texmf-dist/tex/latex/base/article.cls +\end{alltt} +Szukamy pliku \file{article.cls}. +Poniewa© rozszerzenie \samp{.cls} jest jednoznaczne, nie musimy zaznaczaФ, ©e +poszukujemy pliku typu ,,tex'' (katalogi plikСw ╪rСdЁowych \TeX-a). +Znajdujemy go w~podkatalogu \file{tex/latex/base} pod katalogiem nadrzЙdnym +\samp{texmf-dist}. +Podobnie wszystkie poni©sze pliki odnajdywane s╠ bez\-pro\-ble\-mo\-wo +dziЙki swoim jednoznacznym rozszerzeniom: +\begin{alltt} +> \Ucom{kpsewhich array.sty} +/usr/local/texmf-dist/tex/latex/tools/array.sty +> \Ucom{kpsewhich latin1.def} +/usr/local/texmf-dist/tex/latex/base/latin1.def +> \Ucom{kpsewhich size10.clo} +/usr/local/texmf-dist/tex/latex/base/size10.clo +> \Ucom{kpsewhich small2e.tex} +/usr/local/texmf-dist/tex/latex/base/small2e.tex +> \Ucom{kpsewhich tugboat.bib} +/usr/local/texmf-dist/bibtex/bib/beebe/tugboat.bib +\end{alltt} + +\noindent (ostatni plik to \BibTeX-owa baza bibliograficzna dla artykuЁСw +\textsl{TUGBoat}). + +\begin{alltt} +> \Ucom{kpsewhich cmr10.pk} +\end{alltt} +Pliki czcionek bitmapowych typu \file{.pk} u©ywane s╠ przez sterowniki, +takie jak \cmdname{dvips} % ??? dvips to chyba nie przegl╠darka --- +czy \cmdname{xdvi}. % w oryg. byЁo display programs like dvips... +W~tym wypadku nie zostan╠ zwrСcone ©adne rezultaty przeszukiwania, poniewa© +w~systemie brak gotowych wygenerowanych czcionek \samp{.pk} Computer Modern +(wynika to z~faktu u©ywania w~\TL{} fontСw PostScript-owych Type1). +\begin{alltt} +> \Ucom{kpsewhich wsuipa10.pk} +\ifSingleColumn /usr/local/texmf-var/fonts/pk/ljfour/public/wsuipa/wsuipa10.600pk +\else /usr/local/texmf-var/fonts/pk/ljfour/public/ +... wsuipa/wsuipa10.600pk +\fi\end{alltt} +Dla tych fontСw (alfabetu fonetycznego) musieli╤my wygenerowaФ pliki +\samp{.pk}, a~poniewa© domy╤lnym \MF{}-owym trybem naszej instalacji jest +\texttt{ljfour} z~podstawow╠ rozdzielczo╤ci╠ 600dpi, zwracany jest taki +wЁa╤nie rezultat. +\begin{alltt} +> \Ucom{kpsewhich -dpi=300 wsuipa10.pk} +\end{alltt} +W~tym wypadku, kiedy zaznaczamy, ©e interesuje nas rozdzielczo╤Ф +300dpi (\texttt{-dpi=300}), widzimy, ©e taka czcionka nie jest dostЙpna +w~naszej instalacji. +Program taki jak \cmdname{dvips} czy \cmdname{xdvi} zatrzymaЁby siЙ, aby +utworzyФ pliki \texttt{.pk} w~wymaganej rozdzielczo╤ci (u©ywaj╠c skryptu +\cmdname{mktexpk}). + +ZwrСcimy teraz nasz╠ uwagЙ na pliki nagЁСwkowe i~konfiguracyjne +programu \cmdname{dvips}. +Najpierw szukamy pliku PostScript-owego prologu \file{tex.pro}, +wykorzystywanego dla potrzeb \TeX-a. Drugi przykЁad pokazuje +poszukiwanie pliku konfiguracyjnego \file{config.ps}, za╤ trzeci -- +szukanie pliku mapy czcionek PostScriptowych \file{psfonts.map} +(pocz╠wszy od obecnej edycji, pliki \file{.map} i~\file{.enc} +maj╠ wЁasne reguЁy przeszukiwania ╤cie©ek i~zmienione poЁo©enie w~ramach +drzew \dirname{texmf}). +Poniewa© rozszerzenie \samp{.ps} nie jest jednoznaczne, musimy zaznaczyФ +wyra╪nie jaki typ jest wymagany dla pliku +\texttt{config.ps} (,,\texttt{dvips config}''). +\begin{alltt} +> \Ucom{kpsewhich tex.pro} +/usr/local/texmf/dvips/base/tex.pro +> \Ucom{kpsewhich --format="dvips config" config.ps} +/usr/local/texmf-var/dvips/config/config.ps +> \Ucom{kpsewhich psfonts.map} +/usr/local/texmf-var/fonts/map/dvips/updmap/psfonts.map +\end{alltt} + +NastЙpnie przyjrzymy siЙ bli©ej plikom pomocniczym fontСw Quasi Times +(zawieraj╠ one m.in. poprawne polskie znaki diakrytyczne). +Pierwszy plik ktСrego szukamy, to plik konfiguracyjny, zawieraj╠cy nazwЙ +pliku z~przemapowaniem fontСw: +\begin{alltt} +> \Ucom{kpsewhich --format="dvips config" config.qtm} +/usr/local/texmf-dist/dvips/qfonts/config.qtm +\end{alltt} +W~pliku tym znajduje siЙ wiersz: +\begin{alltt} + p +qtm.map +\end{alltt} +wskazuj╠cy na plik \file{qtm.map}, ktСry chcemy zlokalizowaФ w~nastЙpnej +kolejno╤ci: +\begin{alltt} +> \Ucom{kpsewhich --format=map qtm.map} +/usr/local/texmf-dist/fonts/map/dvips/qfonts/qtm.map +\end{alltt} +Plik z~przemapowaniem definiuje nazwy czcionek PostScriptowych Type~1 +w~zestawie fontСw Quasi Times, za╤ jego zawarto╤Ф wygl╠da nastЙpuj╠co +(pokazane s╠ tylko fragmenty wierszy): +\begin{alltt} + qtmr QuasiTimes-Regular ... <qtmr.pfb + qtmri QuasiTimes-Italic ... <qtmri.pfb + qtmb QuasiTimes-Bold ... <qtmb.pfb + qtmbi QuasiTimes-BoldItalic ... <qtmbi.pfb +\end{alltt} +U©ywaj╠c przeszukiwania plikСw z~fontami Type1, znajd╪my font +QuasiTimes-Regular \file{qtmr.pfb} w~drzewie katalogСw \file{texmf}: +\begin{alltt} +> \Ucom{kpsewhich qtmr.pfb} +\ifSingleColumn +/usr/local/texmf-dist/fonts/type1/qfonts/qtmr.pfb +\else +/usr/local/texmf-dist/fonts/type1/ +... qfonts/qtmr.pfb +\fi\end{alltt} + +Powy©sze przykЁady pokazuj╠, jak Ёatwo mo©na znajdowaФ lokalizacjЙ danego +pliku. Wa©ne jest to zwЁaszcza wСwczas, gdy istnieje podejrzenie, ©e gdzie╤ +zawieruszyЁa siЙ zЁa wersja jakiego╤ pliku; \cmdname{kpsewhich} poka©e tylko +pierwszy napotkany plik. + +\subsubsection{Diagnostyka bЁЙdСw} +\label{sec:Debugging} + +Czasami niezbЙdne s╠ informacje o~tym, jak program radzi sobie +z~odniesieniami do plikСw. Aby daЁo siЙ to wykonywaФ w~wygodny sposСb, +\KPS{} oferuje rС©ne poziomy diagnostyki bЁЙdСw: +\begin{itemize} +\item[\texttt{\ 1}] wywoЁania \texttt{stat} (testy pliku). Podczas + uruchamiania z~uaktualnion╠ baz╠ danych \file{ls-R} nie powinno to + przewa©nie dawaФ ©adnego wyniku. +\item[\texttt{\ 2}] Zapis odwoЁaЯ do tablic asocjacyjnych (\emph{hash + tables}), takich jak baza \file{ls-R}, pliki przemapowaЯ, pliki konfiguracyjne. +\item[\texttt{\ 4}] Operacje otwarcia i~zamkniЙcia pliku. +\item[\texttt{\ 8}] OgСlne informacje o~╤cie©kach dla typСw + plikСw szukanych przez \KPS; u©yteczne dla znalezienia ╤cie©ki + zdefiniowanej dla danego pliku. +\item[\texttt{16}] Lista katalogСw dla ka©dego z~elementСw ╤cie©ki + (odnosi siЙ tylko do poszukiwaЯ na dysku). +\item[\texttt{32}] Poszukiwania plikСw. +\end{itemize} +Warto╤Ф \texttt{-1} ustawia wszystkie powy©sze opcje: w~praktyce, +potrzebuj╠c wykryФ przyczyny bЁЙdСw, prawdopodobnie zawsze u©ywaФ +bЙdziesz tych poziomСw. + +Podobnie, w~przypadku programu \cmdname{dvips}, ustawiaj╠c kombinacjЙ +przeЁ╠cznikСw wykrywania bЁЙdСw, mo©na dokЁadnie ╤ledziФ sk╠d pochodz╠ pliki. +W~wypadku gdy plik nie zostanie odnaleziony, widaФ, w~ktСrych katalogach +program szukaЁ danego pliku, dziЙki czemu mo©na siЙ zorientowaФ w~czym +problem. + +OgСlnie mСwi╠c, poniewa© programy odwoЁuj╠ siЙ wewnЙtrznie do +biblioteki \KPS{}, opcje wykrywania bЁЙdСw wybraФ mo©na przy u©yciu +zmiennej ╤rodowiskowej \envname{KPATHSEA\_DEBUG}, ustawiaj╠c j╠ +na opisan╠ powy©ej warto╤Ф (kombinacjЙ warto╤ci). + +\noindent +\textbf{Uwaga dla u©ytkownikСw Windows:} w~systemie tym nieЁatwo jest +przekierowaФ komunikaty programu do pliku. Do celСw diagnostycznych +mo©na w~tym celu ustawiФ chwilowo zmienne (w~oknie DOS/CMD): +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Rozwa©my na przykЁad maЁy \LaTeX-owy plik ╪rСdЁowy \file{hello-world.tex}, +ktСry zawiera co nastЙpuje: +\begin{verbatim} + \documentclass{article} + \begin{document} + Hello World! + \end{document} +\end{verbatim} +Ten maЁy plik u©ywa jedynie fontu \file{cmr10}. Przyjrzyjmy siЙ jak +\cmdname{dvips} przygotowuje plik PostScript-owy (chcemy u©yФ wersji Type1 +fontu Computer Modern, st╠d opcja \texttt{-Pcms}). +\begin{alltt} +> \Ucom{dvips -d4100 hello-world -Pcms -o} +\end{alltt} +Mamy tu do czynienia jednocze╤nie z~czwart╠ klas╠ wykrywania bЁЙdСw +programu \cmdname{dvips} (╤cie©ki fontowe) oraz z~rozwijaniem elementu +╤cie©ki przez \KPS{} (patrz: \emph{Dvips Reference Manual}, \OnCD{texmf/doc/dvips/dvips.html}). + %Komunikaty z~uruchomienia programu (lekko zmodyfikowane) znajduj╠ siЙ + %na~rys.~\ref{fig:dvipsdbga}. + %\begin{figure*}[tp] + %\centering + %\input{examples/ex6a.tex} + %\caption{Szukanie pliku konfiguracyjnego}\label{fig:dvipsdbga} + % + %\bigskip + % + %\input{examples/ex6b.tex} + %\caption{Szukanie pliku prologu}\label{fig:dvipsdbgb} + % + %\bigskip + % + %\input{examples/ex6c.tex} + %\caption{Szukanie pliku fontu}\label{fig:dvipsdbgc} + %\end{figure*} + Program \cmdname{dvips} zaczyna pracЙ od zlokalizowania potrzebnych mu plikСw. +Najpierw znajduje plik \file{texmf.cnf}, ktСry zawiera ╤cie©ki +przeszukiwania dla innych plikСw. Potem znajduje bazЙ danych \file{ls-R} +(dla optymalizacji szukania plikСw), nastЙpnie plik \file{aliases}, +ktСry umo©liwia deklarowanie rС©nych nazw (np. krСtkie \acro{DOS}-owe ,,8.3'' +i~bardziej naturalne dЁu©sze wersje) dla tych samych plikСw. +NastЙpnie \cmdname{dvips} znajduje podstawowy plik konfiguracyjny +\file{config.ps}, zanim poszuka pliku z~ustawieniami u©ytkownika +\file{.dvipsrc} (ktСry w~tym wypadku \emph{nie} zostaje odnaleziony). +W~koЯcu \cmdname{dvips} lokalizuje plik konfiguracyjny \file{config.cms} +dla fontСw PostScript-owych Computer Modern (jest to inicjowane przez +dodanie parametru \texttt{-Pcms} przy uruchamianiu programu). +Plik ten zawiera listЙ plikСw z~,,mapami'', ktСre definiuj╠ relacje +pomiЙdzy \TeX-owymi, PostScript-owymi i~systemowymi nazwami fontСw. +\begin{alltt} +> \Ucom{more /usr/local/texmf/dvips/config/config.cms} +p +bsr.map +p +bakomaextra.map +\end{alltt} +W~ten sposСb \cmdname{dvips} wyszukuje wszystkie te pliki oraz gЁСwny plik +z~przemapowaniem +\file{psfonts.map}, ktСry Ёadowany jest domy╤lnie (zawiera on deklaracje +czЙsto u©ywanych fontСw PostScript-owych; wiЙcej szczegСЁСw odno╤nie +PostScript-owych plikСw przemapowaЯ fontСw mo©na znale╪Ф w~ostatniej czЙ╤ci +rozdziaЁu \ref{SExamplesofuse}). + +W~tym miejscu \cmdname{dvips} zgЁasza siЙ u©ytkownikowi: +\begin{alltt}\ifSingleColumn +This is dvips 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com) +\else\small{}This is dvips 5.86 Copyright 1999 Radical Eye... +\fi\end{alltt}% decided to accept slight overrun in tub case +\ifSingleColumn +\ldots potem szuka pliku prologu \file{texc.pro}: +\begin{alltt}\small +kdebug:start search(file=texc.pro, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(texc.pro) => /usr/local/texmf/dvips/base/texc.pro +\end{alltt} +\else +potem szuka pliku prologu \file{texc.pro}. + %(patrz rys.~\ref{fig:dvipsdbgb}). + +\fi +Po znalezieniu szukanego pliku, \cmdname{dvips} podaje datЙ i~czas +oraz informuje o~generowaniu pliku \file{hello-world.ps}. +Poniewa© potrzebuje pliku z~fontem \file{cmr10}, a~jest on +zadeklarowany jako dostЙpny, wy╤wietla komunikat: +\begin{alltt}\small +TeX output 1998.02.26:1204' -> hello-world.ps +Defining font () cmr10 at 10.0pt +Font cmr10 <CMR10> is resident. +\end{alltt} +Teraz trwa poszukiwanie pliku \file{cmr10.tfm}, ktСry zostaje znaleziony, +a~nastЙpnie \cmdname{dvips} powoЁuje siЙ na kilka innych plikСw startowych +(nie pokazanych). W~koЯcu przykЁadowy font Type1 \file{cmr10.pfb} +zostaje zlokalizowany +i~doЁ╠czony do pliku wynikowego (patrz ostatnia linia): +\begin{alltt}\small +kdebug:start search(file=cmr10.tfm, must\_exist=1, find\_all=0, + path=.:~/tex/fonts/tfm//:!!/usr/local/texmf/fonts/tfm//: + /var/tex/fonts/tfm//). +kdebug:search(cmr10.tfm) => /usr/local/texmf/fonts/tfm/public/cm/cmr10.tfm +kdebug:start search(file=texps.pro, must\_exist=0, find\_all=0, + ... +<texps.pro> +kdebug:start search(file=cmr10.pfb, must\_exist=0, find\_all=0, + path=.:~/tex/dvips//:!!/usr/local/texmf/dvips//: + ~/tex/fonts/type1//:!!/usr/local/texmf/fonts/type1//). +kdebug:search(cmr10.pfb) => /usr/local/texmf/fonts/type1/public/cm/cmr10.pfb +<cmr10.pfb>[1] +\end{alltt} + +\subsection{Parametry kontroluj╠ce dziaЁanie programСw} +Inn╠ u©yteczn╠ cech╠ \Webc{} jest mo©liwo╤Ф ustalania wielu parametrСw +okre╤laj╠cych wielko╤Ф pamiЙci za pomoc╠ pliku \texttt{texmf.cnf}. + %ZaЁ╠cznik~\ref{app:texmf.cnf} zaczynaj╠cy siЙ na + %stronie~\pageref{app:texmf.cnf} zawiera listing pliku \texttt{texmf.cnf}. + Ustawienia wszystkich parametrСw znajduj╠ siЙ w~czЙ╤ci trzeciej pliku. +Najwa©niejszymi zmiennymi s╠: +\begin{description} +\item[\code{main\_memory}] CaЁkowita wielko╤Ф pamiЙci dostЙpnej dla + \TeX-a, \MF{}-a i~\MP{}-a. Dla ka©dego nowego ustawienia tej zmiennej + nale©y wykonaФ nowy format. + %PrzykЁadowo, mo©esz wygenerowaФ ,,ogromn╠'' wersjЙ formatu \TeX{} i~nazwaФ + %taki plik \texttt{hugetex.fmt}. + %DziЙki standardowemu sposobowi nazywania programСw przez + %\KPS{}, okre╤lona warto╤Ф zmiennej \verb|main_memory| bЙdzie + %przeczytana z~pliku \texttt{texmf.cnf} (por. warto╤Ф standardow╠ + %oraz warto╤Ф ,,ogromn╠'', wykorzystywan╠ przez program \texttt{hugetex}, + %itd.). + % +\item[\code{extra\_mem\_bot}] Dodatkowa wielko╤Ф pamiЙci przeznaczonej + na ,,du©e'' struktury danych \TeX-a, takie jak: pudeЁka, kleje itd.; + przydatna zwЁaszcza w~przypadku korzystania z~pakietu \PiCTeX{}. + % +\item[\code{font\_mem\_size}] Wielko╤Ф pamiЙci przeznaczonej przez + \TeX-a na informacje o~fontach. Jest to mniej wiЙcej ogСlna + wielko╤Ф wczytywanych przez \TeX-a plikСw TFM. + % +\item[\code{hash\_extra}] Dodatkowa wielko╤Ф pamiЙci przeznaczonej + na tablicЙ zawieraj╠c╠ nazwy instrukcji. Tablica gЁСwna + mo©e zmie╤ciФ w~przybli©eniu 10000 nazw; wielko╤Ф ta mo©e okazaФ + siЙ zbyt maЁa, np. w~wypadku obszernej ksi╠©ki zawieraj╠cej liczne + odsyЁacze. Domy╤lna warto╤Ф \texttt{hash\_extra} to \texttt{50000}. +\end{description} + % +Oczywi╤cie powy©sza mo©liwo╤Ф nie zast╠pi prawdziwej, dynamicznej +alokacji pamiЙci. Jest to jednak niezwykle trudne +do zaimplementowania w~obecnej wersji \TeX-a i~dlatego +powy©sze parametry stanowi╠ praktyczny kompromis, pozwalaj╠c +na pewn╠ elastyczno╤Ф. + +%%==== +\section{Budowa systemu na nowej platformie Uniksowej}\label{sec:build} +Je©eli mamy do czynienia z~platform╠, dla ktСrej nie s╠ dostarczone binaria, +trzeba bЙdzie skompilowaФ \TeX-a oraz towarzysz╠ce mu programy. +Nie jest to takie trudne jak siЙ wydaje. +Wszystko czego potrzebujemy znajduje siЙ na \CD{} w~katalogu +\texttt{source}. + +Najpierw nale©y zainstalowaФ gЁСwne drzewo plikСw \TeX-owych z~\CD{} +\TL{} (najlepiej jest wykonaФ instalacjЙ podstawow╠, bez wybierania +binariСw systemowych). + +\subsection{Warunki wstЙpne} +Do skompilowania caЁego \TeX-a i~jego programСw pomocniczych potrzeba +okoЁo 100 megabajtСw wolnego miejsca na dysku. +Potrzebny jest tak©e kompilator \acro{ANSI}~C, oprogramowanie \cmdname{make}, +skaner leksykalny oraz generator parserСw. +Programy u©ytkowe \acro{GNU} (\cmdname{gcc}, \acro{GNU} +\cmdname{make}, \cmdname{m4}, \cmdname{flex}, \cmdname{bison}) +s╠ najlepiej przetestowanymi na rС©nych platformach. +PrawidЁowo powinny pracowaФ \cmdname{gcc}-2.7.*, \cmdname{flex}-2.4.7 +i~\acro{GNU}\,\cmdname{make}-3.72.1 lub nowszy. +Istnieje mo©liwo╤Ф pracy z~innymi kompilatorami C i~programami +\cmdname{make}, wymaga to jednak dobrego zrozumienia zasad tworzenia +programСw Unixowych, aby mСc poradziФ sobie z~ewentualnymi problemami. + %W~wyniku wykonania polecenia \texttt{uname} powinni╤my + %otrzymaФ jak╠╤ rozs╠dn╠ warto╤Ф. + +\subsection{Konfiguracja} +Nale©y rozpakowaФ ╪rСdЁa ze skompresowanego pliku \texttt{tar} +z~katalogu \dirname{source} na twardy dysk, a~potem przej╤Ф do katalogu, +do ktСrego zostaЁy one skopiowane. +Teraz trzeba zdecydowaФ siЙ, gdzie bЙdzie gЁСwny katalog instalacji, +np.\ \path|/usr/TeX| lub \path|/usr/local/TeX|. +Naturalnie, nale©y u©yФ tej samej lokalizacji, ktСra zostaЁa wykorzystana +przy instalowaniu gЁСwnego drzewa \TeX-owego. + +UruchomiФ \textsf{configure} z~linii poleceЯ: +\begin{alltt} +> \Ucom{./configure --prefix=/usr/local/TeX} +\end{alltt} + +Katalog ,,prefix'' to ten, w~ktСrym zainstalowane zostaЁo gЁСwne drzewo +\TeX-owe. Zostanie wykorzystany nastЙpuj╠cy ukЁad katalogСw + (\verb|$TEXDIR| oznacza wybrany powy©ej katalog): + +\noindent +\begin{tabular}{>{\ttfamily}ll@{}} + \dirname{$TEXDIR/man} & strony manuala Uniksowego,\\ + \dirname{$TEXDIR/share/texmf} & gЁСwne drzewo \TeX-owe, + zawieraj╠ce makra itp.,\\ + \dirname{$TEXDIR/info} & podrЙczniki w formacie \acro{GNU} + info,\\ + \dirname{$TEXDIR/bin/$PLATFORM} & binaria\\ +\end{tabular} +%$ + +Mo©na unikn╠Ф stosowania ,,\dirname{share/}'' przed katalogiem +\dirname{texmf}, poniewa© \dirname{$TEXDIR/share/texmf} +i~\dirname{$TEXDIR/texmf} s╠ wykrywane automatycznie przez skrypt \cmdname{configure}. +W~przypadku wybrania innego katalogu, trzeba wyszczegСlniФ ten katalog +parametrem \verb|--datadir| skryptu \cmdname{configure}. + +Je©eli nie chcemy u©ywaФ katalogu \dirname{$PLATFORM} +(a~wiЙc umie╤ciФ binaria bezpo╤rednio w~\dirname{$TEXDIR/bin}), w~wywoЁaniu +skryptu \cmdname{configure} nale©y u©yФ parametru +\verb|--disable-multiplatform|. + +WiЙcej dostЙpnych parametrСw (np. pomijanie pakietСw opcjonalnych, takich +jak \OMEGA\ czy \eTeX) mo©na zobaczyФ uruchamiaj╠c +\texttt{./configure -{}-help}. + +\subsection{Uruchamianie \textsf{make}} +Po upewnieniu siЙ, ©e nie jest ustawiona zmienna powЁoki \texttt{noclobber}, +nale©y napisaФ +\begin{alltt} +> \Ucom{make world} +\end{alltt} +i~\ldots zaparzyФ sobie kawЙ. + +MogЁoby te© byФ u©yteczne zapisanie w~pliku \texttt{.log} caЁego procesu +kompilacji: +\begin{alltt} +> \Ucom{sh -c "make world >world.log 2>\&1" \&} +\end{alltt} +Zanim stwierdzimy, ©e wszystko jest w~porz╠dku, warto sprawdziФ czy w~pliku +\texttt{.log} nie ma komunikatСw bЁЙdСw (kiedy polecenie zwraca kod bЁЙdu, +\acro{GNU} \cmdname{make} zawsze u©ywa sekwencji \samp{***}) +i~czy utworzone zostaЁy wszystkie binaria: +\begin{alltt} +> \Ucom{cd /usr/local/TeX/bin/i586-pc-linux-gnu} +> \Ucom{ls | wc} +\end{alltt} +Oczekiwanym rezultatem jest 242. Polecenie \texttt{make world} jest +rСwnowa©ne z~\texttt{make all install strip}. +Je╤li do uruchamiania \texttt{make install} potrzebne s╠ specjalne +uprawnienia, mo©na uruchomiФ dwie oddzielne sesje \cmdname{make}: +\begin{alltt} +> \Ucom{make all} +> \Ucom{su} +> \Ucom{make install strip} +\end{alltt} + +\subsection{KoЯcowe kroki konfiguracyjne} +Nale©y uaktualniФ zmienn╠ \envname{PATH} o~nazwЙ katalogu zawieraj╠cego +wЁa╤nie zainstalowane binaria (np.\ +\dirname{/usr/local/TeX/bin/mips-sgi-irix6.3}); podobnie post╠piФ trzeba +z~\envname{MANPATH} i~\envname{INFOPATH} i~doЁ╠czyФ do nich +odpowiednie nazwy podkatalogСw, tj.\ +\dirname{$TEXDIR/man} oraz \dirname{$TEXDIR/info}. + +Program \cmdname{texconfig} pozwala na ustawienie domy╤lnych wzorcСw +przenoszenia wyrazСw, rozmiaru papieru, poleceЯ do druku, trybu \MF{}-a itd. +Polecenia tego u©ywaФ mo©na interaktywnie. Aby zobaczyФ jakie funkcje program +udostЙpnia, wystarczy napisaФ: +\begin{alltt} +> \Ucom{texconfig help} +\end{alltt} + +PrzykЁadowo, je©eli nie u©ywamy formatu A4, mo©emy ustawiФ jako format +domy╤lny ,,lettersize'' pisz╠c: +\begin{alltt} +> \Ucom{texconfig dvips paper letter} +> \Ucom{texconfig xdvi paper us} +\end{alltt} + +%-------------------------- +\section{PodziЙkowania}\label{sec:acknowl} + +\TL{} jest wspСlnym dzieЁem praktycznie wszystkich grup \TeX-owych. +Niniejsza edycja \TL{} zostaЁa opracowana pod kierownictwem Sebastiana +Rahtza i~Karla Berry, przy gЁСwnym wspСЁudziale: + +\begin{itemize*} +\item Niemieckiej Grupy \TeX-owej (\acro{DANTE e.V.}), ktСra udostЙpniЁa + komputer, na ktСrym przygotowywano niniejsze wydanie; a~w~szczegСlno╤ci + Rainera Sch\"opfa i~Reinharda Zierke, ktСrzy opiekowali siЙ + tym komputerem oraz Volkera Schaa i~Klausa Hoeppnera, ktСrzy + koordynowali produkcjЙ pЁytek w~wydawnictwie Lehmanns; +\item firmy Perforce, ktСra udostЙpniЁa bezpЁatn╠ kopiЙ ╤wietnego + oprogramowania do zarz╠dzania zmianami w~przygotowywanej dystrybucji; +\item Petera Breitenlohnera i~\eTeX\ teamu; +\item Thomasa Essera, autora wspaniaЁego \teTeX-a, bez ktСrego + \TL{} z~caЁ╠ pewno╤ci╠ by nie powstaЁ, i~ktСrego staЁa + pomoc umo©liwiЁa uczynienie z~tej dystrybucji coraz lepszego produktu; +\item Eitana Gurari, autora programu \TeX4ht{} (wykorzystanego do + tworzenia niniejszej dokumentacji w~wersji \HTML), ktСry niezmordowanie pracowaЁ + nad jego ulepszaniem i~bЁyskawicznie wykonywaЁ poprawki; +\item Hansa Hagena, ktСry dostosowywaЁ \ConTeXt\ do potrzeb \TL; +\item PawЁa Jackowskiego, ktСry wykonaЁ instalator dla Windows \cmdname{tlpm} + i~Tomka ёuczaka, twСrcy \cmdname{tlpmgui}; +\item \Thanh{}a, Martina Schr\"odera i~pdf\TeX\ teamu; +\item Petra Ol\shac{}\aac{}ka, ktСry koordynowaЁ i~sprawdzaЁ + przygotowanie czeskich i~sЁowackich pakietСw; +\item Fabrice'a Popineau, ktСry przygotowaЁ oprogramowanie dla Windows + i~szczegСlnie wiele czasu po╤wiЙciЁ na opracowanie metod przygotowania + i~zarz╠dzania pakietami; +\item Staszka Wawrykiewicza, gЁСwnego testuj╠cego \TL{} w~rС©nych systemach, + ktСry ponadto koordynowaЁ przygotowanie wszystkich polskich dodatkСw; +\item Olafa Webera, ktСry cierpliwie pielЙgnowaЁ Web2c; +\item Gerbena Wierda, ktСry przygotowaЁ oprogramowanie i~wsparcie dla + \MacOSX{}; +\item Grahama Williamsa, ktСrego prace nad katalogiem pakietСw bardzo + pomogЁy w~przygotowaniu dystrybucji. +\end{itemize*} + +Binaria dla rС©nych platform skompilowali: +Tigran Aivazian (\pkgname{x86\_64-linux}), +Manfred Lotz (\pkgname{i386-freebsd}), +%Maksym Polyakov (\pkgname{sparc-solaris}), +Fabrice Popineau (\pkgname{win32}), +Norbert Prei\-ning (\pkgname{alpha-linux}), +Vladimir Volovich (\pkgname{powerpc-aix}, \pkgname{sparc-linux} + i~\pkgname{sparc-solaris}), +Staszek Wawrykiewicz (\pkgname{i386-linux}), +Olaf Weber (\pkgname{mips-irix}), +Gerben Wierda (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Aktualizacje i~tЁumaczenia dokumentacji wykonali: +Karl Berry (angielski), +Daniel Flipo \& Fabrice Popineau (francuski), +G\"unter Partosch \& Hartmut Henkel (niemiecki), +Petr Sojka \& Jan Busa (czeski\slash sЁowacki), +Boris Veytsman (rosyjski), +Staszek Wawrykiewicz (polski). + +Oczywi╤cie, najwa©niejsze podziЙkowania nale©╠ siЙ Donaldowi Knuthowi +za stworzenie systemu \TeX{} i~ofiarowanie go nam wszystkim. + +%%% +\section{Historia} +\label{sec:history} + +\subsection{Poprzednie wersje} + +Dystrybucja \TL{} jest wspСlnym przedsiЙwziЙciem +grup U©ytkownikСw Systemu \TeX{} z Niemiec, Holandii, Wielkiej +Brytanii, Francji, Czech, SЁowacji, Polski, Indii i~Rosji oraz grupy +miЙdzynarodowej TUG (\emph{\TeX{} Users Group}). +Dyskusje nad projektem rozpoczЙЁy siЙ pod koniec 1993 roku, kiedy holenderska +Grupa U©ytkownikСw \TeX-a rozpoczЙЁa prace nad swoim +4All\TeX{} \CD{} dla u©ytkownikСw \acro{MS-DOS}. W~tym te© +czasie pojawiЁy siЙ nadzieje na opracowanie jednego \CD{} dla +wszystkich systemСw. +Projekt taki byЁ wprawdzie zbyt ambitny, ale zrodziЁ nie tylko bardzo +popularny i~uwieЯczony du©ym powodzeniem projekt 4All\TeX{} \CD{}, +lecz rСwnie© spowodowaЁ powstanie Grupy Roboczej TUG ds. Standardu KatalogСw +\TeX-owych (\emph{\TeX{} Directory Structure}), okre╤laj╠cego w~jaki +sposСb tworzyФ zgodne i~Ёatwe do zarz╠dzania zestawy pakietСw \TeX-owych. +KoЯcowy raport \TDS{} zostaЁ opublikowany w~grudniowym numerze +\textsl{TUGboat}-a, i~jasnym siЙ staЁo, ©e +jednym z~oczekiwanych rezultatСw wprowadzenia tego standardu mogЁaby +byФ modelowa struktura na \CD. +Niniejszy \CD{} jest bezpo╤rednim rezultatem rozwa©aЯ i~zaleceЯ +Grupy Roboczej ds. \TDS. +Jasne tak©e byЁo, ©e sukces 4All\TeX{} \CD{} pokazaЁ, ©e +u©ytkownicy Unixa tak©e wiele by zyskali mog╠c korzystaФ +z~podobnie Ёatwego w~instalacji/pielЙgnacji i~u©ytkowaniu systemu. +ByЁo to jednym z~celСw projektu \TL. + +Projekt przygotowania nowego \CD, opartego na standardzie \TDS i~zorientowanego +na systemy Uniksowe, rozpocz╠Ё siЙ jesieni╠ 1995 roku. Szybko +zdecydowali╤my siЙ na wykorzystanie \teTeX-a autorstwa Thomasa Essera, poniewa© +oferowaЁ on wsparcie dla wielu platform i~zostaЁ zaprojektowany z~my╤l╠ +o~przeno╤no╤ci pomiЙdzy rС©nymi systemami plikСw. Thomas zgodziЁ siЙ pomСc +i~prace rozpoczЙЁy siЙ na dobre na pocz╠tku 1996 roku. Pierwsze wydanie +ukazaЁo siЙ w~maju 1996 roku. Na pocz╠tku 1997 roku Karl Berry udostЙpniЁ +now╠, powa©nie zmienion╠ wersjЙ swojego pakietu \Webc, zawieraj╠c╠ prawie +wszystkie funkcje wprowadzone do \teTeX-a przez Thomasa Essera. W~zwi╠zku +z~tym zdecydowali╤my siЙ oprzeФ drugie wydanie \CD{} na standardowej +bibliotece \Webc, z~dodaniem skryptu \texttt{texconfig} z~pakietu \teTeX. +Trzecie wydanie \CD{} byЁo oparte na \Webc{} wersji 7.2, przygotowanej przez +Olafa Webera. W~tym samym czasie zostaЁa przygotowana nowa wersja \teTeX-a +i~\TL{} udostЙpniaЁ prawie wszystkie jego nowe funkcje. +Czwarta edycja byЁa przygotowana podobnie, +wykorzystuj╠c now╠ wersjЙ te\TeX-a i~now╠ wersjЙ \Webc{} (7.3). +Wtedy to te© zainaugurowano kompletn╠ dystrybucjЙ dla Windows. + +Edycja pi╠ta (marzec 2000) zawieraЁa wiele poprawek i~uzupeЁnieЯ; +zaktualizowano setki pakietСw. SzczegСЁy zawarto╤ci pakietСw zostaЁy +zapisane w~plikach XML. +GЁСwn╠ zmian╠ w~\TeX\ Live5 byЁo usuniЙcie programСw, ktСre nie miaЁy statusu +{\it public domain}. Zawarto╤Ф caЁej pЁytki powinna odpowiadaФ ustaleniom +Debian Free Software Guidelines (\url{http://www.debian.org/intro/free}). +DoЁo©yli╤my wszelkich staraЯ aby sprawdziФ warunki licencyjne pakietСw, +ale nadal bardzo prosimy o~zgЁaszanie zauwa©onych pomyЁek. + +SzСsta edycja (lipiec 2001) zawieraЁa aktualizacje caЁego materiaЁu. GЁСwn╠ +zmian╠ byЁo wprowadzenie nowej koncepcji programСw instalacyjnych: u©ytkownik +miaЁ odt╠d mo©liwo╤Ф dokЁadniejszego wyboru potrzebnych zestawСw i~pakietСw. +Zestawy dotycz╠ce obsЁugi poszczegСlnych jЙzykСw zostaЁy caЁkowicie +zreorganizowane, dziЙki czemu wybСr jednego z~nich nie tylko instalowaЁ +potrzebne makra i~fonty, ale tak©e przygotowywaЁ odpowiedni plik +\texttt{language.dat}. + +\TL~7 (rok 2002) zawieraЁ po raz pierwszy oprogramowanie dla \MacOSX{} +i,~jak zwykle, aktualizacjЙ wszelkich programСw i~pakietСw. +Wa©nym zadaniem, ktСre wykonano, byЁo ujednolicenie plikСw ╪rСdЁowych +programСw z~dystrybucj╠ te\TeX. W~programach instalacyjnych wprowadzono +mo©liwo╤Ф wyboru bardziej ogСlnych, predefiniowanych zestawСw pakietСw +(m.in. dla u©ytkownikСw francuskojЙzycznych oraz polskich). Nowo╤ci╠ +byЁo tak©e wprowadzenie procedury aktualizacji map fontowych dla Dvips +i~Pdftex podczas instalacji oraz doinstalowywania pakietСw fontowych. + +W~2003~r., wraz z~napЁywem aktualizacji i~dodatkowych nowych pakietСw, +okazaЁo siЙ, ©e \TL{} nie mie╤ci siЙ na pojedynczym \CD. +Zmuszeni byli╤my podzieliФ \TL{} na trzy dystrybucje, ktСre wydano +na \DVD{} i~dwСch pЁytkach \CD. Ponadto: + +\begin{itemize*} +\item na ©yczenie ,,\LaTeX{} team'' zmieniono standardowe u©ycie + programСw \cmdname{latex} i~\cmdname{pdflatex}~-- korzystaЁy + one z~\eTeX{} (patrz str.~\pageref{text:etex}); +\item zaЁ╠czono nowe fonty obwiedniowe Latin Modern, ktСre zastЙpuj╠ + m.in. fonty EC (zawieraj╠c komplet znakСw europejskich), szczegСlnie + do tworzenia poprawnych plikСw PDF; +\item usuniЙto binaria dla platformy Alpha \acro{OSF} (poprzednio + usuniЙto tak©e binaria dla \acro{HPUX}), niestety nie udaЁo siЙ znale╪Ф + osСb chЙtnych do wykonania kompilacji; +\item zmieniono instalacjЙ w~systemach Windows, wprowadzaj╠c po raz pierwszy + zintegrowane ╤rodowisko pracy oparte na edytorze XEmacs; +\item potrzebne programy pomocnicze dla Windows (Perl, Ghost\-script, + Image\-Magick, Ispell) instalowano w~strukturze katalogСw + instalacji \TL; +\item mapy fontowe, wykorzystywane przez programy \cmdname{dvips}, + \cmdname{dvipdfm} oraz \cmdname{pdftex}, generowano odt╠d w~katalogu + \dirname{texmf/fonts/map}; +\item \TeX{}, \MF{} oraz \MP{} domy╤lnie pozwalaЁy wypisywaФ komunikaty + na ekranie i~w~pliku .log, a~tak©e w~operacjach \verb|\write| w~ich + reprezentacji 8-bitowej, zamiast tradycyjnej notacji \verb|^^|; + w~\TL{}~7 eksperymentalnie wprowadzono zale©no╤Ф przekodowania + wyj╤cia programСw od systemowej strony kodowej, obecnie ten pomysЁ + zarzucono; +\item znacznie zmieniono niniejsz╠ dokumentacjЙ; +\item wreszcie, poniewa© numery wersji kolejnych edycji mogЁy wprowadzaФ + w~bЁ╠d, postanowili╤my identyfikowaФ edycje \TL{} zgodnie z~rokiem + wydania. +\end{itemize*} + +\subsection{Edycja 2004} + +Jak przy ka©dej kolejnej wersji, w~2004 roku uaktualniono wiele pakietСw +i~programСw. Poni©ej wymieniamy najbardziej istotne zmiany. + +\begin{itemize} +\item Gdy mamy ju© lokalnie zaistalowane fonty, ktСre korzystaj╠ z~wЁasnych +plikСw \filename{.map} i/lub \filename{.enc}, \emph{nale©y} przenie╤Ф te +pliki w~nowe miejsce w~strukturze \filename{texmf/}. + +Pliki \filename{.map} (map fontowych) s╠ obecnie wyszukiwane w~podkatalogach +\dirname{fonts/map} (w~ka©dym drzewie \filename{texmf}), zgodnie ze ╤cie©k╠ +okre╤lon╠ przez zmienn╠ \envname{TEXFONTMAPS}. Analogicznie, pliki +\filename{.enc} (przekodowaЯ fontСw) s╠ obecnie wyszukiwane w~podkatalogach +\dirname{fonts/enc}, zgodnie ze ╤cie©k╠ okre╤lon╠ przez zmienn╠ +\envname{ENCFONTS}. O~niewЁa╤ciwie umieszczonych plikach tego typu +zostaniemy ostrze©eni podczas uruchomienia programu \cmdname{updmap}. +Zmiany te wprowadzono w~celu uporz╠dkowania struktury katalogСw: wszystkie +pliki dotycz╠ce fontСw znajduj╠ siЙ obecnie w~ramach jednego podkatalogu +\dirname{fonts/}. + +Metody radzenia sobie z~sytuacjami zwi╠zanymi z~przej╤ciem na nowy ukЁad +katalogСw omawia artykuЁ \url{http://tug.org/texlive/mapenc.html}. + +\item Do \TK\ \DVD{} dodano now╠ dystrybucjЙ dla Windows o~nazwie +pro\TeX{}t (opart╠ na \MIKTEX-u). Jest ona dostЙpna tak©e na odrЙbnym \CD. +ChoФ pro\TeX{}t nie bazuje na implementacji Web2C, stosuje ukЁad katalogСw +zgodny z~\TDS (patrz czЙ╤Ф~\ref{sec:struct-tl} na +str.~\pageref{sec:struct-tl}). + +\item W ramach \TL{} dotychczasowe pojedyncze drzewo katalogСw +\dirname{texmf} zostaЁo rozdzielone na trzy mniejsze: \dirname{texmf}, +\dirname{texmf-dist} i~\dirname{texmf-doc} (patrz +czЙ╤Ф~\ref{sec:tld}, str.~\pageref{sec:tld}) oraz pliki \filename{README} +w~ka©dym z~tych katalogСw). + +\item Wszystkie pliki makr wczytywane przez \TeX-a s╠ +obecnie umieszczone wyЁ╠cznie w~podkalogu \dirname{tex} w~ramach +\dirname{texmf*}. Tym samym usuniЙto zbЙdne katalogi +\dirname{etex}, \dirname{pdftex}, \dirname{pdfetex} itp. i~uproszczono +metody wyszukiwania plikСw. + +\item Pomocnicze skrypty wykonywalne, niezale©ne od platformy +i~zwykle uruchamiane w~sposСb automatyczny, s╠ obecnie +umieszczone w~nowym podkatalogu \dirname{scripts} w~ramach \dirname{texmf*}. +Znajdywane s╠ poleceniem \verb|kpsewhich -format=texmfscripts|. +Programy korzystaj╠ce z tych skryptСw mog╠ 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╠ obecnie wiЙkszo╤Ф znakСw +jako jawnie ,,wy╤wietlalne'' (\emph{printable}), nie za╤, jak byЁo dotychczas, +konwertowane na \TeX-ow╠ notacjЙ \verb|^^|. Mo©liwe jest to dziЙki domy╤lnemu +wczytywaniu tablicy przekodowaЯ \filename{cp227.tcx}. DokЁadniej, znaki +o~kodach 32--256, HT, VT oraz FF s╠ traktowane dosЁownie podczas wy╤wietlania +komunikatСw. Wyj╠tkiem jest plain \TeX{} (tylko znaki z~zakresu 32--127 +s╠ nie zmieniane), \ConTeXt{} (znaki z zakresu 0--255) oraz formaty bazuj╠ce +na Omedze. Podobna domy╤lna wЁa╤ciwo╤Ф byЁa wprowadzona w~\TL\,2003, ale +obecnie zostaЁa zaimplementowana w~bardziej elegancki sposСb i~z~wiЙkszymi +mo©liwo╤ciami indywidualnego dostosowania (patrz +\CDref{texmf/doc/web2c/web2c.html\#TCX-files} +{\texttt{texmf/doc/web2c/web2c.html\#TCX-files}}. +(Warto wspomnieФ, ©e wczytuj╠c Unicode \TeX{} mo©e w~komunikatach bЁЙdСw +pokazywaФ niekompletne sekwencje znakСw, poniewa© +zostaЁ zaprojektowany ,,bajtowo''.) % hmmm, caЁy akapit by + % o strumieniach we-wy? + +\item Program \textsf{pdfetex} jest obecnie domy╤ln╠ ,,maszyn╠'' dla +wiЙkszo╤ci formatСw (nie dotyczy to samego (plain) \textsf{tex}). +Domy╤lnie, gdy uruchamiamy polecenie \textsf{latex}, \textsf{mex} +itp., generowane s╠ pliki \acro{DVI}. Mo©liwe jest jednak wykorzystanie +w~\LaTeX, \ConTeXt{} itp. m.in. wЁa╤ciwo╤ci mikrotypograficznych +zaimplementowanych w~\textsf{pdftex}, a~tak©e rozszerzonych cech \eTeX-a +(\OnCD{texmf-dist/doc/etex/base/}). + +Oznacza to tak©e, co warto podkre╤liФ, ©e \emph{zalecane} jest u©ycie +pakietu \pkgname{ifpdf} (ktСry dziaЁa zarСwno z~plain, jak i~\LaTeX) +lub analogicznych makr. ZwykЁe sprawdzanie czy zdefiniowano \cs{pdfoutput} +b╠d╪ kilka innych poleceЯ pierwotnych mo©e nie wystarczyФ do rozstrzygniЙcia +czy nie jest generowany plik \acro{PDF}. W~tym roku podjЙli╤my +wysiЁek by zachowaФ, najlepiej jak to mo©liwe, kompatybilno╤Ф +z~dotychczasowymi przyzwyczajeniami u©ytkownikСw. Od przyszЁego roku +nale©y siЙ spodziewaФ, ©e \cs{pdfoutput} mo©e byФ zdefiniowany nawet wtedy, +gdy generowany jest plik \acro{DVI}. + +\item pdf\TeX\ (\url{http://pdftex.org}) posiada obecnie wiele nowych +cech: + + \begin{itemize*} + + \item \cs{pdfmapfile} i~\cs{pdfmapline} pozwalaj╠ okre╤liФ + z~poziomu dokumentu u©yte mapy fontowe, a~tak©e pojedyncze + dodatkowe wpisy w~tych mapach. + + \item mikrotypograficzne operacje z~fontami s╠ Ёatwiejsze w u©yciu;\\ + \url{http://www.ntg.nl/pipermail/ntg-pdftex/2004-May/000504.html} + + \item wszystkie parametry pracy pdf\TeX-a, dotychczas okre╤lane + w~specjalnym pliku konfiguracyjnym \filename{pdftex.cfg}, musz╠ byФ + teraz ustawiane poleceniami wbudowanymi, jak w~pliku + \filename{pdftexconfig.tex}; plik \filename{pdftex.cfg} + nie jest ju© w~ogСle wykorzystywany. Po zmianie \filename{pdftexconfig.tex} + nale©y na nowo wygenerowaФ pliki formatСw (wci╠© jednak u©ytkownik ma + peЁn╠ swobodЙ okre╤lania parametrСw w~redagowanym dokumencie); + + \item wiЙcej informacji zawarto w~podrЙczniku pdf\TeX-a: + \OnCD{texmf/doc/pdftex/manual}. + + \end{itemize*} + +\item Polecenie \cs{input} w~programach \cmdname{tex}, + \cmdname{mf} oraz \cmdname{mpost} akceptuje obecnie nazwy + plikСw ograniczone podwСjnymi apostrofami, zawieraj╠ce spacje i~inne + znaki, np.: +\begin{verbatim} +\input "nazwa_pliku ze spacjami" % plain +\input{"nazwa_pliku ze spacjami"} % latex +\end{verbatim} +WiЙcej informacji zawiera podrЙcznik Web2C: \OnCD{texmf/doc/web2c}. + +\item \texttt{-output-directory} -- nowa opcja programСw \cmdname{tex}, + \cmdname{mf} oraz \cmdname{mpost} -- pozwala na zapisanie wyniku pracy + w~wyspecyfikowanym katalogu (np. mo©emy uruchomiФ program \texttt{tex} + z~plikiem znajduj╠cym siЙ na dysku tylko do odczytu, za╤ wynik zapisaФ + na dysku pozwalaj╠cym na~to); + +\item Rozszerzenie enc\TeX\ zostaЁo szczЙ╤liwie wЁ╠czone do Web2C. + Aby uaktywniФ to rozszerzenie, nale©y podczas generowania formatu + u©yФ opcji \optname{-enc}. OgСlnie mСwi╠c, enc\TeX\ obsЁuguje + przekodowanie wej╤cia i~wyj╤cia, wЁ╠czaj╠c tak©e Unicode (\acro{UTF}-8) + (patrz \OnCD{texmf-dist/doc/generic/enctex/} oraz + \url{http://www.olsak.net/enctex.html}). + +\item DostЙpny jest nowy program Aleph, ktСry Ё╠czy cechy \eTeX\ i~\OMEGA. + PСki co, dokumentacja jest znikoma (\OnCD{texmf-dist/doc/aleph/base} + oraz \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=aleph}). + Format bazuj╠cy na \LaTeX-u dla programu Aleph nazwano \textsf{lamed}. + +\item Aktualna dystrybucja \LaTeX-a zostaЁa zaopatrzona w~now╠ licencjЙ +\acro{LPPL}, obecnie w~peЁni zgodn╠ i~aprobowan╠ przez zalecenia okre╤lone +w~licencji Debiana. O~nowo╤ciach i~uaktualnieniach mo©na siЙ dowiedzieФ +przegl╠daj╠c pliki \filename{ltnews} w~\OnCD{texmf-dist/doc/latex/base}. + +\item DoЁ╠czono tak©e program \cmdname{dvipng} konwertuj╠cy pliki \acro{DVI} +do formatu graficznego \acro{PNG} (\OnCD{texmf/doc/man/man1/dvipng.1}). + +\item W~porozumieniu i~z~pomoc╠ autora, Claudio Beccari, ograniczono +pakiet \pkgname{cbgreek} do zestawu fontСw rozs╠dnego rozmiaru. UsuniЙto +sporadycznie u©ywane fonty konturowe i~sЁu©╠ce do prezentacji. PeЁen +zestaw jest oczywi╤cie nadal dostЙpny z~serwerСw \acro{CTAN} +(\url{http://www.ctan.org/tex-archive/fonts/greek/cb}). + +\item UsuniЙto program \cmdname{oxdvi}; jego funkcje obsЁuguje +obecnie \cmdname{xdvi}. + +\item Programy z~przedrostkiem \cmdname{ini} oraz \cmdname{vir} +(np. \cmdname{initex}), ktСre zwykle byЁy dowi╠zaniami do programСw +\cmdname{tex}, \cmdname{mf} i~\cmdname{mpost}, nie s╠ ju© dostЙpne. +W~zupeЁno╤ci wystarcza u©ycie w~wierszu poleceЯ opcji \optname{-ini}. + +\item Dystrybucja nie zawiera binariСw dla platformy \textsf{i386-openbsd} +(gЁСwnie z~powodu braku chЙtnych do wykonania kompilacji). + +\item W~systemie \textsf{sparc-solaris} nale©y ustawiФ zmienn╠ systemow╠ +\envname{LD\_LIBRARY\_PATH}, aby uruchomiФ programy \pkgname{t1utils}. +Binaria byЁy kompilowane w~C++, ale w~tym systemie brak jest standardowego +poЁo©enia bibliotek uruchomieniowych. Fakt ten byЁ ju© wcze╤niej znany, +ale nie byЁ dotychczas udokumentowany. Z~kolei dla systemu +\textsf{mips-irix} wymagana jest obecno╤Ф bibliotek \acro{MIPS}pro 7.4. + +\end{itemize} + +\subsection{Edycja 2005} +\label{sec:tlcurrent} + +Aktualna edycja przyniosЁa, jak zwykle, mnСstwo aktualizacji pakietСw +i~programСw. Struktura dystrybucji ustabilizowaЁa siЙ, niemniej jednak +pojawiЁo siЙ nieco zmian w~konfiguracji: + +\begin{itemize} + +\item Wprowadzono nowe skrypty \cmdname{texconfig-sys}, \cmdname{updmap-sys} + i~\cmdname{fmtutil-sys}, ktСrych zadaniem jest modyfikowanie plikСw + konfiguracyjnych w~gЁСwnych drzewach katalogСw systemu. Dotychczasowe + skrypty \cmdname{texconfig}, \cmdname{updmap} i~\cmdname{fmtutil} + modyfikuj╠ obecnie pliki u©ytkownika w~katalogu \dirname{$HOME/.texlive2005}. + (Patrz czЙ╤Ф~\ref{sec:texconfig}, str.~\pageref{sec:texconfig}). + +\item Nowe zmienne ╤rodowiskowe \envname{TEXMFCONFIG} + i~\envname{TEXMFSYSCONFIG} wskazuj╠ poЁo©enie drzew katalogСw z~plikami + konfiguracyjnymi, odpowiednio: u©ytkownika i~systemu. Tak wiЙc mo©e okazaФ + siЙ koniecznym przeniesienie wЁasnych wersji \filename{fmtutil.cnf} + i~\filename{updmap.cfg} w~odpowiednie miejsca. Inn╠ mo©liwo╤ci╠ jest + przedefiniowanie \envname{TEXMFCONFIG} lub \envname{TEXMFSYSCONFIG} + w~pliku texmf.cnf. W~ka©dym przypadku poЁo©enie tych plikСw i~przypisania + \envname{TEXMFCONFIG} i~\envname{TEXMFSYSCONFIG} musz╠ byФ zgodne. + (Patrz czЙ╤Ф~\ref{sec:texmftrees}, str.~\pageref{sec:texmftrees}.) + +\item W~wydaniu zeszЁorocznym przy produkowaniu wynikowego pliku DVI + \verb|\pdfoutput| i~podobne polecenia pozostawaЁy niezdefiniowane, mimo + ©e u©ywany byЁ program \cmdname{pdfetex}. Zgodnie z~obietnic╠, + w~tym roku zarzucili╤my to rozwi╠zanie, ktСrego celem byЁo zapewnienie + kompatybilno╤ci. Z~tego powodu bЙd╠ musiaЁy ulec zmianie te Twoje dokumenty, + ktСre u©ywaj╠ \verb|\ifx\pdfoutput\undefined| do sprawdzania czy plik + wynikowy ma byФ w~formacie PDF. Mo©esz zastosowaФ pakiet \pkgname{ifpdf.sty}, + ktСry dziaЁa zarСwno z~plain \TeX-em jak i~\LaTeX-em, albo zapo©yczyФ + zastosowane w~nim rozwi╠zania. + +\item W~wydaniu zeszЁorocznym zmienili╤my wiЙkszo╤Ф formatСw tak, aby na + wyj╤ciu 8-bitowe znaki byЁy reprezentowane przez same siebie (por. + poprzednia czЙ╤Ф). Nowy plik TCX o~nazwie \filename{empty.tcx} pozwala + w~Ёatwy sposСb uzyskaФ w~razie potrzeby oryginaln╠ notacjЙ (\verb|^^|), + np.: + +\begin{verbatim} +latex --translate-file=empty.tcx twojplik.tex +\end{verbatim} + +\item DoЁ╠czono nowy program \cmdname{dvipdfmx}, sЁu©╠cy do konwersji DVI + do PDF. Program jest aktywnie pielЙgnowan╠ aktualizacj╠ programu + \cmdname{dvipdfm}, ktСry wci╠© jest dostЙpny, ale nie jest ju© polecany. + +\item Nowe programy \cmdname{pdfopen} i~\cmdname{pdfclose} pozwalaj╠ na + przeЁadowanie plikСw PDF w~Adobe Acrobat Reader, bez konieczno╤ci ponownego + uruchamiania programu. (Inne przegl╠darki formatu PDF, jak \cmdname{xpdf}, + \cmdname{gv} i~\cmdname{gsview}, nigdy na tЙ przypadЁo╤Ф nie cierpiaЁy.) + +\item Dla spСjno╤ci, zmienne \envname{HOMETEXMF} i~\envname{VARTEXMF} zostaЁy + przemianowane odpowiednio na \envname{TEXMFHOME} i~\envname{TEXMFSYSVAR}. + Istnieje rСwnie© \envname{TEXMFVAR}, ktСra przeznaczona jest domy╤lnie + dla u©ytkownika. Patrz te© punkt pierwszy, powy©ej. + +\end{itemize} + +\subsection{PrzyszЁe wersje} + +\emph{Niniejsza dystrybucja nie jest doskonaЁa!} Planujemy wydawanie jej +raz na rok +i~chcieliby╤my ©eby zawieraЁa jeszcze wiЙcej pomocnej dokumentacji, wiЙcej +programСw u©ytkowych, lepsze programy instalacyjne oraz (oczywi╤cie) stale +ulepszany i~poprawiany katalog makr i~fontСw. Zadanie to jest wykonywane +przez ciЙ©ko pracuj╠cych ochotnikСw, po╤wiЙcaj╠cych na to wiele swojego +wolnego czasu. Wiele jeszcze pozostaЁo do zrobienia. Je©eli mo©esz pomСc, +nie zastanawiaj siЙ i~przyЁ╠cz siЙ do nas. + +Prosimy o~przesyЁanie poprawek, sugestii i~uzupeЁnieЯ oraz deklaracji +pomocy w~opracowywaniu kolejnych edycji na adres:\hfill\null + % +\begin{quote} +Sebastian Rahtz\\ +{}7 Stratfield Road\\ +Oxford OX2 7BG\\ +United Kingdom\\ +\email{tex-live@tug.org} \\ +\url{http://tug.org/texlive} +\end{quote} + % +Uaktualnienia, ogЁoszenia i~wskazСwki bЙd╠ dostЙpne na stronie +\url{http://tug.org/texlive.html}. + +\end{document} + diff --git a/Master/texmf-doc/source/polish/texlive-pl/live4ht.cfg b/Master/texmf-doc/source/polish/texlive-pl/live4ht.cfg new file mode 100644 index 00000000000..0fcd5cd1318 --- /dev/null +++ b/Master/texmf-doc/source/polish/texlive-pl/live4ht.cfg @@ -0,0 +1,48 @@ +% 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=utf-8,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 +}} + +% 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{} + +\Configure{crosslinks}{[}{] + }{nastЙpny}{poprzedni}{wstecz} + {pocz╠tek}{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/source/polish/texlive-pl/tex-livep.sty b/Master/texmf-doc/source/polish/texlive-pl/tex-livep.sty new file mode 100644 index 00000000000..3277ae66b4b --- /dev/null +++ b/Master/texmf-doc/source/polish/texlive-pl/tex-livep.sty @@ -0,0 +1,427 @@ +% $Id: tex-livep.sty#14 $ $Author: staw $ $Date: 2005/10/31 $ +% TeX Live documentation style. Written by many people over many years. +% Public domain. +% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{tex-livep}[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[%unicode=true, % doesn't work in some PDF viewers :( + 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/source/polish/texlive-pl/tex4ht.env b/Master/texmf-doc/source/polish/texlive-pl/tex4ht.env new file mode 100644 index 00000000000..d6368769d1a --- /dev/null +++ b/Master/texmf-doc/source/polish/texlive-pl/tex4ht.env @@ -0,0 +1,259 @@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% tex4ht.env / .tex4ht (unix) 2005-05-17-01:25 % +% Copyright (C) 1997--2005 Eitan M. Gurari % +% % +% This work may be distributed and/or modified under the % +% conditions of the LaTeX Project Public License, either % +% version 1.3 of this license or (at your option) any % +% later version. The latest version of this license is % +% in % +% http://www.latex-project.org/lppl.txt % +% and version 1.3 or later is part of all distributions % +% of LaTeX version 2003/12/01 or later. % +% % +% This work has the LPPL maintenance status "maintained".% +% % +% This Current Maintainer of this work % +% is Eitan M. Gurari. % +% % +% gurari@cse.ohio-state.edu % +% http://www.cse.ohio-state.edu/~gurari % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Notes: % +% 1. Empty lines might be harmful % +% 2. Tagged script segments <tag>...</tag> are scanned only if % +% their names are specified within -ctag switches of tex4ht.c % +% and t4ht.c. When -c switches are not supplied, a -cdefault % +% is implicitly assumed. % +% The tags <tag> and </tag>, but not their bodies, are % +% ignored if they are not located at the start of their lines. % +% 3. Place this file in your work directory and/or root directory % +% and/or in directory `xxx' of your choice. In the latest case, % +% compile tex4ht.c and t4ht.c with `#define ENVFILE xxx', or % +% provide the address of the file to tex4ht and t4ht throught % +% the -e switch % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% * Replace `path', and possibly what follows, with appropriate % +% content % +% * A path may start with: % +% ~ for environment variable HOME % +% ~~ for environment variable TEX4HTTFM % +% * A ! requests recursive search into subdirectories % +% * Multiple t and i entries are allowed % +% * When supported by kpathsea % +% + t entries are ignored % +% + the path before /ht-fonts/ is ignored in i records that don't % +% represent real addresses % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +tpath/tex/texmf/fonts/tfm/! +% +<default> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/iso8859/2/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/mozilla/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +</default> + +<mozhtf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/mozilla/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</mozhtf> + +<iso2htf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/iso8859/2/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</iso2htf> + +<iso5htf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/iso8859/5/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</iso5htf> + +<iso7htf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/iso8859/7/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</iso7htf> + + +<iso15htf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/iso8859/15/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</iso15htf> + +<koi8rhtf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/koi/8r/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</koi8rhtf> + +<symhtf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/symbol/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</symhtf> + +<win1251htf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/win/1251/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</win1251htf> + +<unihtf> +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/unicode/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/ascii/! +i~/tex4ht.dir/texmf/tex4ht/ht-fonts/alias/! +</unihtf> + +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% dvi-to-xxx % +% choose one G-script % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% dvips options % +% magnification: -x mag (e.g., -x 1200) % +% page size: -T x,y (e.g., -T 14in,14in) % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + <convert> + G.png + Gdvips -E -q -Ppdf -f %%1 -pp %%2 > zz%%4.ps + Ggs -sDEVICE=pngalpha -sOutputFile=%%3 -r110x110 -dEPSCrop -dBackgroundColor=16#ffffff -dTextAlphaBits=2 -dGraphicsAlphaBits=2 -q -dbatch -dNOPAUSE zz%%4.ps -c quit + Grm zz%%4.ps +G.svg +Gdvips -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.eps +Gpstoedit -f svg zz%%4.eps %%3 +%-------------------% + Gdvips -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps + Ggs -sDEVICE=ppm -sOutputFile=zz%%4.ppm -r110x110 -dTextAlphaBits=2 -dGraphicsAlphaBits=2 -q -dbatch -dNOPAUSE zz%%4.ps -c quit + Gconvert zz%%4.ppm -crop 0x0 +page -density 110x110 -transparent '#FFFFFF' zz%%4.png + Gperl png2svgGDI.pl zz%%4.png + Gperl svgGDI.pl zz%%4.svg %%3 + Grm zz%%4.ps + Grm zz%%4.ppm + Grm zz%%4.png + Grm zz%%4.svg +G. +Gdvips -E -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps +Gconvert zz%%4.ps -trim +repage -density 110x110 -transparent '#FFFFFF' %%3 +Grm zz%%4.ps +%--------- alternative instructions for old versions of convert +% Gconvert zz%%4.ps -trim -density 110x110 -transparent "#FFFFFF" %%3 +% Gconvert zz%%4.ps -crop 0x0 +repage -density 110x110 -transparent "#FFFFFF" %%3 +% Gconvert zz%%4.ps -crop 0x0 +page -density 110x110 -transparent "#FFFFFF" %%3 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + </convert> +<netpbm> +Gdvips -Ppdf -mode ibmvga -D 110 -f %%1 -pp %%2 > zz%%4.ps +Ggs -sDEVICE=ppm -r110 -sOutputFile=zz%%4.ppm -q -dbatch -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dNOPAUSE zz%%4.ps -c quit +Gmv zz%%4.ppm temp.ppm +Gpnmcrop temp.ppm > zz%%4.ppm +Gppmtopng -interlace -transparent 1,1,1 zz%%4.ppm > %%3 +Grm zz%%4.ps +Grm zz%%4.ppm +Grm temp.ppm +% Gppmtogif -interlace -transparent 1,1,1 zz%%4.ppm > %%3 +</netpbm> +<dvipng> +G.png +Gdvipng -T tight -x 1400 -D 72 -bg Transparent -pp %%2:%%2 %%1 -o %%3 +G.gif +Gdvipng -T tight -x 1400 -D 72 -bg Transparent -pp -gif %%2:%%2 %%1 -o %%3 +G. +Gdvips -Ppdf -mode ibmvga -D 110 -f > zz%%4.ps +Gconvert -crop 0x0 -density 110x110 -transparent '#FFFFFF' zz%%4.ps %%3 +Grm zz%%4.ps +</dvipng> + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Default scripts, shifted rightward 1 pos +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + s--- needs --- %%1.idv[%%2] ==> %%3 --- + b--- characters --- + g.png +% empty bitmaps % + Ecopy empty.png %%1%%2 +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % +% +% * Address for an automatically created bookkeeping file % +% * Ignored under kpathsea % +% * The work directory is assumed for a default % + l~/tex4ht.dir/tex4ht.fls +% +% t4ht -d%%2 % +Mmv %%1 %%2%%3 +Ccp %%1 %%2%%3 +% t4ht -d%%2 -m%%1 % +Achmod %%1 %%2%%3 +% removed protection % +S* +% +<validatehtml> + .html xmllint --noout --valid --html %%1.html +</validatehtml> +<validate> + .xml xmllint --noout --valid %%1.xml + .html xmllint --noout --valid %%1.html + .css mycssparser %%1.css +</validate> + % +<oo> +%%% openoffice % +.4os mkdir sxw-%%0.dir +.4os mkdir sxw-%%0.dir/Pictures +.4os mv %%1.4os sxw-%%0.dir/settings.xml +.4os mv %%0.xml sxw-%%0.dir/content.xml +% % +.4om mkdir sxw-%%0.dir/%%1 +.4om mv %%1.4om sxw-%%0.dir/%%1/content.xml +.4om cp sxw-%%0.dir/settings.xml sxw-%%0.dir/%%1/settings.xml +% % +.4of mkdir sxw-%%0.dir/META-INF +.4of mv %%1.4of sxw-%%0.dir/META-INF/manifest.xml +% % +.4ot mv %%1.4ot sxw-%%0.dir/meta.xml +.4oy mv %%1.4oy sxw-%%0.dir/styles.xml +.4og cp -r %%1 sxw-%%0.dir/Pictures/%%1 +%-- sxw -- % +.4ox cd sxw-%%0.dir; zip -r %%0.sxw * ; cd .. +% % +.4ox mv sxw-%%0.dir/%%0.sxw . +% % +.4ox rm %%1.4ox +.4ox rm -r -f sxw-%%0.dir +%-- odt -- % +.4od cd sxw-%%0.dir; zip -r %%0.odt * ; cd .. +% % +.4od mv sxw-%%0.dir/%%0.odt . +% % +.4od rm %%1.4od +.4od rm -r -f sxw-%%0.dir +%%% end openoffice % +</oo> +% +<javahelp> +.jhm java -jar ${HOME}/jh2.0/javahelp/bin/jhindexer.jar -db %%0-doc/%%1-jhs %%1*.html +</javahelp> +<javahelp1> +.jhm java -jar ${HOME}/jh1.1.3/javahelp/bin/jhindexer.jar -db %%0-doc/%%1-jhs %%1*.html +</javahelp1> + +% end of file % + diff --git a/Master/texmf-doc/source/russian/texlive-ru/Makefile b/Master/texmf-doc/source/russian/texlive-ru/Makefile new file mode 100644 index 00000000000..b86298fa30d --- /dev/null +++ b/Master/texmf-doc/source/russian/texlive-ru/Makefile @@ -0,0 +1 @@ +include ../../english/texlive-en/Makefile diff --git a/Master/texmf-doc/source/russian/texlive-ru/live.tex b/Master/texmf-doc/source/russian/texlive-ru/live.tex new file mode 100644 index 00000000000..445e922748e --- /dev/null +++ b/Master/texmf-doc/source/russian/texlive-ru/live.tex @@ -0,0 +1,3284 @@ +% $Id: live-ru.tex,v 1.10 2005/10/29 05:01:26 boris Exp $ $Author: boris $ $Date: 2005/10/29 05:01:26 $ +% +%\def\Status{1} +\documentclass{article} +\let\tldocrussian=1 % for live4ht.cfg +\usepackage{tex-live-rus} +\usepackage[koi8-r]{inputenc} +\usepackage[russian]{babel} +\newcommand\Unix{Unix} +\newcommand\Windows{Windows} +\usepackage{indentfirst} +\def\p.{стр.~}% +% +\begin{document} + +\title{% + {\huge \textit{Руководство пользователя \protect\TL{}}\\\strut} + {\LARGE \textsf{\TK{} 2005}} +} + +\author{Редакторы: Себастьян Ратц \& Карл Берри\\[3mm] + \url{http://tug.org/texlive/}} +\date{Ноябрь 2005} + + +\maketitle + +\begin{multicols}{2} +\tableofcontents +\listoftables +\end{multicols} + +\section{Введение} +\label{sec:intro} + +В этом документе описаны основные возможности программного продукта +\TL{} "---дистрибутивом \TeX{}а и других программ для +\acro{GNU}/Линукса и других операционных систем типа Unix, \MacOSX, и +(32-битовых) Windows. (Внимание: этот продукт не совместим со старыми +Макинтошами или \acro{MS-DOS}). + +\TL{} включает откомпилированные программы \TeX{}, \LaTeXe{}, \MF, +\MP, \BibTeX{} и многие другие; обширную коллекцию макросов, шрифтов и +документации; а также поддержку вёрстки на многих языках мира. Он +является частью ещё б\'ольшей коллекции \TK{} (кратко описанной ниже в +разделе~\ref{sec:struct-tl}, \p.\pageref{sec:struct-tl}), созданной +объединёнными усилиями групп пользователей \TeX a. + + + +Более новые версии пакетов, включённых в дистрибутив, можно найти в +архиве \acro{CTAN}, \url{http://www.ctan.org}. + +Краткий список основных изменений в этом издании \TeXLive{} можно +найти в разделе~\ref{sec:history}, \p.\pageref{sec:history} конце +документа. + + +\subsection{Как пользоваться \protect\TL{}} +\label{sec:basic} + +\TL{} можно использовать тремя способами: + +\begin{enumerate} + +\item Можно работать с \TeXLive{} прямо с \pkgname{live} \DVD{} (см. + раздел~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). + Естественно, при этом почти не тратится место на диске, и вы + немедленно получаете доступ ко всему дистрибутиву \TL{}. + Разумеется, система работает несколько медленнее, чем при работе с + диска, но и эта скорость работы может оказаться вполне + удовлетворительной. + +\item Вы можете установить \TL{} полностью или частично на ваш диск. + Это самый распространённый способ использования \TL. Вам + потребуется примерно 100 мегабайтов в минимальном варианте и 1.3 + гигабайта и выше для полной системы. + +\item Вы можете установить определённый пакет или коллекцию пакетов в + ваш собственный \TeX{}: либо в установленную ранее систему + \TL{}, либо в другую систему. + +\end{enumerate} + +\noindent Всё это подробно описано в разделе руководства по установке, +относящегося к вашей операционной системе. Вкратце: +\begin{itemize*} +\item Основные скрипты для установки системы для Юникса и \MacOSX{}: + \texttt{install-tl.sh}; +\item Скрипт установки отдельного пакета: \texttt{install-pkg.sh}; +\item Программа установки для Windows \texttt{tlpmgui.exe}. Она может + быть также использована для добавления или удаления пакетов. + См. более полное описание в разделе~\ref{sec:win-install} ниже. +\end{itemize*} + + +\subsection{Где можно получить поддержку} +\label{sec:help} + +Сообщество пользователей \TeX{}а активно и дружелюбно, и практически +на каждый серьёзный вопрос найдётся ответ. Однако эта поддержка +неформальна, выполняется добровольцами, и поэтому очень важно, чтобы +вы сами попробовали найти ответ перед тем, как задавать вопрос. (Если +вы предпочитаете коммерческую поддержку, возможно вам ст\'оит вместо +\TL{} купить одну из коммерческих версий \TeX{}а, см. список по +адресу \url{http://tug.org/interest.html#vendors} for a list). + +Вот список источников поддержки, приблизительно в том порядке, в +котором мы предлагаем к ним обращаться: + +\begin{description} + +\item[Страница для новичков] Если вы "---новичок, то страница + \url{http://tug.org/begin.html} может послужить для начала. + +\item [\TeX{} \acro{FAQ}] \TeX{} \acro{FAQ} (ЧаВо, часто задаваемые + вопросы) "---огромная коллекция ответов на всевозможные вопросы, от + самых простых до самых сложных. Английская версия ЧаВо находится на + \TL{} в разделе \OnCD{texmf-doc/doc/english/FAQ-en} и доступна в + Интернете по адресу \url{http://www.tex.ac.uk/faq}. Пожалуйста, + попробуйте найти ответ на свой вопрос там перед тем, как задавать + его в различных сообществах. + +\item [\TeX{} Catalogue] Если вы ищете какой-либо пакет, шрифт, + программу и т.п., то вам стоит заглянуть в \TeX{} Catalogue. Это + огромный каталог всего, что относится к \TeX{}у. См. + \OnCD{texmf-doc/doc/english/catalogue} или + \url{http://www.ctan.org/tex-archive/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{}, вам лучше задавать + вопросы её автору или посылать их на соответствующий список + рассылки. + +\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} +открыты для всех, поэтому вы тоже можете присоединиться, читать и +помогать другим. Добро пожаловать в сообщество пользователей системы +\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:struct-tl} + +Этот раздел описывает структуру и содержание \TK{} и его составной +части \TL{}. + + +\subsection{Дистрибутивы: \protect\pkgname{live}, + \protect\pkgname{inst}, \protect\pkgname{protext}} +\label{sec:multiple-dist} + +Ограничения на объём \acro{CD-ROM} заставили нас разделить \TL{} на +несколько дистрибутивов: + +\begin{description} + +\item [live] полная система, которой можно пользоваться + непосредственно с \acro{DVD} или установить на диск; она чересчур + велика для \acro{CD}. В \DVD{} также включена копия архива \CTAN{}, + дистрибутив \pkgname{protext} для Windows, дистрибутив Mac\TeX\ для + \MacOSX, "---~все эти директории отдельны от \TL{}, а также + некоторые другие пакеты в директории \texttt{texmf-extra}. + + Лицензии на использование \CTAN{}, \pkgname{protext}, Mac\TeX\ и + \texttt{texmf-extra} отличаются от лицензии на \TL{}, поэтому будьте + внимательны при распространении или модификации программ, входящих в + эти дистрибутивы. + +\item [inst(allable)] полная система на \CD; чтобы она поместилась, мы + сжали всё, что могли. Поэтому невозможно пользоваться \TeX{}ом + непосредственно с этого \CD; вам придётся установить его на диск + вашего компьютера (отсюда название дистрибутива). Установка описана + в следующих разделах. + + +\item[protext] улучшенный вариант системы \MIKTEX\ для Windows. + \ProTeXt\ включает в себя дополнительные программы и упрощённую + установку. Он не зависит от \TL{} и включает собственные инструкции + по установке. Его можно запускать с \CD/\DVD\ или установить на ваш + диск. Страница \ProTeXt\ находится вот тут: + \url{http://tug.org/protext}. + + \ProTeXt\ находится и на live \DVD, и на отдельном \CD{} (для тех, + кто не может пользоваться \DVD). + +\end{description} + +\noindent Вы можете определить, какой дистрибутив перед вами, +посмотрев на файл \texttt{00\var{type}.TL} в корневой директории. В +этом файле находится также дата выпуска \TL. + +Естественно, каждая группа пользователей \TeX а сама выбирает, что ей +распространять (члены \acro{TUG} получат все три диска). + + + +\subsection{Корневые директории} +\label{sec:tld} + +Вот краткое описание корневых директорий в дистрибутиве \TL{}. На +\pkgname{live} \DVD вся иерархия \TL{} помещена в поддиректорию +\dirname{texlive2005}, а не в корень диска. + +\smallskip +\begingroup + \renewcommand{\arraystretch}{1.3} % open up interrow spacing +\begin{tabular}{>{\ttfamily}lp{.78\hsize}} + bin & Программы системы \TeX{}, сгруппированные по + платформам \\ + source & Исходный код всех программ, включая дистрибутивы \Webc{} + \TeX{} и \MF{}. Они хранятся в сжатом архиве (\cmdname{tar-bzip2}). \\ + support & Разные вспомогательные пакеты и программы. Они + \emph{не} устанавливаются по умолчанию. Сюда относятся + разнообразные редакторы и оболочки для \TeX{}а. \\ + texmf & Дерево для программ, их вспомогательных файлов и + документации. \emph{Не} включает форматов и пакетов \TeX а \\ + texmf-dist & Основное дерево форматов и пакетов. \\ + texmf-doc & Дерево самостоятельной документации, не относящейся к + отдельным пакетам и программам, сгруппированное по языкам. \\ + texmf-var & Дерево автоматически создаваемых файлов + (\texttt{TEXMFDIST} в следующем разделе). \\ + xemtex & Дерево вспомогательных программы + для Windows. Эти программы обычно уже есть на системах типа Unix, + или, по крайней мере, их там легко скомпилировать. \\ +\end{tabular} +\endgroup + +\smallskip + +Кроме этих директорий, в корневой директории находятся скрипты +установки и файлы \filename{README} (на разных языках). + +Новая директория \dirname{texmf-doc} содержит только документацию, но +она не содержит всю документацию. Документация к программам +(руководства, man, info) находится в директории \dirname{texmf/doc}, +поскольку программы находятся в директории \dirname{texmf}. +Аналогично документация для макропакетов и форматов находится в +директории \dirname{texmf-dist/doc}. Для поиска документации можно +воспользоваться программами \cmdname{texdoc} или \cmdname{texdoctk}. +Можно также воспользоваться ссылками в файле \OnCD{doc.html}. + +\subsection{Описание деревьев texmf} +\label{sec:texmftrees} + +В этом разделе описаны все переменные, задающие положение деревьев +texmf и их значения по умолчанию. Команда \texttt{texconfig conf} +показывает текущие значения этих переменных, так что вы можете легко +проверить, где эти директории находятся в вашей системе. + +\begin{ttdescription} +\item [TEXMFMAIN] Дерево, где находятся основные части системы, + такие, как вспомогательные скрипты (например, + \verb+web2c/mktexdir+), файлы со значениями текстовых констант и + другие. +\item [TEXMFDIST] Дерево с основным набором макропакетов, шрифтов и + т.д. в первоначальной конфигурации. +\item [TEXMFLOCAL] Дерево, которое может быть использовано + администраторами системы для дополнительных или более новых пакетов, + шрифтов и т.д. +\item [TEXMFHOME] Дерево, которое пользователи могут использовать для + установки собственных дополнительных или более новых пакетов, + шрифтов и т.д. Эта переменная зависит по умолчанию от переменной + \verb+$HOME+, % $ + своей для каждого пользователя. +\item [TEXMFCONFIG] Это дерево используется утилитами + \verb+texconfig+, \verb+updmap+ и \verb+fmtutil+ программы te\TeX{} + для хранения модифицированных файлов конфигурации. По умолчанию + находится в директории \verb+$HOME+. %$ +\item [TEXMFSYSCONFIG] Это дерево используется утилитами + \verb+texconfig-sys+, \verb+updmap-sys+ и \verb+fmtutil-sys+ + программы te\TeX{} для хранения модифицированных файлов + конфигурации, общих для всех пользователей. +\item [TEXMFVAR] Это дерево используется утилитами \verb+texconfig+, + \verb+updmap+ и \verb+fmtutil+ программы te\TeX{} для хранения + создаваемых автоматически файлов: форматов, карт шрифтов. По + умолчанию находится в директории \verb+$HOME+. %$ +\item [TEXMFSYSVAR] Это дерево используется утилитами + \verb+texconfig-sys+, \verb+updmap-sys+ и \verb+fmtutil-sys+ + программы te\TeX{} для хранения создаваемых автоматически файлов: + форматов, карт шрифтов, "---~общих для всех пользователей. +\end{ttdescription} + +Более полное обсуждение утилиты \texttt{texconfig} и родственных ей +программ находится в разделе \ref{sec:texconfig}, +\p.\pageref{sec:texconfig}. + +\subsection{Расширения \protect\TeX{}а} +\label{sec:tex-extensions} + +В состав \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] создаёт и файлы в формате Acrobat PDF, и стандартные + \dvi{}. У пакета \pkgname{hyperref} для \LaTeX{}а есть опция + <<\optname{pdftex}>>, которая использует все возможности этой программы. + См. + \OnCD{texmf/doc/pdftex/manual/} и + \OnCD{texmf/doc/pdftex/manual/samplepdf/samplepdf.tex}. + +\item[pdfe\TeX] объединяет pdf\TeX{} и \eTeX. Это программа по + умолчанию используется для генерирования всех форматов, кроме plain + \TeX. См. документацию выше. + +\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 [dvipdfm] преобразование \dvi{} в PDF, альтернатива + pdf\TeX{}у, упомянутому выше. Пакеты \pkgname{ps4pdf} и +\pkgname{pdftricks} предлагают дополнительные возможности. + +\item [psselect, psnup, \ldots] утилиты для формата \PS{}. + +\item [lacheck] проверка синтаксиса \LaTeX{}а. + +\item [texexec] процессор для Con\TeX{}tа и PDF. + +\item [tex4ht] конвертер из \TeX{}а в HTML. + +\end{cmddescription} + + +\section{Установка в системах типа \protect\Unix} +\label{sec:unix-install} + +Как объясняется в разделе~\ref{sec:basic}, \p.~\pageref{sec:basic}, +\TL{} можно использовать тремя способами: + +\begin{enumerate} +\item Выполнять непосредственно с дистрибутивного диска. +\item Установить на диск вашего компьютера. +\item Интегрировать отдельный пакет или коллекцию в существующий \TeX. +\end{enumerate} + +\noindent В следующих разделах подробно описывается каждый из этих +способов для систем типа Unix. + +\ifSingleColumn \begin{figure}[ht]\noindent \fi +\begin{warningbox} + \textbf{Внимание: } \CD{} и \DVD{} \TK{} изготовлены в формате ISO + 9660 (High Sierra), \emph{включая} расширения Rock Ridge (и Joliet + для Windows). Поэтому для того, чтобы использовать \TK{}, + ваша система должна поддерживать расширения Rock Ridge. Пожалуйста, + посмотрите документацию к команде \cmdname{mount} для вашей системы + и выясните, как это делается. Если у вас несколько машин в локальной + сети, возможно, вам будет проще смонтировать \CD{} на машине, + которая поддерживает Rock Ridge, и использовать её с остальных. + + \leavevmode\quad Современные системы должны быть способны читать + \CD{} без проблем. Если у вас возникли трудности, сообщите нам. + Дальнейший текст предполагает, что вам удалось смонтировать \CD{} с + полной совместимостью с Rock Ridge. +\end{warningbox} +\ifSingleColumn\end{figure}\fi + + +% +\subsection{Работа с \protect\TL{} непосредственно с + установочного диска (\Unix)} + +\def\runlive{% text repeated in windows section + Вы можете использовать \TeX{} непосредственно с \pkgname{live} + \DVD{}, не устанавливая его на ваш компьютер. (Собственно, отсюда + название <<\TL>>.) Однако \emph{невозможно} запустить \TeX{} + с других дисков коллекции (см. + раздел~\ref{sec:multiple-dist}, \p.~\pageref{sec:multiple-dist}). +} + + +\def\startinst{% repeated in other subsections + Сначала нам надо смонтировать \CD{} или \DVD{} с расширениями Rock + Ridge. Как именно это делается, зависит от вашей системы; команды + ниже работают для Линукса, хотя название устройства + (\filename{/dev/cdrom}) может быть другим. (Все наши примеры + используют \texttt{>} в качестве системного приглашения; команды, + набираемые пользователем, \Ucom{\texttt{подчёркнуты}}.): +\begin{alltt} +> \Ucom{mount -t iso9660 /dev/cdrom /mnt/cdrom} +\end{alltt} + +\noindent Теперь нужно перейти в смонтированную директорию: +\begin{alltt} +> \Ucom{cd /mnt/cdrom} +\end{alltt} + +\noindent В \MacOSX{} нужная директория обычно находится в директории +\dirname{/Volumes}, и диск монтируется автоматически. +} + +\def\installtlsh{ +Выполните скрипт установки \filename{install-tl.sh}: +\begin{alltt} +> \Ucom{sh install-tl.sh} +Welcome to TeX Live... +\end{alltt} + +\noindent После разнообразных стартовых сообщений и списка опций +главного меню, установочный скрипт попросит вас ввести +команду. Сделайте это, напечатав нужную букву и нажав \acro{RETURN}; не +печатайте угловых скобок. Можно печатать заглавную или строчную букву; +в примерах ниже приводятся строчные буквы. +} + +\runlive +\startinst +\installtlsh + +Чтобы работать прямо с дистрибутива, первой командой должна быть +\Ucom{d}, а затем подкоманда \Ucom{1}, чтобы установить директории. +Даже в этом случае мы должны выбрать директорию на локальном диске, +чтобы класть туда файлы, которые \TeX{} генерирует сам, например, +шрифты и форматы, а также изменённые конфигурационные файлы, если в +них появится необходимость. + +В этом примере мы будем использовать \dirname{/opt/texlive2005}. +Полезно использовать номер года в названии директории, поскольку +файлы, созданные разными версиями \TL{}, не всегда совместимы. +(Если значение по умолчанию \dirname{/usr/local/texlive/2005} вам +подходит, вы можете пропустить этот шаг.) + +\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/2005]: \Ucom{/opt/texlive2005} +... +Enter command: \Ucom{r} +\end{alltt} + +\noindent Мы снова в главном меню. Следующая и последняя команда +будет \Ucom{r}, чтобы сконфигурировать систему для работы с +дистрибутива, не устанавливая файлов на диск: +\begin{alltt} +Enter command: \Ucom{r} +Preparing destination directories... +... +Welcome to the TeX Live system! +> +\end{alltt} + +\noindent И, как показано выше, мы опять в системном шелле. + +Теперь мы должны изменить две переменные окружения: \envname{PATH}, в +соответствии с вашей архитектурой, (так что вы сможете запускать +программы), и \envname{TEXMFSYSVAR}, в соответствии с указанным выше +значением. См. список названий архитектуры для различных систем в +таблице~\ref{tab:archlist}. + +\def\textruntexconfig{% + После завершения основной установки и установления переменных + окружения, следует запустить \cmdname{texconfig} или + \cmdname{texconfig-sys}, чтобы подогнать вашу систему под ваши + нужды. Это объясняется в разделе~\ref{sec:texconfig} на + стр.~\pageref{sec:texconfig}. +} +\textruntexconfig + + +\begin{table*}[ht] +\caption[Поддерживаемые архитектуры.]{Поддерживаемые архитектуры.} +\label{tab:archlist} +\begin{tabular}{>{\ttfamily}ll} +alpha-linux & HP Alpha GNU/Linux \\ +%alphaev5-osf4.0d & HP Alphaev5 OSF \\ +%alphaev5-osf4.0d & Compaq 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} +Синтаксис задания переменных окружения, и файл, куда класть +соответствующие команды, зависит от вашего шелла. Если вы +используете шелл типа Bourne (\cmdname{sh}, \cmdname{bash}, +\cmdname{ksh}, и т.п.), добавьте к вашему \filename{$HOME/.profile} +следующее: +\begin{alltt} +PATH=/mnt/cdrom/bin/\var{archname}:$PATH; export PATH +TEXMFSYSVAR=/opt/texlive2005/texmf-var; export VARTEXMF +\end{alltt} + +\noindent Для шеллов типа C shell (\cmdname{csh}, \cmdname{tcsh}), +добавьте к вашему \filename{$HOME/.cshrc} следующее: +\begin{alltt} +setenv PATH /mnt/cdrom/bin/\var{archname}:$PATH +setenv TEXMFSYSVAR /opt/texlive2005/texmf-var +\end{alltt} + +\noindent Теперь выйдите из системы, войдите в неё опять и проверьте +установку +(см. раздел~\ref{sec:test-install}, \p.\pageref{sec:test-install}). + + +\def\textifindoubt{% +Если у вас что-то не получается, попробуйте спросить совета у +ближайших гуру; например, как монтировать дистрибутив \TL{}, +какую директорию или директории использовать, и как именно менять ваши +личные файлы инициализации в вашей системе. +} +\textifindoubt + + +% +\subsection{Установка \protect\TeX\protect\ Live на диск} +\label{sec:unix-install-disk} + +Вполне возможно (собственно, как правило, именно это и делается) +установить систему \TL{} на диск. Это можно сделать с диска +\pkgname{live} или \pkgname{inst} (См. описание дистрибутивов в +разделе~\ref{sec:multiple-dist}, \p.\pageref{sec:multiple-dist}). + +\startinst +\installtlsh + +Список пунктов в главном меню указан в +таблице~\ref{tab:main-menu-options}. Порядок, в котором вы выбираете +пункты, обычно неважен, кроме того, что пункт \Ucom{i} должен быть +последним. Удобно всё же выбирать их в порядке, указанном ниже. + +% apparently here.sty [H] doesn't support table*. +\begin{table}[H] +\caption{Опции главного меню установки.} +\label{tab:main-menu-options} +\begin{tabular}{>{\ttfamily}ll} +p & Платформа, на которую производится установка.\\ +b & Архитектура, для которой устанавливаются программы.\\ +s & Основная схема установки (минимальная, рекомендованная, полная и т.д.).\\ +c & Изменить схему установки для индивидуальных коллекций.\\ +l & Изменить схему установки для языковых коллекций.\\ +d & Директории для установки.\\ +o & Другие опции.\\ +i & Выполнить установку.\\ +\end{tabular} +\end{table} + +Вот подробное объяснение по каждой опции. + +\textbf{\optname{p} "---~Платформа, на которую производится установка.} +Поскольку установочный скрипт автоматически определяет вашу платформу, +изменять это обычно не нужно. Эта опция нужна в том случае, когда +автоматическое определение даёт сбой. + +\textbf{\optname{b} "---~Архитектура, для которой устанавливаются + программы.} По умолчанию устанавливаются только программы для +вашей текущей платформы. В этом меню вы можете задать установку +программ и для других архитектур (или \emph{не} установить их для +текущей архитектуры). Это часто полезно, если вы используете одно и то +же дерево \TeX{}а в сети разных машин. Список поддерживаемых +архитектур приведен в таблице~\ref{tab:archlist}, +\p.~\pageref{tab:archlist}. + +\textbf{\optname{s} "---~Основная схема установки.} В этом меню вы +можете выбрать основную схему установки пакетов. По умолчанию +используется полная схема (\optname{full}), которая устанавливает всё, +но вы можете выбрать минимальную схему (\optname{basic}), чтобы +сэкономить место на диске, или промежуточную схему (\optname{medium}). +Есть также специальные схемы для пользователей Omega и \acro{XML}. + +\textbf{\optname{c} "---~Индивидуальные коллекции.} Это меню позволяет +вам изменить сделанный основной схемой выбор для отдельных коллекций. +Коллекции представляют собой следующий после схем уровень иерархии +\TL{}. Каждая коллекция "---макросы \TeX{}а, семейства шрифтов \MF{} +и т,д, "---состоит из нескольких пакетов. В этом меню заглавные и +строчные буквы различаются. + +\textbf{\optname{l} "---~Языковые коллекции.} Смысл этого меню очень +похож на \Ucom{c}, оно позволяет сделать выбор, устанавливать ли +отдельные компоненты дистрибутива. В данном случае коллекции +соответствуют различным языкам. В этом меню заглавные и строчные буквы +различаются. Вот список языковых коллекций \TL: + +% xx really should generate list from texmf/tpm/collection/tex-lang* +% a la install-tl.sh. +\begin{tabbing} +\hspace{.50\linewidth} \= +\hspace{.50\linewidth} \kill + Арабский язык \> + Армянский язык \\ + Африканские языки (частично) \> + Британский английский \\ + Венгерский язык \> + Вьетнамский язык \\ + Голландский язык\> + Греческий язык\\ + Датский язык \> + Иврит \\ + Индийские языки \> + Испанский язык \\ + Итальянский язык \> + Кириллические языки \\ + Китайский, японский, корейский языки \> + Латынь\\ + Маньчжурские языки \> + Монгольский язык \\ + Немецкий язык\> + Норвежский язык \\ + Польский язык\> + Португальский язык \\ + Тибетский язык\> + Финский язык \\ + Французский язык \> + Хорватский язык\\ + Чешский и словацкий языки \> + Шведский язык \\ +\end{tabbing} + +\noindent Языковые коллекции обычно включают шрифты, макросы, таблицы +переноса и т.д. (Например, если вы выбираете коллекцию +\optname{French}, устанавливается +\pkgname{frenchle.sty}.) Кроме того, установка языковой коллекции +приводит к изменению конфигурационного файла \filename{language.dat}, +который управляет загрузкой таблиц переноса. + +\textbf{\optname{d} "---~Директории для установки}. Здесь можно +определить три директории: +\label{text:instdir} + +\begin{ttdescription} +\item [TEXDIR] Корневая директория, где устанавливается по умолчанию + всё остальное. По умолчанию это \dirname{/usr/local/texlive/2005}, + но это часто бывает нужным изменить. Мы рекомендуем включать номер + года в название директории, чтобы можно было держать отдельно разные + версии \TL{}. После тестирования новой версии вы сможете сделать + \dirname{/usr/local/texlive} ссылкой на соответствующую директорию. + + Под \MacOSX, распространённые оболочки ищут \TeX{} в + \dirname{/usr/local/teTeX}, поэтому вам может показаться удобнее + установить \TL{} тут. + +\item [TEXMFLOCAL] Это дерево директорий, куда системные скрипты + устанавливают файлы \TeX{}а, не относящиеся к определённой версии, + главным образом, шрифты. По умолчанию это + \dirname{/usr/local/texlive/texmf-local} и не зависит от текущей + версии \TL{}, потому что сюда рекомендуется помещать + локальные пакеты или конфигурационные файлы. + +\item [TEXMFSYSVAR] Это дерево директорий, куда скрипт + \cmdname{texconfig-sys} устанавливает файлы, зависящие от конкретной + версии. По умолчанию это \dirname{TEXDIR/texmf-var}, и обычно это + значение менять не ст\'оит. Есть также \envname{TEXMFSYSCONFIG}, + где \cmdname{texconfig} ищет изменённые файлы конфигурации. См. + более полное описание в разделе~\ref{sec:texconfig}, + \p.\pageref{sec:texconfig} + +\end{ttdescription} + +\textbf{\optname{o} "---~Другие опции.} В этом меню вы можете выбрать +следующие опции, которые влияют на процесс установки: + +\begin{ttdescription} +\item [a] Указать альтернативную директорию для генерированных + шрифтов. По умолчанию шрифты кладутся в \envname{VARTEXMF}, как + объясняется выше. Альтернативная директория нужна, например, если + вы хотите смонтировать основное дерево только для чтения, и потому + вам нужна другая директория (возможно, своя на каждой из машин в + локальной сети) для динамически создаваемых шрифтов. + +\item [l] Создать символические ссылки для программ, документации в + формате man и/или \acro{GNU} Info. Например, вы можете захотеть создать + ссылки на файлы man под \dirname{/usr/local/man}, и на файлы Info + под \dirname{/usr/local/info}. (Разумеется, вам нужны права на + запись в соответствующие директории.) + + Мы не рекомендуем использовать эту опцию для установки \TL{} поверх + версии системы \TeX{} в вашем дистрибутиве. Она предназначена для + того, чтобы сделать ссылки в стандартных директориях вроде + \dirname{/usr/local/bin}, если в них нет файлов \TeX а. + +\item [d] Не производить установку документации. Это полезно, если вы + хотите сэкономить место на диске, или если вы уже установили + документацию в другом месте. + +\item [s] Не производить установку основного дерева шрифтов и макросов. + Это нужно, если вы хотите сделать одно общее дерево для разных машин + и/или платформ, экспортируя его, например, при помощи \acro{NFS}. + +\end{ttdescription} + +\textbf{i "---~Выполнить установку.} Когда вы зададите нужные +конфигурационные опции, введите \Ucom{i} чтобы начать установку в +выбранные директории. + +% text is similar to above, but no TEXMFSYSVAR, so we have to write out. +Последний шаг "---включить зависящую от архитектуры поддиректорию +\dirname{TEXDIR/bin} в переменную \envname{PATH}, так что ваши новые +программы будут найдены. Названия архитектур приведены в +таблице~\ref{tab:archlist}, \p.~\pageref{tab:archlist}. При +необходимости вы можете просто указать директорию +\dirname{TEXDIR/bin}. + +Синтаксис соответствующих команд и стартовые файлы для этого +зависят от вашего шелла. Если вы используете шелл типа Bourne +(\cmdname{sh}, \cmdname{bash}, \cmdname{ksh} и т.п.), добавьте к +вашему \filename{$HOME/.profile} следующее: +\begin{alltt} +PATH=/usr/local/texlive2005/bin/\var{archname}:$PATH; export PATH +\end{alltt} + +\noindent Для шеллов типа C shell (\cmdname{csh}, \cmdname{tcsh}), +добавьте к вашему \filename{$HOME/.cshrc} следующее: +\begin{alltt} +setenv PATH /usr/local/texlive2005/bin/\var{archname}:$PATH +\end{alltt} + +\textruntexconfig + +Ниже приводится краткий комментированный пример полной установки, с +программами только для текущей системы и с рекомендованной выше +структурой директорий. Таким образом, нужна только одна команда, +\Ucom{i} для установки системы. Знаком \texttt{>}, как обычно, +обозначается системный промпт. + +\begin{alltt} +> \Ucom{sh install-tl.sh} +\Ucom{i} # выполнить установку +> \Ucom{texconfig} ... # См. раздел \ref{sec:texconfig} +# Новый элемент в переменной $PATH, для Линукса +> \Ucom{PATH=/usr/local/texlive2005/bin/i386-linux:$PATH; export PATH} +\end{alltt} + +\textifindoubt + + +% +\subsection{Установка на диск индивидуальных пакетов} + +Вы можете добавить индивидуальные пакеты или коллекции из дистрибутива +в систему, отличную от \TL{} или в предыдущую версию +\TL{}. + +\startinst + +Запустите установочный скрипт \filename{install-pkg.sh} (не +\filename{install-tl.sh} "---этот скрипт только для полной установки): +\begin{alltt} +> \Ucom{sh install-pkg.sh \var{options}} +\end{alltt} + +Первый набор опций выглядит следующим образом: + +\begin{ttdescription} +\item [-{}-package=\var{pkgname}] Индивидуальный пакет для установки. + +\item [-{}-collection=\var{colname}] Коллекция пакетов для установки. + +\item [-{}-nodoc] Не устанавливать документацию. + +\item [-{}-nosrc] Не устанавливать исходники. + +\item [-{}-cddir=\var{dir}] Директория, где находится дистрибутив; по + умолчанию -- текущая директория. Если вы выполнили инструкции выше, + то это и будет нужная директория, и менять её не надо. + +\item [-{}-listdir=\var{dir}] Директория со списками, в которых + находится информация о пакетах. По умолчанию это + \var{cddir}; единственная причина, по + которой имеет смысл изменить это значение "---если вы сами + конструируете новую версию \TL{}. + +\end{ttdescription} + +То, что произойдёт дальше, зависит от следующих опций. Если вы не +выберете ни одной из них, по умолчанию произойдёт установка выбранных +файлов. Директория, куда следует устанавливать файлы, будет +определена из вашего текущего \envname{\$TEXMFMAIN} командой +\cmdname{kpsewhich}. Вы можете изменить это значение при помощи +переменной \envname{TEXMFMAIN} или \envname{TEXMF}. + +\begin{ttdescription} +\item [-{}-listonly] Вывести список файлов, которые должны быть + установлены, но ничего не устанавливать. + +\item [-{}-archive=\var{tarfile}] Вместо установки файлов в текущий + \TeX{}, создать архив \cmdname{tar}. + +\end{ttdescription} + +Дополнительные опции: + +\begin{ttdescription} + +\item [-{}-config] После установки запустить \code{texconfig init}. + +\item [-{}-nohash] Не запускать после установки \cmdname{mktexlsr} для + обновления базы данных о файлах. + +\item [-{}-verbose] Выводить дополнительную информацию по мере работы + скрипта. + +\end{ttdescription} + +Вот несколько примеров использования: + +\begin{enumerate} + +\item Посмотреть список файлов в пакете \pkgname{fancyhdr}, не + устанавливая его: + +\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 Установить пакет \pkgname{natbib}: +\begin{alltt} +> \Ucom{sh install-pkg.sh --package=natbib} +\end{alltt} + +\item Установить пакет \pkgname{alg} без исходников и документации: +\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 Установить все пакеты из коллекции дополнительных макросов для +plain \TeX: +\begin{alltt} +> \Ucom{sh install-pkg.sh --collection=tex-plainextra} +\end{alltt} + +\item Записать все файлы из пакета \pkgname{pstricks} в архив +\cmdname{tar} в директории \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{Действия после установки} +\label{sec:postinstall} + +После того, как основная установка проделана, вы должны +сконфигурировать систему под ваши потребности и провести тестирование. + +Ещё одно действие после установки \TL{} "---установить +дополнительные пакеты, шрифты или программы, не включённые в +\TL{}. Идея состоит в том, чтобы установить эти дополнения под +\envname{TEXMFLOCAL} (если вы устанавливаете программы на диск) или под +\envname{TEXMFSYSVAR} (если вы работаете непосредственно с дистрибутива). +См. <<Директории для установки>> на \p.\pageref{text:instdir}. + +К сожалению, конкретные шаги могут сильно отличаться, поэтому мы не +пытаемся описать их тут. Вот несколько рекомендаций из сети: +\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} (установка +шрифтов и другие советы). +\end{itemize*} + + +\subsection{Программа \protect\cmdname{texconfig}} +\label{sec:texconfig} + +В любой момент после установки вы можете использовать программу +\cmdname{texconfig} чтобы переконфигурировать систему. Она +устанавливается в директории \texttt{TEXDIR/bin/\var{arch}} +(зависящей от архитектуры) вместе с остальными программами. + +Если вызвать её без аргументов, она перейдёт в полноэкранный режим, +который позволяет конфигурировать систему интерактивно. + +Эту программу можно вызывать также с разнообразными опциями. Ниже +приводятся примеры наиболее часто используемых (система \TL{} по +умолчанию настроена на бумагу формата A4): + +\begin{ttdescription} + +\item [texconfig paper letter] установить размер бумаги по + умолчанию для команды всех программ и драйверов (\cmdname{pdftex}, + \cmdname{dvips}, \cmdname{dvipdfm}, \cmdname{xdvi}). Другим + вариантом является \optname{a4} (используется по умолчанию). + +\item [texconfig rehash] Обновить все базы данных файлов системы + \TeX{}. + +\item [texconfig faq] Показать ЧаВо \teTeX. (См. также основной + файл ЧаВо \TeX{} в \OnCD{texmf-doc/doc/english/FAQ-en}). + +\item [texconfig help] Напечатать информацию об использовании + \cmdname{texconfig}. + +\end{ttdescription} + +Разумеется, \cmdname{texconfig} может изменить только некоторые из +многих опций и конфигурационных параметров системы \TeX{}. Основной +конфигурационный файл для программ, основанных на \Webc{} называется +\filename{texmf.cnf}. Вы можете определить, где он находится, при +помощи команды \samp{kpsewhich texmf.cnf}; в этом файле много +комментариев, объясняющих конфигурационные параметры и их возможные +значения. + +По состоянию на 2005 год, команда \cmdname{texconfig} изменяет только +личные файлы данного пользователя в директории +\dirname{$HOME/.texlive2005}. Если вы устанавливаете \TeX{} только для +себя, этот факт вам будет безразличен. Но если вы устанавливаете +\TeX{} для многопользовательской системы, вам может понадобиться +изменить конфигурационные файлы для \emph{всех} пользователей. В этом +случае вместо команды \cmdname{texconfig} вам нужна команда +\cmdname{texconfig-sys}. + +Аналогично, команды \cmdname{updmap} и \cmdname{fmtutil} теперь +изменяют файлы в \dirname{$HOME/.texlive2005}. Для изменений +системных конфигурационных файлов используйте \cmdname{updmap-sys} и +\cmdname{fmtutil-sys}. + +В особенности важно для многопользовательской системы создать +заранее стандартные форматы при помощи \texttt{fmtutil-sys + -{}-missing}. Иначе у каждого пользователя будет своя копия этих +форматов. + +Кроме того, если у вас есть модифицированные копии файлов +\filename{fmtutil.cnf} или \filename{updmap.cfg}, их следует поместить +в директорию \envname{TEXMFSYSCONFIG}. + +Переменные, в которых хранятся названия этих директорий, указаны в +разделеn~\ref{sec:texmftrees}, \p.\pageref{sec:texmftrees}. Вы можете +посмотреть значения этих переменных при помощи команды +\texttt{texconfig conf} и изменить их путём редактирования файла +\filename{texmf.cnf}. + +\subsection{Тестирование установки} +\label{sec:test-install} + +После установки \TL{} вы, скорее всего, захотите проверить +работу системы, чтобы перейти к созданию прекрасных документов и/или +шрифтов. + +В этом разделе описываются основные процедуры по тестированию системы. +Мы приводим команды для операционных систем типа Unix; под \MacOSX{} и +Windows вы, скорее всего, будете запускать тесты из \acro{GUI}, но +принцип тот же. + +\begin{enumerate} + +\item Сначала проверьте, что вы можете запускать программу + \cmdname{tex}: + +\begin{alltt} +> \Ucom{tex -{}-version} +TeX 3.141592 (Web2C 7.5.5) +kpathsea version 3.5.5 +... +\end{alltt} +Если вы получаете в ответ <<command not found>> вместо номера версии и +информации о копирайте, у вас, скорее всего, нет директории с нужными +программами в переменной \envname{PATH}. См. обсуждение на +странице~\pageref{text:path}. + +\item Скомпилируйте простой \LaTeX{}овский файл: +\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} +Если программа не может найти \filename{sample2e.tex} или другие +файлы, возможно, у вас остались следы от старой установки: переменные +окружения или конфигурационные файлы. Для отладки вы всегда можете +попросить \TeX{} точно сказать, что именно он ищет; см. <<Отладка>> на +стр.~\pageref{Debugging}. + +\item Посмотрите результат на экране: +\begin{alltt} +> \Ucom{xdvi sample2e.dvi} +\end{alltt} +(Под Windows аналогичная команда называется \cmdname{windvi}.) Вы должны +увидеть новое окно с красиво свёрстанным документом, объясняющим основы +\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}. + +\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} +Вы можете компилировать эти файлы точно так же, как мы компилировали +выше \filename{sample2e.tex}, заменив \samp{latex} на \samp{tex} для +plain \TeX. + +\end{enumerate} + +Если вы новичок в \TeX{}е, или вам нужна помощь в создании документов +на языке \TeX{} или \LaTeX{}, посетите +\url{http://tug.org/begin.html}. + + +\section{Установка в системе \protect\MacOSX{}} +\label{sec:mac-install} + +Рекомендуемый способ установить \TeX{} для \MacOSX{} "---~использовать +дистрибутив Mac\TeX, который впервые включён в \TL{} в 2005 году. Он +находится на \DVD{} \pkgname{live} в директории \dirname{mactex/}. В +этой директории содержится инсталлятор для полоного дистрибутива +\TeX а, основанный на комбинации te\TeX а и \TL, а также много других +программ и документации. Страница проекта находится тут: +\url{http://tug.org/mactex}. + +Если вы предпочитаете, можно установить \TeX{} для \MacOSX{} и +непосредственно из \TL{} при помощи скриптов \filename{install*}, как +описано ниже. + +Для того, чтобы запустить установочные скрипты под \MacOSX, вам +понадобится оболочка \cmdname{bash}. Если вы работаете под +\MacOSX~10.2 или старше, у вас уже установлена \cmdname{bash}. Если +же вы работаете под более ранней версией \MacOSX{}, то вашей оболочкой +по умолчанию является \cmdname{zsh}, которая не подойдёт для установки +\MacOSX. Вам понадобится установить \cmdname{bash} из Интернета или, +скорее всего, обновить систему. + +Если у вас установлена \cmdname{bash}, вы можете следовать инструкциям +для установки в системе Unix installation в предыдущем разделе. +См. раздел~\ref{sec:unix-install}, \p.~\pageref{sec:unix-install}; +в нём упомянуты особенности \MacOSX. + + + + +\section{Установка в системе \protect\Windows} +\label{sec:win-install} + +Мы рады сообщить, что в этой версии \TL{} снова есть инсталлятор для +Windows, \cmdname{tlpmgui.exe} (см. раздел~\ref{sec:multiple-dist}, +\p.\pageref{sec:multiple-dist}, где описаны различные варианты +дистрибутива). + +У программы \cmdname{tlpmgui} такие же опции, как у инсталлятора для +Юникса, только они выбираются в графической оболочке. Эта программа +также позволяет выбрать схемы, индивидуальные коллекции, директории +для установки и т.д. Эти основные элементы описаны в +разделе~\ref{sec:unix-install-disk} на +\p.\pageref{sec:unix-install-disk}. Программа также позволяет +выполнять многие действия после установки: добавление и удаление +пакетов, обновление базы данных файлов, создание форматов. + +Для тех, кто любит знать детали, отметим, что программа +\cmdname{tlpmgui} использует в качестве <<мотора>> программу для +командной строки Windows под названием \cmdname{tlpm}. + +Дистрибутив для Windows, включенный в \TL, основан на новых +программах, позаимствованных у проекта \XEmTeX{}, который раньше +назывался \fpTeX{} +(см. \url{http://www.metz.supelec.fr/~popineau/xemtex-1.html}). В нём +также есть более старые (но всё ещё работающие программы), такие как +просмотрщик файлов \texttt{dvi} \textsf{Windvi}, интерфейс которого +похож на интерфейс распространённой программы для Юникса +\textsf{xdvi}. Документацию для этой программы можно найти в +\OnCD{texmf/doc/html/windvi/windvi.html}. + + +Дистрибутив \TL{} может быть установлен под операционной системой +Windows 98, \acro{ME}, \acro{NT}, \acro{2K} или \acro{XP}. Более +старые версии Windows (3.1x) и \acro{MS-DOS} не поддерживаются. + + + +\textbf{Внимание:} Пользователи Win9.x должны проверить, что у них +есть достаточно места для переменных окружения перед установкой. +Программа \cmdname{tlpmgui.exe} не добавляет места к переменным +окружения. В процессе установке создаются несколько переменных +окружения, и возможно, что для них не хватит места. Чтобы добавить +его, напишите в файл \texttt{config.sys} строчку +\texttt{SHELL=<path>COMMAND.COM /E:4096 /P} + + +\subsection{Установка на диск \protect\TeX\protect\ Live} + +После вставки \acro{CD} с \TL{} в компьютер, автостарт должен +запустить программу \cmdname{tlpmgui}. Если он этого не сделал, +щёлкните на \guiseq{Start\arw Run}, а затем напечатайте +\verb|<drive>:\setup-win32\tplmgui.exe| (или +\verb|<drive>:\texlive\setup-win32\tplmgui.exe|, +если вы устанавливаете с +\acro{DVD}), где \verb|<drive>| "---~диск \acro{CD} или +\acro{DVD}, и нажмите <<OK>>. + +Должно появиться окно установки под названием \guiseq{TeX Live + installation and maintenance utility}. В нём содержатся следующие +разделы: \guiseq{Main customization}, \guiseq{Install}, \guiseq{Select + a scheme}, \guiseq{Select systems}, \guiseq{Directories} и +\guiseq{Options}. + +В разделе \guiseq{Directories} вслед за иконкой \guiseq{CD/DVD} должна +быть указана директория (например, \texttt{F:/} или +\texttt{F:/texlive/}), но если её там нет, щёлкните на иконку +\guiseq{CD/DVD} и выберите \acro{CD/DVD} с \TL{} или \TK. + +Директорию, куда будет устанавливаться программа, можно указать, нажав +на иконку \guiseq{TLroot}. Эта директория будет храниться в +переменной \path|TLroot|. Переменные \path|TEXMFTEMP| и +\path|TEXMFCNF|, указанные на соседних иконках \guiseq{TEXMFTEMP} и +\guiseq{TEXMFCNF} будут автоматически изменены, но их можно также +изменить вручную, если это почему-либо необходимо. + +В секции \guiseq{Select a scheme} нужно выбрать нужную схему установки +из списка (например, \guiseq{scheme-gust}). Каждая схема +сопровождается кнопкой \guiseq{Info}, при нажатии на которую +появляется краткое описание схемы. + +Схема "---~это большой набор файлов, предназначенный для определённого +типа пользователя. Есть общие схемы для минимальной, средней и полной +установки. Остальные схемы предназначены либо для определённых групп +пользователей \TeX а (например, для членов GUST или GUTeneberg) или +для определённых приложений (например, для совместной работы +\acro{XML} и \TeX а). В выбранной схеме можно сделать дополнительные +изменения. Это делается в разделе \guiseq{Main customization} путём +выбора дополнительных коллекций из групп \guiseq{Standard collections} +или \guiseq{Language collections}. Например, нажав на кнопку +\guiseq{Select} у надписи \guiseq{Standard +collections}, можно выбрать дополнительные коллекции, например, \MP, +\acro{Omega} или документацию на разных языках. + +\textbf{Примечание:} Коллекции \guiseq{Ghostscript}, \guiseq{Perl} и +\guiseq{Wintools} выбираются по умолчанию и должны быть установлены, +за исключением ситуации, когда они уже есть в системе и вы понимаете, +что вы делаете. Эти коллекции используются многими другими важными +программами. Переменные \verb|PERL5LIB| и \verb|GS_LIB| будут также +автоматически установлены. + +Затем щёлкните на кнопку \guiseq{Select} у надписи \guiseq{Language + Collections} в разделе \guiseq{Main customization}. Это откроет +меню \guiseq{Language collections}, котором можно выбрать языковые +коллекции для установки. + +Затем щелкните на кнопку \guiseq{Install} в разделе \guiseq{Install}, +и начнётся процесс установки. + +Для системы \TL{} нужно проделать ряд операций после установки +(генерирование форматов и базы данных для имён файлов, установка +переменных и т.д.). Все они делаются на этом шаге, и некоторые могут +занять довольно много времени. Поэтому подождите, пожалуйста, пока не +появится сообщение об успешном завершении установки. + +В меню \guiseq{Start\arw Programs\arw TeXLive2005} будет добавлена +программа \cmdname{tlpmgui}. + +При необходимости (Win9x/WinME) вам будет предложено рестартовать +компьютер. + + +\subsection{Дополнительные пакеты для Windows} +\label{sec:win-xemtex} + +Для полноты дистрибутиву \TL необходимы дополнительные пакеты, +которые обычно не встречаются на машине под Windows. Многие скрипты +написаны на языке Perl. Некоторые важные программы требуют +интерпретатор языка \PS{} Ghostscript для отображения или +преобразования файлов. Набор программ для работы с графическими +файлами также полезен в ряде случаев. Наконец, приспособленный для +работы с \TeX{}ом редактор значительно облегчает набор и +компилирование. + + +Все эти пакеты для Windows найти довольно легко, но для того, чтобы +несколько облегчить вашу жизнь, мы включили в \TL следующий набор: +\begin{itemize} +\item \cmdname{Ghostscript} 7.07 +\item минимальный \cmdname{Perl} 5.8, достаточный для всех скриптов + \TL{}. +\item набор программ \textsf{win-tools}: \textsf{bzip2, gzip, + jpeg2ps, tiff2png}/ +% \item подмножество \cmdname{ImageMagick} 5.5.6 +% \item программы для проверки орфографии \cmdname{ISpell} +% \item \cmdname{XEmacs} 21.5.14 с набором пакетов для +% \TeX{}а. +\end{itemize} + +Эти пакеты взяты из дистрибутива \XEmTeX{} (потомок дистрибутива +fp\TeX). + + +Если вы не хотите устанавливать эту коллекцию, то вы можете +самостоятельно установить требуемые пакеты. Вот список мест, откуда +эти пакеты можно взять: +\begin{description} +\item[Ghostscript] \url{http://www.cs.wisc.edu/~ghost/} +\item[Perl] \url{http://www.activestate.com/} (но вам могут + понадобиться дополнительные пакеты из архива CPAN: + \url{http://www.cpan.org/}) +\item[ImageMagick] \url{http://www.imagemagick.com} +\item[NetPBM] Вы можете вместо ImageMagick использовать NetPBM для + преобразования ваших графических файлов. Страничка 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{XEmacs} есть для Windows, его страничка: + \url{http://www.xemacs.org/} + \item \cmdname{WinShell} есть на \TL в директории + \path|support|, его страничка: \url{http://www.winshell.de} + \item \cmdname{WinEdt} это shareware, доступное на \url{http://www.winedt.com} + \item \cmdname{Vim} есть на \TL{} в директории + \path|support\wim|, его страничка: \url{http://www.vim.org} + \item \cmdname{TeXnicCenter} "---~это свободная программа, которая + есть на странице + \url{http://www.toolscenter.org/products/} и в дистрибутиве + 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} + +Вы можете установить и другие программы, которые не являются +свободными\footnote{Несвободными в том смысле, что их нельзя свободно + модифицировать и распространять. Это не означает, что вы не можете + приобрести их бесплатно.} и потому не включённые в дистрибутив +\TL{}, например, \cmdname{GSView}, графическая оболочка к программе +\cmdname{Ghostscript}, удобная для файлов в форматах PS/PDF. +\cmdname{GSView} можно найти на +\url{http://www.cs.wisc.edu/~ghost/gsview/} или любом зеркале архива +\acro{CTAN}. + +\section{Действия после установки и поддержка \protect\Windows} + +Если вы установили дистрибутив \TL, вы можете использовать +\cmdname{tlpmgui} для изменения и поддержки установленной системы. + +\subsection{Добавление и удаление пакетов} + +Поскольку программа \cmdname{tlpmgui} находится в меню +\guiseq{Start\arw Programs\arw TeXLive2005}, запустите её оттуда. +Появится окно \guiseq{TeX Live installation and maintenance utility}. +В нём есть несколько страниц: \guiseq{Add Packages}, \guiseq{Remove + packages}, \guiseq{Manage installation}, \guiseq{Remove + installation}. + +Щёлкните по страничке \guiseq{Add packages} или \guiseq{Remove + packages}, а затем: +\begin{itemize} +\item На первой страничке выберите нужный \CD{} (или \DVD{} с + директорией \dirname{texlive}), нажав на кнопку \guiseq{CD/DVD}. + +\item Щелкните на кнопку \guiseq{Search} в разделе \guiseq{Buttons} + чтобы вызвать или обновить список пакетов в разделе \guiseq{Select + packages to\dots} + + При добавлении пакетов список установленных пакетов сравнивается со + списком на \CD/\DVD. Только неустановленные пакеты показываются в + меню. Вы можете сами выбрать, что именно устанавливать. + + При удалении отдельных пакетов показывается только список + установленных пакетов. + + Заметьте, что в меню \guiseq{Add packages} и \guiseq{Remove + packages} сначала указывается список коллекций. + +\item Выберите пакет, щёлкнув на название пакета. Кнопка + \guiseq{Info} в разделе \guiseq{Buttons} показывает краткое описание + выбранного пакета в разделе \guiseq{Info about the selected item}. + Чтобы выбрать сразу несколько пакетов, нажмите клавиши Ctrl или + Shift и щёлкните левой клавишей мышки, или зажмите левую клавишу и + выберите несколько пакетов мышкой. + +\item Щёлкните на кнопку \guiseq{Install} или \guiseq{Remove} в + разделе \guiseq{Buttons} для того, чтобы произвести требуемое + действие. +\end{itemize} + + +\subsection{Конфигурация и другие административные действия} + +На странице \guiseq{Manage the installation} содержатся кнопки для +добавления поддержки языка, который не был выбран при установке, +добавления/регенерация формата, который не был выбран при установке +или был модифицирован после установки. + +Можно произвести следующие действия: +\begin{itemize} +\item Обновить базу данных \filename{ls-R} +\item Создать форматы (Все или только отсутствующие) +\item Редактировать \filename{language.dat} +\item Редактировать \filename{fmtutil.cnf} +\item Редактировать \filename{updmap.cfg} +\end{itemize} + +Примечание: Вы можете закрыть окно \guiseq{Edit\dots} кнопкой +\guiseq{Cancel} или кнопкой \guiseq{Done}. В последнем случае система +начнёт создавать заново файлы форматов (или карты шрифтов, если вы +редактировали \filename{updmap.cfg}), после чего будет обоновлена база +данных \filename{ls-R}. + +Более подробно конфигурация системы описана в разделе~\ref{sec:persconf}, +\p.\pageref{sec:persconf}. + +\subsection{Удаление \protect\TL{}} + +Страница \guiseq{Remove the TeX Live installation} открывает окно с +кнопками, которые не ст\'оит описывать. Мы не знаем никого, кому бы +они могли понадобиться\dots :-) + + +В любом случае, если у вас есть директория \path|texmf-local| для +ваших собственных добавлений, процесс удаления не сотрёт ни её, ни +файлов в этой директории. Директория \path|setup-win32|, содержащая +\cmdname{tlpmgui} и другие файлы, также не будет удалена. Вам +придётся удалять эти директории вручную. + + +\subsection{Добавление ваших собственных пакетов к дистрибутиву} + +Во-первых, что бы вы ни делали, \textbf{не забудьте перегенерировать + базу данных имён файлов \filename{ls-R}.} Иначе новые файлы не +будут найдены системой. Вы можете это делать либо через графическую +оболочку \cmdname{tlpmgui}, выбрав соответствующее действие на +странице \guiseq{Manage the installation}, либо вручную при помощи +команды \file{mktexlsr}. + +Если вы хотите добавить файлы, которых нет в дистрибутиве \TL{}, лучше +всего их добавлять в директорию \path|$TEXMFLOCAL|. Тогда они +сохранятся при обновлении \TL. + +Директория \path|$TEXMFLOCAL| первоначально пуста. Если, например, вы +хотите добавить файлы поддержки для программы символических вычислений +Maple, вы можете положить стилевые файлы в +\path|c:\TeXLive2005\texmf-local\tex\latex\maple\|, а документацию в + \path|c:\TeXLive2005\texmf-local\doc\latex\maple\|. + + +\subsection{Запуск \texttt{tlmp.exe} из командной строки} + +У программы \texttt{tlmp.exe}, которую использует графическая +оболочка \cmdname{tlmpgui}, есть ряд полезных ключей. Вы можете +получить список ключей, запустив +\begin{verbatim} +tlpm --help +\end{verbatim} + +Дополнительную информацию можно найти в файле \filename{tlmp.readme}. + +\subsection{Установка по сети} + +\KPS{} знает про сетевые диски, поэтому вы можете использовать их для +того, чтобы раздавать дерево \path{TEXMF} по сети. Но можно поступить +ещё проще. Все \TeX{}овские и конфигурационные файлы, всё, кроме +файлов в директории +\path|bin/win32| можно использовать в одновременно в версиях \teTeX{} +или \TL{} под Юниксом. Это означает, что вы можете использовать +Самбу, чтобы смонтировать диски либо с сервера \acro{NT} на рабочую +станцию под Юниксом, либо наоборот. Возможно несколько стратегий: +\begin{itemize} +\item Положите всё на сервер. Добавьте файлы для каждой архитектуры в + соответствующую поддиректорию \path|bin|, например, + \path|bin/win32| и \path|bin/i386-linux|. Затем установите ваши + переменные. Вы можете использовать сетевые имена, чтобы задать + нужные директории под Win32. +\item Установите локальные копии программ и форматов. В этом случае + задайте в переменной \path|$TEXMFMAIN| главное дерево \path|texmf|, + которое лежит на сервере. Установите \path|$VARTEXMF| на локальную + директорию с локальными конфигурационными файлами и автоматически + созданными + файлами. +\end{itemize} + + +\subsection{Чем Windows отличаются от других систем?} + +Версия \Webc{} для Windows отличается некоторыми специфическими +чертами, которые ст\'оит указать. + +\begin{description} +\item[\KPS{}] Хеши, которые строит \KPS{} для \TL, довольно велики. + Чтобы уменьшить время старта для всех программ, использующих \KPS, + эти хеши кладутся в общую память. Поэтому, когда вы запускаете + несколько таких программ, вызывающих друг друга (\path|tex| вызывает + \path|mpost|, который вызывает \path|tex|), накладные расходы на + запуск каждой из программ меньше. Это изменение невидимо для + пользователя, за исключением случая, когда вы выставляете флаг + отладки \cmdname{kpathsea} на \path|-1|: вы тогда начинаете + трассировать доступ к общей памяти, обычно не совсем то, что вам + надо (к ней очень много обращений). Мы ещё не выяснили, что именно + полезно в логе доступа к общей памяти, так что ситуация может + измениться в будущем. +\item[\cmdname{kpsecheck}] Эта программа предоставляет некоторые + опции, которые не подошли команде \cmdname{kpsewhich}. Она позволит + вам перечислить все файлы, которые встречаются несколько раз в + деревьях \path{texmf}. Это может быть удобно, но как правило, вы + будете получать ненужную информацию, (вроде десятков файлов + \path|README|). Эти файлы привели бы к противоречиям в хешах + \KPS{}; к счастью, \KPS{} никогда их не ищет. Поэтому вы можете + объединять опцию \path|-multiple-occurences| с двумя другими опциями + для включения или исключения файлов, чьи имена соответствуют + определённому шаблону (вы можете запросить несколько шаблонов). + + Команда \cmdname{kpsecheck} сообщает также статус общей памяти: + используется или не используется. Это может быть полезно знать, + потому что если статус памяти \samp{in use}, значит, запущен один + или несколько процессов, и эффект команды \cmdname{mktexlsr} может + быть отложен до тех пор, пока все процессы, использующие библиотеку + \KPS{}, не завершатся. + + Наконец, эта же команда сообщает о том, где по её мнению находится + Ghostscript. Под Win32 для многих программ проще искать + Ghostscript dll по значению регистра, чем использовать + \path|PATH|, длина которого ограничена. +\item[\Webc{}] У компиляторов несколько опций, которых нет под + Unixовской версией + \Webc{}, и у одной опции другое поведение: + \begin{itemize} + \item \path|-halt-on-error| остановить компиляцию на первой ошибке. + \item \path|-job-time| задать дату выполнения работы по времени + создания файла, указанного в качестве аргумента. +\item \path|-oem| использовать кодовую страницу \acro{DOS} для выдачи + на консоль. + \item \path|-output-directory| писать все выходные файлы в указанную + директорию. + \item \path|-time-statistics| вывести статистику о затраченном + времени. Следует заметить, что, поскольку система Win9x не + является по-настоящему многозадачной системой, у неё нет надёжного + таймера для небольших промежутков времени, и поэтому результат лишь + приблизителен. Под NT/2K/XP результат довольно точно показывает + системное время и время, затраченное прикладными программами. Для + пользователей Unixа напоминаем, что под Windows обычно нет + стандартной команды \path|time|. + \end{itemize} +\end{description} + + + +\subsection{Индивидуальные настройки} +\label{sec:persconf} + +\subsubsection{Dvips} + +Конфигурационный файл для dvips находится в\\ +\verb+C:\TeXLive2005\texmf-var\dvips\config\config.ps+\\ +Вы можете открыть его в любом редакторе и изменить некоторые параметры: + %(\cmdname{WinShell} will do fine) + +\begin{description} +\item [шрифты] вы можете изменить текущий режим \MF{} или разрешение + принтера, если \cmdname{dvips} понадобится генерировать шрифты в + формате \acro{PK}. По умолчанию она использует шрифты в формате + Type~1, так что она не должна вызывать \cmdname{mktexpk} чересчур часто; +\item[принтер] вы можете сказать \cmdname{dvips}, где вы хотите + печатать по умолчанию. Если за опцией \optname{o} не следует + название принтера, то на диск записывается файл в формате \PS{}. Вы + можете указать \cmdname{dvips} название принтера, например: +\begin{verbatim} +o lpt1: +% o | lpr -S server -P myprinter +% o \\server\myprinter +\end{verbatim} +\item[бумага] Вы можете изменить размер бумаги с европейского (A4) на + US letter, сделав US letter первым размером бумаги в файле. Найдите + в файле строки, начинающиеся с \code{@}. Поменяйте строки так, + чтобы этот раздел начинался со строк:\\ +\hspace*{1em} @ letterSize 8.5in 11in\\ +\hspace*{1em} @ letter 8.5in 11in\\ +\hspace*{1em} @+ \%\%BeginPaperSize: Letter\\ +\hspace*{1em} @+ letter\\ +\hspace*{1em} @+ \%\%EndPaperSize +\end{description} + +Текущая версия \TL{} всегда создаёт обновлённые версии файлов +fontmaps для Dvips and Pdftex. Это делается программой +\cmdname{updmap} во время установки, а также при добавлении пакетов. +Если вы добавляете пакеты вручную, отредактируйте файл +\verb+updmap.cfg+ в \path|$TEXMFVAR/web2c|. + +\subsubsection{PdfTeX} + +Если вы используете программу pdf{}latex, чтобы писать непосредственно +в формате \acro{PDF}, и вы используете бумагу \acro{US} letter, +отредактируйте файл\\ +\verb+C:\TeXLive2005\texmf-var\tex\generic\config\pdftexconfig.tex+,\\ +изменив в нём \samp{\bs pdfpagewidth} и \samp{\bs pdfpageheight}. Там +должно быть: +\begin{alltt} +\bs{}pdfpagewidth=8.5 true in +\bs{}pdfpageheight=11 true in +\end{alltt} +Сохраните файл и выйдите из редактора. + +\subsubsection{GSView} +GSView теперь распространяется под лицензией Aladdin, и поэтому не +включена в \TL{}. + +Вы можете захотеть изменить размер страницы на US letter. Если это +так, запустите +GSView из меню \guiseq{Start}, и выберите \guiseq{Media\arw Letter}. + +Кроме того, вы можете изменить настройки так, чтобы получить самое +качественное изображение на экране. В меню \guiseq{Media \arw Display + Settings}, выставьте \optname{Text Alpha} и \optname{Graphics Alpha} +на 4~бита. + +Заметьте, что после установки все файлы \code{.ps} и \code{.eps} будут +автоматически открываться программой \cmdname{GSView}. + +По поводу печати, см. раздел~\ref{printing} ниже. + +\subsubsection{WinDvi} +\label{sub:windvi} + +Программа \file{tlmpgui.exe} не ассоциирует файлы с расширением +\file{.dvi} с программой \file{Windvi} и не создаёт иконы на декстопе, +так что вы это должны сделать сами. + +Откройте \cmdname{windvi}, щёлкнув на иконку или из командной строки. + +Вы можете задать размер бумаги US letter из меню \guiseq{View\arw + Options\arw Papertype} и выбрав US (8.5\verb+"+ x 11\verb+"+) (а +затем \optname{OK}). + +Вы можете изменить и другие параметры, как например, возможность +запускать системные команды из документа (запрещённую по умолчанию из +соображений безопасности). Кроме того, при первом запуске вы можете +решить, что масштаб чересчур велик. Измените его и найдите подходящее +для вас значение. + + +Все настройки программы \cmdname{Windvi} хранятся в файле +\path|windvi.cnf|. Вы можете найти его командой +\begin{verbatim} +c:\>kpsewhich --expand-var $HOME/windvi.cnf +\end{verbatim} + +Если у вас возникнут проблемы с \cmdname{Windvi}, удалите +конфигурационный файл и проверьте, работает ли всё в стандартной +конфигурации. + +\subsection{Тестирование} + +Общие инструкции по тестированию находятся в +разделе~\ref{sec:test-install} (\p.\pageref{sec:test-install}). В этом +разделе описаны тесты, специфические для Windows. + +Откройте файл \verb+sample2e.tex+ в вашем редакторе (Xemacs, +WinShell). Этот файл можно найти в директории, например, +\path|C:\TeXLive2005\texmf-dist\tex\latex\base|. На экране должен появиться +исходный код в формате \LaTeX. Скомпилируйте его, щёлкнув по меню +\guiseq{Command\arw LaTeX} (XEmacs) или иконке <<\LaTeX>> +(WinShell), затем посмотрите на результат, щёлкнув по меню +\guiseq{Command\arw View DVI} (XEmacs) или иконке <<Preview (Windvi)>> +(WinShell). + +При первом просмотре файлов Windvi, программа создаст экранные +шрифты, которые не установлены в системе. Через некоторое время +б\'ольшая часть шрифтов будет создана, и вы будете видеть окошко +создания шрифтов очень редко. + +\textbf{Совет на будущее:} Если \LaTeX\ останавливается, потому что не +может найти нужного файла, вы можете нажать \code{Ctrl-z}, чтобы выйти +из программы. + + +\subsection{Печать} +\label{printing} + +Вы можете печатать из \cmdname{Windvi}. В этом случае печать будет +производиться через универсальный драйвер Windows. Он по определению +совместим со всеми принтерами. Но у него есть недостаток: он может +генерировать огромные промежуточные файлы, и некоторые (старые) версии +Windows их не любят. Его преимущество в том, что вы можете вставлять +графику в формате \acro{BMP} или \acro{WMF}. Вам также надо правильно +выставить параметры печати (раздел~\ref{sub:windvi}), иначе вы можете +получить уменьшенную или увеличенную страницу (печать с разрешением +600\dpi{} на принтере с разрешением 300\dpi{} даст вам только четверть +страницы). + +Печать будет быстрее и надёжнее, если вы запустите \cmdname{dvips}, +чтобы создать файл \filename{.ps}, а затем напечатаете его из +\cmdname{GSView}. В \cmdname{GSview} выберите \guiseq{File\arw + Print\ldots}. Появится окно \guiseq{Print}. + +Если у вас \PS{}-принтер, \textit{обязательно выберите +\guiseq{\PS{} Printer}}. Это делается в меню \guiseq{Print Method} +внизу слева в окне \guiseq{Print}. Вы затем можете выбрать любой из +установленных принтеров. Если вы не выберите \optname{\PS{} + Printer}, печать не будет работать. + +Если вы используете не \PS{}-принтер, выберите +\guiseq{Ghostscript device} в меню \guiseq{Print Method}, затем +щёлкните на кнопку справа \guiseq{djet500} и выберите ваше принтер из +появившегося списка. (В старых версиях +\cmdname{GSView} проверьте, что \optname{\PS{} Printer} \textit{не} +выбран, и выберите принтер из списка \guiseq{Device}.) + + +\subsection{Советы пользователям Win32} + +\subsubsection{Разные типы Win32} + +То, что мы называем Win32, не является операционной системой само по +себе. Это большой набор функций (около 12\,000 в заголовках +\acro{SDK} от Микрософта), которые используются для написания программ +для разных операционных систем семейства Windows. + +Есть разные типы +Windows: +\begin{itemize} +\item Win95, Win98 и Win\acro{ME}, которые \emph{не являются + настоящими многозадачными системами.} Это последние "---будем + надеяться, что на самом деле последние "---реинкарнации \acro{DOS}. Это + может быть более или менее убедительно доказано наблюдением за + процессом загрузки. \acro{PC} загружает \path|command.com|. Если + вы остановите процесс загрузки, вы можете спросить текущую версию + \acro{DOS}, и система ответит что-то вроде \samp{MS-DOS 7.0} (по + крайней мере в старших версиях Win9x). +\item Windows \acro{NT}, новая операционная система, написанная с + нуля, способная к настоящей многозадачности, и включающая много + высокоуровневых возможностей. +\item Windows 2000, основанная на \acro{NT}, но со всеми возможностями + Win98. +\item Windows \acro{XP}, которая бывает Personal и Pro. Это последний + шаг в слиянии двух линеек продуктов (Win9x и + \acro{NT}). \acro{XP} основана на \acro{NT}. +\end{itemize} + + +Win9x могут одновременно запускать 32 и 16-битовые программы. Но +операционная система сама написана не полностью в 32-битовом режиме, и +не поддерживает защищённый режим: 16-битовые программы могут +переписать память операционной системы! Некоторые части системы, +например, \acro{GDI} (Graphical Device Interface, интерфейс к +графическим устройствам) управляют ограниченными ресурсами, вроде +битмапов, шрифтов и т.д. для всех программ, которые могут работать +одновременно. Все заголовки битмапов, доступные одновременно, не +могут занимать больше, чем 64\,Kb. Это объясняет, тот печальный факт, +что вы можете поставить систему на колени, например, используя много +графических объектов. + +\acro{NT}, {2K} и \acro{XP} свободны от этих и других ограничений +Win9x. Это настоящие многозадачные системы с защищённой памятью. +Они гораздо лучше отзываются на действия пользователя, чем Win9x, +из-за лучшего управления памятью, лучшей файловой системы и т.д. + +\subsubsection{Командная строка} + +Вы можете спросить: <<Зачем мне нужна командная строка, если я работаю +под Windows?>> + +Хороший вопрос. Проблема на самом деле очень общая. Не все операции +удобно делать из \acro{GUI}. Командная строка даёт вам возможности +программирования "---если за ней стоит хороший интерпретатор. + +Но проблема ещё более фундаментальна: \TeX{} является \emph{пакетной} +программой. Не интерактивной. \TeX{}у надо вычислить оптимальную +вёрстку для всей страницы, перекрёстные ссылки и т.д. Это можно +сделать только глобальной компиляцией всего документа. Эту задачу +(пока) невозможно решить интерактивно. + +Это означает, что \TeX{} надо использовать из командной строки. На +самом деле ситуация вовсе не так ужасна. У программ, занимающихся +сложной обработкой потока из командной строки, есть преимущество: их +проще отлаживать, потому что они не зависят от проблем \acro{GUI}, и +можно написать отдельные \acro{GUI}, которые взаимодействуют с +такими программами. Это и происходит с \TeX{}ом, где вы можете +общаться с программой через \acro{GUI} редактора. + +Однако вам в ряде ситуаций может понадобиться командная +строка. Например, у вас могут возникнуть трудности, и вам потребуется +отладка. + +\begin{description} + \item[Win9x] Вы можете получить командную строку, либо щёлкнув по + иконке \acro{MS-DOS} в меню \guiseq{Start\arw Programs}, либо + выбрав из меню \guiseq{Start\arw Run} и напечатав там + \path|command.com|. + \item[NT, 2K, XP] Вы можете получить командную строку, найдя + \guiseq{Command Prompt} в меню \guiseq{Start\arw Accessories}. + Вы также можете выбрать меню \guiseq{Start\arw Run} и напечатать + там + \path|cmd.exe|, название нового интерпретатора командной строки в + \acro{NT} (именно поэтому неправильно называть его окном + \emph{DOS}!). +\end{description} + +Детали выхода в командную строку могут измениться в других версиях +Windows. + + +\subsubsection{Разделители путей} + +API Win32 понимает и \path|/|, и \path|\| в качестве разделителей в +названиях директорий. Но интерпретаторы команд не понимают первого из +них! Поэтому, когда путь к файлу используется в программе, вы можете +использовать оба разделителя, даже в одном и том же пути. Но в +командной строке вы можете использовать в качестве разделителя только +\path|\|. Причина заключается в совместимости: интерпретатор команд +использует \samp{/} для аргументов команд. + +После этого длинного предисловия мы можем сказать: не удивляйтесь, +если вы встретите директории, записанные в формате Юникса: \fpTeX{} +является портом \Webc, и пытается достичь совместимости на разных +платформах. По этой причине все конфигурационные файлы, где +указывается путь по директориям, делают это в формате Юникса. + +\subsubsection{Файловые системы} +\label{sec:clusters} + +Пожалуй, худшей чертой Win9x с точки зрения\TeX{}а является так +называемая файловая система \acro{FAT}. \TeX{} использует +очень много маленьких файлов, с размерами 1--3\,Kb. Файловая система +\acro{FAT} очень древняя, она на много десятилетий старше +многогигабайтовых дисков, которые распространены +сегодня. Неудивительно, что +она не может эффективно управлять десятками тысяч \TeX{}овских файлов, +входящих в состав \TL{}. Файловая система \acro{FAT} выделяет как +минимум 32\,Kb \emph{любому} файлу на большом разделе. Это +означает, что система \TeX{} занимает намного больше места, чем ей на +самом деле нужно. + +Другие, более современные файловые системы, \acro{FAT32} и +\acro{NTFS}, лишены этого недостатка. Они используют кластеры +размером в 4\,Kb. (На \acro{NTFS} размер кластера можно уменьшить до +512 байт.) + +\subsubsection{Как добавить директорию в PATH} + +Есть пары переменных и их значений, которые ведут себя как глобальные +переменные для всех программ. Набор таких переменных называется +\emph{окружением}. Каждая программа получает копию текущего +окружения. Она может опросить или изменить значение любой переменной. +Изменение происходит с локальной копией окружения, и не переходит в +другие программы. + +Переменная \envname{PATH} "---особая переменная, используемая для +поиска запускаемых вами программ. Она задаётся по-разному в Win9x, +WinME and NT/2K/XP: + +\begin{description} +\item[Windows 95/98] Отредактируйте файл \path|autoexec.bat|. В этом + файле должна быть строка, начинающаяся с \texttt{PATH=}, после чего + следует список директорий, разделённых \path|;|. Добавьте + директорию с программами \TL{} к списку, например, так: +\begin{verbatim} +PATH=c:\windows;c:\windows\system;c:\TeXLive2005\bin\win32 +\end{verbatim} +\item[Windows ME] Вам надо запустить специальную программу + \path|c:\windows\system\msconfig.exe| чтобы изменить переменные + окружения. В этой программе выберите <<Environment>> и измените + нужные переменные. Вам будет предложено рестартовать машину после + изменения. +\item[Windows NT/2K/XP] Щёлкните левой клавишей мышки на \guiseq{Start + \arw Settings \arw Control Panel}. Откроется окно с иконками + панели управления. Щёлкните на <<System>>. Откроется окно <<System + Properties>>. Щёлкните на \textsf{Environment} или найдите + \guiseq{Environment Variables} среди диалоговых окон. Теперь вы + сможете изменить окружение для себя. Примечание: там также показано + системное окружение. Обычно вы не можете изменить системные + переменные, если у вас нет прав администратора. Если вы хотите + изменить \envname{PATH} для всех пользователей, обратитесь к вашему + системному администратору. Если вы сами системный администратор, + вы должны понимать, что вы делаете. + + Если там уже есть переменная \envname{PATH}, щёлкните на + \envname{PATH}. В поле \textsf{Variable} появится \texttt{PATH}, а + в поле \textsf{Value} текущее значение переменной: список директорий, + разделённых \path|;|. Добавьте директорию, где расположены нужные + программы, например, \path|c:\TeXLive2005\bin\win32|. + Если у вас не задана переменная \envname{PATH}, щёлкните на поле + \textsf{Variable} и впечатайте \texttt{PATH}, щёлкните на поле + \textsf{Value} и впечатайте директорию. + Внимание: Щёлкните на \textsf{Apply} перед тем, как нажать + \textsf{Ok}, иначе значение \envname{PATH} не изменится. Будьте + очень аккуратны, изменяя переменные окружения. +\end{description} + +Лучший способ убедиться, что переменная установлена правильно: +откройте консоль и напечатайте +\begin{verbatim} +set VARIABLE +\end{verbatim} +система должна напечатать её значение. + +\subsubsection{Компиляторы \TeX{}а} + +Если вы взглянете в документацию \Webc{}, вы увидите, +что все различные программы на основе \TeX{}а используют один и тот +же компилятор, Например, \path|tex.exe| и \path|latex.exe| являются +копиями одной и той же программы, но используют различные форматы в +зависимости от того, под каким именем они вызваны. + +Под Юниксом это сделано путём использования \emph{символических + ссылок}. Это экономит массу места на диске, потому что один и тот же +компилятор используется многими программами. + +API Win32 не знает про ссылки. Поэтому чтобы сэкономить место, все +основные программы \TeX{}а упакованы в DLL (\emph{Dynamic Linked + Library}, динамически подгружаемая библиотека). Это означает, что у +вас могут быть такие файлы: +\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} +и файл \path|latex.exe| на самом деле является копией +\path|pdfetex.exe|, использующей тот же \path|tl90pdfetex.dll|. +Этот же метод используется для программ \path|mktex*.exe|, которые +вызывают библиотеку \path|mktex.dll|, + +Мы включили в дистрибутив программу \path|irun.exe| для создания аналога +юниксовских жёстких ссылок для программ под Win32. + +\subsection{Что делать в случае проблем} +\label{sec:troubleshooting} + +\subsubsection{Что делать, если \texttt{latex} не находит ваших файлов?} + +\begin{itemize} + +\item Программа \cmdname{kpsewhich} помогает в отладке. К сожалению, + \cmdname{kpsewhich} выдаёт отладочную информацию на + \cmdname{stderr}, а программы под консолью Windows не знают, как + сбросить \cmdname{stderr} в файл. (Консоль в NT and Win2k + может это сделать, но способ, описанный здесь, работает в любой + консоли). Для диагностики вы можете временно установить + переменную окружения (в окне \acro{DOS}): + +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=err.log +\end{verbatim} +Вы также можете установить уровень отладки: +\begin{verbatim} +SET KPATHSEA_DEBUG=-1 +\end{verbatim} + +Если вы хотите перенаправить \cmdname{stderr} на \cmdname{stdout}, +что в общем случае невозможно под Windows, сделайте так: +\begin{verbatim} +SET KPATHSEA_DEBUG_OUTPUT=con: +\end{verbatim} +Теперь вы можете направить \cmdname{stderr} и \cmdname{stdout} в один +и тот же файл. + +\item Предполагая, что вы установили систему под \path|c:/TeX|, проверьте следующие значения: \\ + {\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 Если в вашем окружении установлены относящиеся к \TeX у + значения, пожалуйста, удалите их. Они имеют преимущество перед + теми. которые заданы в + \path{texmf.cnf}. +\item Проверьте значения в:\\ +{\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 Если всё до этого момента правильно, \TeX{} и прочие программы + должные работать. Если это не так, поиграйтесь с опцией + \path|-debug=n| для \path|kpsewhich|, и проверьте все значения. + Попытайтесть определить проблему и сообщить автору. +\end{itemize} + +\subsubsection{Что делать, если установка произошла не так, как ожидалось?} + +Вот несколько вещей, которые вы можете проверить: + +\begin{enumerate} +\item Находится ли \file{tex.exe} в моей \path|PATH|? + +\item Установлена ли переменная \path|TEXMFCNF| на + \path|c:/TeXLive2005/texmf-var/web2c| (значение по умолчанию)? + +\item Есть ли ошибки в логах программы \file{tlmpgui.exe}? Вы можете + найти файл \file{tlmpgui.log} в директории \file{TEMP}. Ищите + строку \samp{Error} в этом файле. Заметьте, что в логе могут + оказаться ошибки после генерироования некоторых форматов. Не надо + паниковать: возможно, некоторые форматы не были установлены. + +\item Есть ли объявление о багах на \url{http://tug.org/texlive/}? +(Маловероятно, но проверить ст\'оит.) + + +\end{enumerate} + +Дистрибутив \TL{} состоит из сотен программ и десятков тысяч +файлов из разных источников. Поэтому очень трудно предсказать все +возможные источники ошибок. Тем не менее мы попытаемся вам помочь +(см, раздел~\ref{sec:help} \p.~\pageref{sec:help}). + + + +% don't use \Webc so the \uppercase in the headline works. +\section{Руководство пользователя Web2C} + +\Webc{} "---это интегрированная коллекция программ, относящихся к +\TeX{}у: сам \TeX{}, \MF{}, \MP, \BibTeX{}, и т.д. Это сердце +\TL{}. + +Немного истории. Первоначальная версия была написана Томасом Рокики, +который в 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{}. Эта библиотека использует комбинацию переменных окружения и +конфигурационных файлов, чтобы найти нужные файлы в огромной системе +\TeX{}. \Webc{} может просматривать одновременно больше одного дерева +директорий, что полезно для работы со стандартным дистрибутивом +\TeX{}а и его локальными расширениями. Для ускорения поисков файлов +каждое дерево содержит файл \file{ls-R}, в котором указаны названия и +относительные пути всех файлов в этом дереве. + +\subsection{Поиск файлов в Kpathsea} + +Рассмотрим сначала общий алгоритм библиотеки \KPS. + +Будем называть \emph{путём поиска} набор разделённых двоеточием или +точкой с запятой \emph{элементов пути}, представляющих из себя в +основном названия директорий. Путь поиска может иметь много +источников. Чтобы найти файл \samp{my-file} в директории +\samp{.:/dir}, \KPS{} проверяет каждый элемент пути по очереди: +сначала \file{./my-file}, затем \file{/dir/my-file}, возвращая первый +файл (или, возможно, все файлы). + +Чтобы работать с разными операционными системами, \KPS{} под системой, +отличной от Юникса может использовать разделители, отличные от +\samp{:} и \samp{/}. + +Чтобы проверить определённый элемент пути \var{p}, \KPS{} вначале +проверяет, подходит ли к нему база данных (см. <<База данных файлов>> +на стр.~\pageref{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{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{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{;} в \var{value} переводится в \samp{:} под Юниксом; это + полезно, чтобы поддерживать общий файл для Юникса, \acro{MS-DOS} и + Windows. +\item + Все определения читаются до подстановок, поэтому к переменным можно + обращаться до того, как они определены. +\end{itemize} +Фрагмент конфигурационного файла, иллюстрирующий эти правила приведён +\ifSingleColumn +ниже: + +\verbatiminput{examples/ex5.tex} +\else +приведён на Рис.~\ref{fig:config-sample}. +\fi + +\subsubsection{Подстановка путей} +\label{Path-expansion} + + +\KPS{} разпознаёт определённые специальные символы и конструкции в +путях поиска, аналогичные конструкциям в стандартных оболочках +Юникса. Например, сложный путь +\verb+~$USER/{foo,bar}//baz+, означает все поддиректории директорий +\file{foo} и \file{bar} в домашней директории пользователя +\texttt{\$USER}, которые содержат файл или поддиректорию \file{baz}. +Это объяснено в следующем разделе. + +%$ +\subsubsection{Подстановка по умолчанию} +\label{Default-expansion} + +\tolerance=2500 + +Если путь поиска с наибольшим приоритетом (см. <<Источники путей>> на +стр.~\pageref{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} +%$ +что означает, что кроме текущей директории будет происходить поиск +только в \code{\$TEXMFHOME/tex}, \code{\$TEXMFLOCAL/tex}, +\code{\$TEXMFVAR/tex} и \code{\$TEXMFMAIN/tex} (последние два дерева +используют файлы \file{ls-R}). Это удобно для поддержки двух +параллельных структур, <<замороженной>> (например, на \CD) и +обновляемой по мере появления новых версий. Используя переменную +\code{\$TEXMF} во всех определениях, можно задать поиск в обновляемом +дереве первым. + +\subsubsection{Подстановка поддиректорий} +\label{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{Filename-database} + +\KPS{} старается минимизировать обращение к диску при поиске. Тем не +менее в системах с большим количеством директорий поиск в каждой +возможной директории может занять долгое время (это особенно верно, +если надо проверить сотни директорий со шрифтами). Поэтому \KPS{} +может использовать внешний текстовый файл, +<<базу данных>> \file{ls-R}, который знает, где находятся файлы в +директориях, что даёт возможность избежать частых обращений к диску. + +Ещё одна база данных, файл \file{aliases} позволяет вам давать +дополнительные названия файлам в \file{ls-R}. Это полезно, если вам +нужно соблюдать правило \acro{DOS} <<8.3>>. + +\subsubsection{Базы данных \texttt{ls-R}} +\label{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{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{SExamplesofuse} + +Давайте посмотрим на \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}. Так как суффикс \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{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}] Поиски файлов. +\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}'s +debug class 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{Поиск файла пролога}\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{SExamplesofuse}). + +В этот момент \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{DANTE} e.V.), + обеспечила компьютеры для репозитория \TL{}; Райнер Шёпф и Рейнхард + Цирке его поддерживали. Сотрудники \acro{DANTE} Фолькер Шаа и Клаус + Хоппнер координировали производство с Lehmann's Bookstore + (\url{http://www.lob.de}). + +\item The Perforce corporation (\url{http://www.perforce.com}) + подарила нам бесплатную копию их замечательной системы контроля + версий, использованную нами для исходников \TL. + +\item Питер Брейтенлохнер и команда разработчиков \eTeX\ заложила + основы будущего \TeX а. + +\item Томас Эссер, без замечательного пакета \teTeX{} которого \TL{} + не существовал бы, много помогал нам в работе над \TL. + +\item Майкл Гусенс был соавтором первой версии документации. + +\item Эйтан Гурари написал \TeX4ht{}, использованный для производства + файлов \HTML{}, и неустанно работал над ними, немедленно добавляя + нужные нам возможности. + + +\item Ганс Хаген помогал в тестировании и приспособлении формата + \ConTeXt\ к нашим нуждам. + +\item Павел Яковский создал инсталлятор для Windows \cmdname{tlpm}, а + Томаш Лужак написал \cmdname{tlpmgui}. + +\item Хан Фе Фан, Мартин Шрёдер и команда pdf\TeX\ продолжает + улучшать возможности \TeX а. + + +\item Петр Олшак координировал и проверял весь чешский и + словацкий материал. + + +\item Фабриций Попинье создал \TL{} для Windows и разработал новую + структуру директорий. + + +\item Сташек Ваврикевич был главным тестером \TL{} и координировал + много польских вкладов: шрифты, инсталлятор для Windows и многое + другое. + +\item Олаф Вебер терпеливо работал над \Webc, на которой держится + дистрибутив. + +\item Гербер Виерда разработал поддержку \MacOSX\ и участвовал в + интеграции и тестировании. + +\item Грэм Виллиамс создал каталог пакетов. + +\end{itemize*} + +Программы компилировали: +Тигран Айвазян (\pkgname{x86\_64-linux}), +Манфред Лотц (\pkgname{i386-freebsd}), +Фабриций Попинье (\pkgname{win32}), +Норберт Прейнинг (\pkgname{alpha-linux}), +Владимир Волович (\pkgname{powerpc-aix}, \pkgname{sparc-linux}, +\pkgname{sparc-solaris}), +Сташек Ваврикевич (\pkgname{i386-linux}), +Олаф Вебер (\pkgname{mips-irix}), +Герберт Виерда (\pkgname{i386-darwin}, \pkgname{powerpc-darwin}). + +Документация и переводы: +Карл Берри (английский), Даниэль Флипо и Фабриций Попинье +(французский), Гюнтер Партош и Хартмут Хенкель (немецкий), Петр Сойка +и Ян Буса (чешский и словацкий), Борис Вейцман (русский), Сташек +Ваврикевич (польский). + +Разумеется, наша главная благодарность "---Дональду Кнуту, во-первых, +за разработку \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{} преполагается совметимым с Debian +Free Software Guidelines (\url{http://www.debian.org/intro/free}); мы +сделали всё, что могли, чтобы проверить лицензии всех пакетов, и мы +будем благодарны за любое указание на ошибки. + +В шестом издании (июль 2001 года) было много нового материала. +Главным была новая концепция установки: пользователь выбирал нужный +набор коллекций. Языковые коллекции были полностью реорганизованы, +так что выбор любой из них устанавливал не только макросы, шрифты и и +т.д., но и вносил изменения в \texttt{language.dat}. + +Седьмое издание 2002 года добавило поддержку \MacOSX{}, и большое +количество обновлений для пакетов и программ. Важной целью была +интеграция с \teTeX{}ом, чтобы исправить расхождение, наметившееся в +версиях~5 и~6. + +\subsubsection{2003} + +В 2003 году мы продолжили изменения и дополнения, и обнаружили, что +\TL{} так вырос, что не помещается на \CD. Поэтому мы разделили его на +три дистрибутива (см. раздел~\ref{sec:multiple-dist}, +\p.~\pageref{sec:multiple-dist}). Кроме того: + +\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{temf}) в пути + \envname{TEXFONTMAPS}. Аналогично файлы \filename{.enc} теперь + ищутся в только в поддиректориях \dirname{fonts/enc} в пути + \envname{ENCFONTS}. Программа \cmdname{updmap} предупреждает, если + находит эти файлы не там, где они должны быть. + + См. описание этого размещения информации в See + section~\ref{sec:struct-tl} (\p.\pageref{sec:struct-tl}). + +\item К коллекции \TK{} был добавлен установочный \CD{} с + дистрибутивом \MIKTEX{} для тех, кто предпочитает \MIKTEX{} + программам, основанным на \Webc. См. раздел~\ref{sec:struct-tl} + (\p.\pageref{sec:struct-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} + "---\emph{только при генерировании форматов}. 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} + +\subsection{Настоящее} +\label{sec:tlcurrent} + +В 2005 году было, как всегда, сделано много изменений в пакетах и +программах. Инфраструктура почти не изменилась по сравненению с 2004 +годом, но некоторые неизбежные изменения были сделаны. + +\begin{itemize} + +\item Были добавлены новые скрипты \cmdname{texconfig-sys}, + \cmdname{updmap-sys} и \cmdname{fmtutil-sys}, которые изменяют + конфигурационные файлы в системных деревьях. Скрипты + \cmdname{texconfig}, \cmdname{updmap} и \cmdname{fmtutil} теперь + модифицируют индивидуальные файлы пользователя, в + \dirname{$HOME/.texlive2005}. См. раздел~\ref{sec:texconfig}, + \p.\pageref{sec:texconfig}. + +\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} + +\subsection{Будущее} + +\emph{\TL{} не совершенен!} (И никогда не будет.) Мы +намереваемся продолжать его выпускать раз в год, и хотим добавить +справочный материал, утилиты, установочные программы и (конечно) +новое, улучшенное и проверенное дерево макросов и шрифтов. Эта работа +делается очень занятыми добровольцами в свободное время, и многое +остается сделать. Если вы можете помочь, не стесняйтесь. + +Присылайте, пожалуйста, замечания и предложения по адресу:\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} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% LaTeX-command-style: (("." "pdflatex")) +%%% TeX-view-style: (("." "acroread %s.pdf")) +%%% End: diff --git a/Master/texmf-doc/source/russian/texlive-ru/live4ht.cfg b/Master/texmf-doc/source/russian/texlive-ru/live4ht.cfg new file mode 100644 index 00000000000..508ccca27c8 --- /dev/null +++ b/Master/texmf-doc/source/russian/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/source/russian/texlive-ru/tex-live-rus.sty b/Master/texmf-doc/source/russian/texlive-ru/tex-live-rus.sty new file mode 100644 index 00000000000..2e00e2747b3 --- /dev/null +++ b/Master/texmf-doc/source/russian/texlive-ru/tex-live-rus.sty @@ -0,0 +1,425 @@ +% $Id: tex-live-rus.sty,v 1.4 2005/10/29 00:15:44 boris Exp $ $Author: boris $ $Date: 2005/10/29 00:15:44 $ +% 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} +% +\usepackage{textcomp}% including \textbullet +\usepackage[T1]{fontenc} +% +% 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},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 |