% $Id: tex-live.sty 1513 2006-02-13 00:22:35Z karl $ % TeX Live documentation style. Written by many people over many years. % Public domain. % \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{tex-live}[2005/09/24 v1.5 TeX Live documentation style] % \RequirePackage{alltt} \RequirePackage{array} \RequirePackage{colortbl} \RequirePackage{comment} \RequirePackage{float} \RequirePackage{graphicx} \RequirePackage{longtable} \RequirePackage{shortvrb} \RequirePackage[normalem]{ulem} \RequirePackage[obeyspaces]{url} \RequirePackage{xspace} % \RequirePackage{lmodern} \usepackage{textcomp}% including \textbullet \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} % % for a proper \acro command (even in the context of the definition in % ltugboat -- \DRC overrides without checking) \RequirePackage{relsize} \DeclareRobustCommand{\acro}[1]{\textsmaller{#1}\@} % \RequirePackage{fancyvrb} \DefineVerbatimEnvironment{verbatim}{Verbatim}{fontsize=\normalsize} \DefineVerbatimEnvironment{fverbatim}{Verbatim}{fontsize=\footnotesize} \DefineVerbatimEnvironment{sverbatim}{Verbatim}{fontsize=\small} \DefineVerbatimEnvironment{boxedverbatim} {Verbatim}{fontsize=\scriptsize,frame=single} \DefineVerbatimEnvironment{Verbatim}{Verbatim}{fontsize=\normalsize} \def\verbatiminput#1{\VerbatimInput[fontsize=\scriptsize]{#1}} \def\boxedverbatiminput#1{\VerbatimInput[frame=single,fontsize=\scriptsize]{#1}} \def\listinginput#1#2{\VerbatimInput[fontsize=\scriptsize,firstnumber=#1,numbers=left]{#2}} \MakeShortVerb\| % % % Done with packages. % % Page layout. \advance\textwidth by 1.1in \advance\oddsidemargin by -.55in \advance\evensidemargin by -.55in % \advance\textheight by 1in \advance\topmargin by -.5in \advance\footskip by -.5in \pagestyle{headings} % % LaTeX parameters. \renewcommand{\topfraction}{0.85} \renewcommand{\floatpagefraction}{0.86} \renewcommand{\textfraction}{0.1} \renewcommand{\belowcaptionskip}{4pt} \setcounter{tocdepth}{2} \setcounter{topnumber}{5} \setcounter{totalnumber}{5} % % linebreaking, etc. \hbadness=4000 \vbadness=4000 \emergencystretch=.1\hsize \relpenalty=500 % \def\slash{/\penalty\z@\hskip\z@skip } % % various sorts of names \newcommand*{\pkgname}[1]{\textsf{#1}}% package name \newcommand*{\optname}[1]{\texttt{#1}}% (package,class) option name \newcommand*{\cmdname}[1]{\textsf{#1}}% command name \newcommand*{\colname}[1]{\emph{#1}}% collection name \newcommand*{\dirname}[1]{\path{#1}}% directory name \newcommand*{\filename}[1]{\path{#1}}% file name \newcommand*{\envname}[1]{\texttt{#1}}% environment variable name \newcommand{\code}[1]{\texttt{#1}} \newcommand{\file}[1]{\texttt{#1}} \newcommand{\prog}[1]{\texttt{#1}} \newcommand{\samp}[1]{`\texttt{#1}'} \newcommand{\var}[1]{{\sl #1}}% not \textsl, for roman not typewriter slanted. \newcommand{\ttvar}[1]{\texttt{\var{#1}}} % % underlined command input. \def\Ucom#1{% \uline{\rule[-.2\baselineskip]{0pt}{.9\baselineskip}\ttfamily #1}} % % \CDref is for url's with a #, where we need to write the target url and % displayed url separately in the input, due to catcode madness. % (We could simplify/remove this next time, I think.) \def\CDref#1#2{\texttt{#1}} % % \OnCD is currently for any other reference to a file or directory in % the distribution. PDF readers only open .pdf files, though, so we % should change this to only use \href for those. Or more likely use % different macros in the source. \def\OnCD#1{\href{../../../../#1}{\path{#1}}} % % \href incorrectly appends .pdf to anything without an extension; these % definitions using \hyper@linkurl do not, but they fail for .pdf % references -- which are the only ones that work anyway. So this is % useless, in practice. %\def\CDref#1#2{\hyper@linkurl{#2}{../../../../#1}} %\def\OnCD#1{\hyper@linkurl{\path{#1}}{../../../../#1}} % GUI menu/button/tab sequence: \def\guiseq#1{\textsf{#1}} \def\arw{\unskip$\rightarrow$\ignorespaces} % % Special names. \def\dpi{$\,$dpi\xspace} \def\bs{{\protect\normalfont\ttfamily\char'134}} \DeclareRobustCommand{\cs}[1]{{\normalfont\ttfamily\char`\\#1}} \def\Q#1{\par\vskip6pt\leftline{#1}\par} \def\hyph{-} % % many abbreviations. \newcommand{\CS}{$\mathcal{C}\kern-.1667em\lower.5ex% \hbox{$\mathcal{S}$}\kern-.075em $} \def\AFMtoTFM{\cmdname{AFM2TFM}\null} \def\bv{\emph{Baskerville}} \let\BV=\bv \def\Dash{\unskip\nobreak\thinspace---\thinspace\ignorespaces} \def\dvicopy{\cmdname{dvicopy}} \def\dvidvi{\cmdname{dvidvi}} \def\dvips{\cmdname{dvips}} \def\eTeX{$\varepsilon$-\TeX} \def\fpTeX{\textrm{fp}\TeX\xspace} \def\GFtoDVI{\cmdname{GFtoDVI}\null} \def\GFtoPK{\cmdname{GFtoPK}\null} \def\GFtype{\cmdname{GFtype}} \def\KPS{Kpathsea} \def\La{La} \def\OMEGA{$\Omega$} \def\OzMF{OzMF} \def\OzMP{OzMP} \def\OzTeX{O\kern-.03em z\kern-.15em\TeX} \def\p.{p.\,} \def\PKtype{\cmdname{PKtype}} \def\PLtoTF{\cmdname{PLtoTF}\null} \def\ProTeXt{Pro\TeX t} \def\teTeX{\textrm{te}\TeX\xspace} \def\TeXLive{\TeX{} Live\xspace} \def\TFtoPL{\cmdname{TFtoPL}\null} \def\TK{\textsf{\TeX\ Collection}} \let\TL=\TeXLive \def\TypeI{Type~1} \def\VFtoVP{\cmdname{VFtoVP}\null} \def\VPtoVF{\cmdname{VPtoVF}\null} \def\Thanh{H\`an~Th\^e\llap{\raise 0.5ex\hbox{\'{}}}~Th\`anh} \def\XEmTeX{\textrm{XEm}\TeX\xspace} \def\XEmacs{\textrm{XEmacs}\xspace} \def\Webc{Web2C} \providecommand*{\CD}{\acro{CD}\xspace} \providecommand*{\CTAN}{\acro{CTAN}\xspace} \providecommand*{\DVD}{\acro{DVD}\xspace} \providecommand*{\HTML}{\acro{HTML}\xspace} \providecommand*{\MacOSX}{Mac\,\acro{OS\,X}\xspace} \providecommand*{\PS}{Post\-Script\xspace} \providecommand*{\TDS}{\acro{TDS}\xspace} \providecommand*{\dvi}{\acro{DVI}\xspace} \providecommand*{\web}{\texttt{web}\xspace} % Include an image. % #1 - name of image (pictures/#1.jpg, always .jpg please) % #2 - bb for html % #3 - width for TeX % \def\tlimage#1#2#3{% \ifnum \Status=2 % html, want relative path in output \includegraphics[#2]{../../general/texlive-common/pictures/#1.jpg} \else % not html, handled by TEXINPUTS in Makefile \includegraphics[width=#3]{pictures/#1.jpg} \fi \\[5mm] } % % description-like environment that uses tt instead of bf, and doesn't % go to the left margin. Without the \hfil, get an underfull box. % Don't know why \descriptionlabel doesn't. % \newenvironment{ttdescription} {\begin{list}{label must be supplied}{% \itemsep=0pt % these lists tend to have short descriptions \parindent=0pt \let\makelabel=\ttdescriptionlabel}}% {\end{list}} \newcommand*\ttdescriptionlabel[1]{\hspace\labelsep \normalfont\ttfamily #1\hfil} % % Likewise, for commands using sans serif. \newenvironment{cmddescription} {\begin{list}{label must be supplied}{% \itemsep=0pt \let\makelabel=\cmddescriptionlabel}}% {\end{list}} \newcommand*\cmddescriptionlabel[1]{\hspace\labelsep \normalfont\sffamily #1\hfil} % General squeezed itemize. \newenvironment{itemize*}% {\begin{itemize}% \setlength{\itemsep}{0pt}% \setlength{\parskip}{0pt}}% {\end{itemize}} \newsavebox{\wbox} \newenvironment{warningbox} {\begin{lrbox}{\wbox} \begin{minipage}{.95\textwidth}} {\end{minipage}\end{lrbox}\fbox{\usebox{\wbox}}} % % lrbox is used as a representation marking. I changed it to % lrBox in tne source file, to get closer to logical marking \newsavebox{\mylrbox} \newenvironment{lrBox} {\begin{lrbox}{\mylrbox}} {\end{lrbox}} % emacs-page output setup % \ifx \HCode\UnDef \providecommand{\Status}{0}% running TeX \else \providecommand{\Status}{2}% running TeX4ht \fi %\typeout{Status is \Status} % \newif\ifSingleColumn % % By default, we won't be creating hyperlinks. \def\href#1#2{#2} \def\hypertarget#1#2{} \def\email#1{\href{mailto:#1}{\path{#1}}} % \path comes from url % \definecolor{hypercolor}{rgb}{0.5,0.0,0.5} % purplish external links. % % \ifcase\Status % \Status = 0 \typeout{TeX Live documentation in DVI format} \SingleColumntrue \newenvironment{multicols}[1]{}{} \or % \Status = 1 \typeout{TeX Live documentation in PDF format} \RequirePackage[breaklinks, colorlinks,linkcolor=hypercolor,citecolor=hypercolor, pagecolor=hypercolor,urlcolor=hypercolor, filecolor=hypercolor, bookmarksopen, %pdfstartview={FitBH -320000}, % fails with acrobat7 hyperindex] {hyperref} \SingleColumntrue \newenvironment{multicols}[1]{}{} \or % \Status = 2 \typeout{TeX Live documentation in HTML format} \SingleColumntrue \newenvironment{multicols}[1]{}{} % read our config file, live4ht.cfg; q.v., for more definitions. % hyperref load must come after the tex4ht load. \RequirePackage[live4ht]{tex4ht} \RequirePackage[tex4ht]{hyperref} \hyperlinkfileprefix{} % definitions need simplifying for TeX4ht to make relative paths work. \def\CDref#1#2{\href{../../../../#1}{#2}} \def\OnCD#1{\href{../../../../#1}{#1}} \or % \Status = 3 \typeout{TeX Live documentation as a Baskerville issue} \@ifundefined{Fonts}% {\RequirePackage{ae}}% {\RequirePackage[T1]{\Fonts}} \RequirePackage{bvoutln}% outline of baskerville \SingleColumnfalse \RequirePackage{multicol} \or % \Status = 4 \typeout{TeX Live documentation as a TUB article} \@ifundefined{Fonts}% {\RequirePackage{ae}}% {\RequirePackage[T1]{\Fonts}} \SingleColumnfalse \newenvironment{multicols}[1]{}{} \fi % \ifnum \Status=4 \else \RequirePackage{texnames} \providecommand\TeXXeT{\TeX-{}-% \kern-.1emX\kern-.125em\lower.5ex\hbox{E}\kern-.1667emT\@} \def\MP{MetaPost} \let\mf\MF \newcommand\ConTeXt{C\kern-.0333emon\-\kern-.0667em\TeX\kern-.0333emt} \newcommand\MIKTEX{MiK\kern-.025em \TeX}% per www.miktex.org % from pictex.tex: \ifx\PiC\undefined \def\PiC{P\kern-.12em\lower.5ex\hbox{I}\kern-.075emC} \fi \ifx\PiCTeX\undefined \def\PiCTeX{\PiC\kern-.11em\TeX} \fi \fi % % hacking at sections etc., to pay attention to baskerville status \newcommand{\@condend@multicols}{% \ifSingleColumn \else \def\@tempa{multicols}% \ifx\@tempa\@currenvir \end{multicols}% \fi \fi } \let\Section\section \renewcommand{\section}{% \@ifstar {\Section*}% {% \@condend@multicols \@dblarg\@full@section }% } \def\@full@section[#1]#2{% \Section[#1]{#2}% \ifSingleColumn\else\begin{multicols}{2}\fi } \let\SubSection\subsection \renewcommand{\subsection}{% \@ifstar{\SubSection*}% {% \@condend@multicols \@dblarg\@full@subsection } } \def\@full@subsection[#1]#2{% \SubSection[#1]{#2}% \ifSingleColumn\else\begin{multicols}{2}\fi } % calm things down a bit if we're in a multiple-column version \ifSingleColumn \else \def\@listI{\leftmargin\leftmargini \parsep \z@ \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ \itemsep \z@ \@plus .1\p@ } \let\@listi\@listI \@listi \def\@listii{\leftmargin\leftmarginii \labelwidth\leftmarginii\advance\labelwidth-\labelsep \topsep 2\p@ \@plus 1\p@ \@minus 1\p@ \parsep \z@ \itemsep \z@ \@plus .1\p@ } \def\@listiii{\leftmargin\leftmarginiii \labelwidth\leftmarginiii\advance\labelwidth-\labelsep \topsep 1\p@ \@plus 1\p@ \@minus 1\p@ \parsep \z@ \partopsep \z@ \itemsep \topsep } \def\@listiv{\leftmargin\leftmarginiv \labelwidth\leftmarginiv\advance\labelwidth-\labelsep } \def\@listv{\leftmargin\leftmarginv \labelwidth\leftmarginv\advance\labelwidth-\labelsep } \def\@listvi{\leftmargin\leftmarginvi \labelwidth\leftmarginvi\advance\labelwidth-\labelsep } \fi % % array package stuff \def\arraybackslash{\let\\=\@arraycr} \newcolumntype{P}[1]{>{\raggedright\arraybackslash}p{#1}} % % shaded rows (using facilities of colortbl) % \definecolor{pale}{gray}{.9} \newcount\colrow \gdef\RowColor{pale} \def\SetRowColor{% \rowcolor{\RowColor}% \global\advance\colrow by1\relax \ifodd\colrow \gdef\RowColor{pale}% \else \gdef\RowColor{white}% \fi } % redefine to hack up a reference even though we don't need it... \renewcommand\@bibitem[1]{\if@filesw \immediate\write\@auxout {\string\bibcite{#1}{?}}\fi\ignorespaces} % % \unknownTeXlive is a dummy texlive entry for the biblio \newcommand\unknownTeXlive[2][\relax]{\textbf{\textsc{unknown}}% \global\@all@unknown\expandafter{\the\@all@unknown{#2}}% } \newtoks\@all@unknown \global\@all@unknown{} \AtEndDocument{\@message@unknowns} \def\@message@unknowns{\edef\@tempa{\the\@all@unknown}% \ifx\@tempa\@empty \else \def\@tempa{*** TeX live package location of }% \expandafter\@output@unknowns\the\@all@unknown\@empty \fi } \def\@output@unknowns#1{\edef\@tempb{#1}% \ifx\@tempb\@empty \typeout{ unknown}% \else \message{\@tempa#1,}% \def\@tempa{}% \expandafter\@output@unknowns \fi } % Silence font warnings about no bold typewriter in LM. \def\@font@warning#1{}% % Silence hyperref warnings about \kern. \def\HyPsd@Warning#1{}% \endinput