% $Id: genguide.tex,v 1.9 1994/02/01 21:21:16 schrod Exp $ %---------------------------------------------------------------------- % Copyright (c) 1988-1994 by J.Schrod. Distributed under the GPL. % % Generic Local Guide for LaTeX 2e distribution % % [LaTeX2e] % (history at end) %%% Keep the dates current \def\LaTeXdate{December~21,~1993} \def\erratadate{\fbox{errata date}} % This file can be used to produce a `Local Guide' for LaTeX users % with informations specific for one installation. There is a section % with all classes/packages mentioned, but they are not all explained % in full. Instead often the place is mentioned where the reader may % find the real information -- therefore this Local Guide is more the % beginning of a search. % All places where something must be changed for a specific % installation are marked with the todo environment. In print this % places are framed. % The chapter `Errata and Additions to the Manual' of the original % Local Guide was deleted, it is transformed in a single document % (errata.tex). \documentclass{locguide} \RCS $Revision: 1.9 $ \RCS $Date: 1994/02/01 21:21:16 $ % !!!!!!!!!!!!!!!!!!!!!!!!!!!!! ATTENTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! % % This document is not in the public domain, but you may freely % redistribute it. You must not distribute a DVI file of this document % alone, it must be always accompanied by the *full* LaTeX sources. % If you have additions, senseful alterations, discovered errors or % omissions, you should send them to me, then other people will % benefit from your work, too. % % The preferred way to reach me is per electronic mail: % schrod@iti.informatik.th-darmstadt.de % % If you don't have email access, my current address is (in TeX-form): % Technical University of Darmstadt % WG Systems programming % Joachim Schrod % Alexanderstra\ss{}e 10 % % D-64283 Darmstadt % % Please, no phone calls -- I'm not paid for this work... % % !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ATTENTION !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! %\makeindex %%% when I will find the time \begin{document} \title{% \if \lgNotComplete Generic Local Guide for\\ \fi \LaTeX{} on \platform{}\\ {\small for \LaTeX{} (as of \LaTeXdate)}% } \author{ % %\begin{todo}{} \fbox{add your name here} %\end{todo} % \end{tabular}\\ % KLUDGE, no fine control available \begin{tabular}[t]{c} % Joachim Schrod\and Christine Detig } \if \lgNotComplete \date{\RCSDate} \else \date{\today} % you might want to adapt this, too \fi \maketitle \tableofcontents \vskip 2cm plus 1fill \begingroup \samepage \footnotesize This Local Guide was derived from the \textit{Generic Local Guide} (GLG), Revision~\RCSRevision, as of \RCSDate{}. The GLG is copyright \copyright{} 1988--1994 by Joachim Schrod. It is distributed under the GNU General Public License. It was inspired by the `Local Guide' for \LaTeX{}~2.09 at the SRC of DEC, written by Leslie Lamport. This text may (and should) be altered to fit to the local environment, \eg{}, local classes and packages should be added. \TeX{} is a trademark of the AMS\@. All other trademarks for devices or software are trademarks of the respective producers. \endgroup \frontMatterFinished % This document is generic for an arbitrary platform % \begin{todo}{} declare |\platform| \end{todo} % \def\platform{\fbox{platform}} % If the Babel system for usage of other than english text is not % installed, \InstalledBabeltrue must be substituted % by \InstalledBabelfalse. % \begin{todo}{} declare |\ifInstalledBabel| \end{todo} % \InstalledBabeltrue % If the MakeIndex program for index preparation is not available, % \InstalledMakeIndextrue must be substitutex by \InstalledMakeIndexfalse. % \begin{todo}{} declare |\ifInstalledMakeIndex| \end{todo} % \InstalledMakeIndextrue \section{Introduction} \LaTeX{} runs on a variety of computers at many different sites. This document tells you how to use \LaTeX{} on \platform{} and describes the local installation. We assume that you are familiar with the activation of your \TeX{} system. \LaTeX{} itself is described in the manual---\textit{\LaTeX{}: A~Document Preparation System} (2nd~edition). Another useful book is \textit{The \LaTeX{} Companion} (both published by Addison Wesley). A full reference of these and a list of other related publications is given in the bibliography on page~\pageref{sec:bibliography}. % \begin{todo}{} Hints to other system-specific manuals, especially to the installation manual. \end{todo} % \subsection*{What You Get} The \LaTeX{} you receive with this delivery is the \LaTeXe{} standard release. When we speak of \LaTeX{} in the following, we mean \LaTeXe{}. Up to % \begin{fixme} Date until \LaTeX{} 2.09 was delivered \end{fixme} % \LaTeX{} version~2.09 was distributed. \LaTeXe{} is fully upward compatible to the old version. Features only found in \LaTeXe{} are a high-level concept of classes and packages to structure your document, and an integration of the New Font Selection Scheme (NFSS). % \ifInstalledBabel You can process documents in the languages % \begin{todo}{} List all languages for which hyphenation patterns are installed. \end{todo} % For texts in other languages, this \LaTeX{} installation doesn't know how to hyphenate them. % \begin{fixme} How does \package{babel} integrate in \LaTeXe{}? \end{fixme} % \begin{fixme} If a package abstract for \package{babel} exists, here is a good place for a crossref. \end{fixme} % \else The delivered \LaTeX{} will process your english documents properly. If you want to process texts in other languages, the \package{babel} package must be installed. \fi If you think that you have discovered an error in \LaTeX{}, \ie{}, if \LaTeX{} has an other way of acting than it is described in the documentation, inform your local \LaTeX{} guru or your distributor. He should be aware of any possible \LaTeX{} bugs or undocumented anomalies. If you are on your own, have a look at section~\ref{sec:help}. % \begin{fixme} Where do I introduce CTAN? I need it in the module section, here might be a good place for a reference; the real introduction might be done in the help section. \end{fixme} % In any case, remember: % \begin{center} \it If all else fails, read the documentation! \end{center} \subsection*{How Things are Organized} % \begin{todo}{} If the operating system does not support file hierarchies the complete following paragraph must be deleted and all filenames must be checked. \end{todo} % This description assumes that your \LaTeX{} files will not all reside in one directory, but will be grouped in specific directories according to their function. % \begin{todo}{} Describe in which main directory the specific directories reside (or if they are at different places). Fill in site specific locations, \ie{}, look for all |\dir| tags in this file and adapt them. \end{todo} % \begin{description} \item[user relevant files] All files which are needed for the day-to-day usage are found in \dir{inputs}. \item[class and package sources] Some classes and packages are documented with the |doc| system. It allows to extract from one source file (\ext{dtx}) the class (\ext{cls}), package (\ext{sty}), or class option (\ext{clo}) files and also---together with a corresponding |docstrip| batch file (\ext{ins})---to create a |doc| driver file (\ext{drv}). This is a \LaTeX{} source that creates a documented, formatted version of the source. This information is of interest for you since the sources may contain a user manual. It is also important if you want to program your own classes or packages, here you find the documentation of internal interfaces needed to adapt \LaTeX{} to your needs. % \begin{fixme} Provide recommendation to install them somewhere! \end{fixme} % \item[user manuals] Some classes or packages will come with a separate user manual. Sometimes, only a \DVI{} file will be available. They reside in a directory \dir{latex/doc}. Here you will also find the file \file{features.tex} which describes the differences between \LaTeX{}~2.09 and \LaTeXe{}. \end{description} \section{Let's Start} \subsection{Running a Sample File} \label{sec:sample} Before preparing your own documents, you may want to get acquainted with \LaTeX{} by running it on a sample input file. To process the sample file first make your own copy of the file \file{example.tex} that resides in the directory \dir{latex/doc}. This copy should be now in your current directory; you can edit it just like any other file. If you destroy or mess up your copy, get yourself a fresh one. Next, run \LaTeX{} on the file \file{example.tex}. % \begin{todo}{} Describe how to call \LaTeX{}. \end{todo} % When \LaTeX{} has finished, it will have produced the file \file{example.dvi}. You can now view or print this file. % \begin{todo}{} Describe how to call local previewer and/or printer driver. For sentimental reasons, you may want to include a hint to the printer near Jane's desk. \end{todo} % After it has been printed, you can delete the \LOG{} and \DVI{} files to save your disk space. \subsection{Creating Own Documents} You must use a text editor to prepare an input file for \LaTeX{}. The easiest way to start learning about \LaTeX{} is by examining the file \file{example.tex} with your text editor. It is best to obtain your own copy of this file in your working directory. After you have prepared your input file, whose name should have the extension \ext{tex}, you must run it through \LaTeX{} and print the output. Follow the instructions of section~\ref{sec:sample}, except use % \begin{todo}{} with menu systems: select \end{todo} % the name of your own input file instead of \file{example.tex}. % \begin{todo}{} List local (or good usable) editors. Explain how these editors might create characters which will produce the error message ``!~Text line contains an invalid character''. \end{todo} % Furthermore we would like to remind you that not all special characters of your computer can be used in your \LaTeX{} documents. % \begin{todo}{} List all special characters that can be used. \end{todo} % Please note that documents which contain an extended input character set may not necessarily be exchangeable with other sites. If you are planning to exchange documents, especially via electronic mail, it is wise to restrict yourself to the default character set and write special characters as \TeX{} tags. \subsection{What's Special with \LaTeX{} on \platform{}?} \label{sec:platform} One of the most important features of \LaTeX{} is its portability. If you write a document you can be sure that you can work with it on any other platform where \TeX{} runs. So it's a matter of course that all features described in the \LaTeX{} book are provided by the implementation on \platform{} as well. % \begin{todo}{} Are the invisible fonts for the \class{slides} class available? What about \BibTeX{} and \MakeIndex{}? \end{todo} Nevertheless each computer platforms has its peculiarities, this section will present you the most important specialities that concern \LaTeX{}. % \begin{todo}{} The following paragraph may be deleted with operating systems that have file versions. Probably it must be described instead that the new version of the auxiliary files which was produced by the erroneous run must be deleted. \end{todo} % While using \LaTeX{} problems can arise with the cross references. This is because a previous version of a file is destroyed if a file with the same name shall be created. Thus, if an error forces you to stop \LaTeX{} prematurely---by typing |x| after an error at the prompt~|?| or by interrupting it % \begin{todo}{} Describe how to interrupt a program; the next parenthesis might be usable. \end{todo} % (\ie{}, by typing \emph{Control-C}) % \unskip---then the files that \LaTeX{} was writing are incomplete, and the previous complete versions have been destroyed. You probably don't care about the output on the \DVI{} file, but if you are making a table of contents or using cross-referencing tags, then \LaTeX{} also writes one or more \emph{auxiliary files} that it reads the next time it processes the same input file. If the auxiliary files are incomplete because \LaTeX{} was stopped before reaching the end of its input file, then the table of contents and cross-references will be incorrect the next time \LaTeX{} is run on the same input file. It can even happen that reading this auxiliary files causes a lot of error messages. At least you will have to run \LaTeX{} a second time to get them right. So, if you have interrupted your \LaTeX{} program, the best way is to delete all those auxiliary files, \ie{}, all files with an extension other than \ext{tex}, \ext{log}, or \ext{dvi}. If you want to avoid having to run \LaTeX{} twice after making an error---for example, if your input is very long---then you should save copies of these auxiliary files before running \LaTeX{}. The second problem in using \LaTeX{} concerns the files that \LaTeX{} reads. The file which \LaTeX{} is called with is called the \emph{root file}. In addition to reading the root file, \LaTeX{} also reads the files specified by |\input| and |\include| commands. In the file system \TeX{} must know not only the names of these files but also in which directories they are. You will have no problem finding the correct files if you follow the simple rule: % \begin{quote} Keep all files specified by |\input| and |\include| commands in the same directory as the root file. \end{quote} % If you follow this rule, you never have to type a path specifier when using \LaTeX{}. If you break this rule by specifying a file from another directory in an |\input| or |\include| command, you must use a full path name. % \begin{todo}{} Describe by which environment variables, logicals, etc.\ the file search is configured. Mention if there are syntax changes for pathnames, \eg{} `|/|' instead of `|\|'. \end{todo} % \begin{todo}{} List more special things, \eg{} -- usage of extended character set, -- \LOG{} file has an other extension as \ext{log}, -- special sizes of circles and disks for the |picture| environment. \end{todo} \subsection{Helpful \ext{tex} Files} % \begin{fixme} Are these still available/functionable? \end{fixme} % In the directory \dir{inputs}, where the class and package files are located, four more input files can be found which help you to deal with your documents and your installation. % \begin{todo}{} If the users have to select input files in a menu system or if the files in \dir{inputs} are not found automatically, delete the following sentence. \end{todo} % You don't have to copy these files, just call \LaTeX{} with their name. \begin{description} \item[\tt idx.tex] The index entries in an \ext{idx} file are printed by running \LaTeX{} on the file \file{idx.tex}. \LaTeX{} will ask for the name of the document, which must be given without an extension. \item[\tt lablst.tex] A list of the labels (produced by |\label|) and citations (produced by |\cite|) in a document is printed by running \LaTeX{} on the input file \file{lablst.tex}. \LaTeX{} will then ask for the name of the document file, which should be typed without the extension \ext{tex}, and for the name of the document class (\eg{} |article|), used by that file. \item[\tt testpage.tex] The output of this input file is an exact representation of the margins \LaTeX{} and your printer driver produces. You can use this as a test how accurate your output device can produce the dimensions available in \LaTeX{}. \item[\tt tryfonts.tex] This input file produces several pages on which the fonts of a document class are used. With that you can detect errors in your font files or with the way a font is handled. \LaTeX{} asks for the document class the font test should be done for. In every case a page is produced with the Roman fonts in the sizes |\tiny| upto |\huge|. Afterwards you are asked for size changing commands which you have to enter without the backslash (`|\|'). For every size changing command examples in different type faces (math mode, too) are generated. The input |stop| ends the font test. \end{description} \section{Available Document Classes and Packages} With \LaTeX{} you may write your document (almost) independent of the layout to get a satisfactory output with a few tags that describe the structure of your document. You can choose the category of your document with the \LaTeX{} tag |\documentclass| at the start of your root file. You get a default layout with each class. Packages provide more tags or change the layout in certain respects. The features provided by document classes and by packages can be varied with \emph{options}. Options supplied at the |\documentclass| tag apply for the class and for all packages. Options supplied at a |\usepackage| tag apply for this package only. I will give you an overview on the installed classes, packages, and their options in this section. Usually, this will not be a complete description for usage, rather it's an abstract and provides a reference to the user manual for you. All on-line user manuals are located in the directory \dir{latex/doc}. If the name of the respective file has the extension \ext{tex} it is a \LaTeX{} input file and should be run through \LaTeX{} to get a formatted output. For every class or package the files are named that are needed for its usage. You don't need this information if everything is installed correctly, but it might help you in times of trouble, then you can look for missing or damaged files. Document classes are defined in files with the extension \ext{cls}. Sometimes other files are utilized to implement the class options, usually these files have the extension \ext{clo}. Packages are defined in files with the extension \ext{sty}. In the file names the wildcard character~`|*|' is used to denote an arbitrary number of characters in the name, \ie{}, a group of files. All these files reside in the directory \dir{inputs}. If you used \LaTeX{}~2.09 before, you might still have documents with the old markup; namely, files with the |\documentstyle| tag at the start to declare the document's category. This documents may still be processed by the current \LaTeX{}. The document styles are mapped to the new document classes, previous style options are either realized internally or mapped to packages. \begin{todo}{} Add local styles. \emph{Attention}: Sorted alphabetically in each subsection! % This hint is necessary; it was overlooked often. \end{todo} \begin{fixme} Another subsection with 2.09 document styles? They will have been installed and will be used, after all. And the transition time will be long, if one faces the reality\,\dots \end{fixme} \begin{fixme} Another subsection with commonly available class options? Where are those of the standard classes codified? In the \LaTeX{} Companion? \end{fixme} \subsection{Document Classes} All document classes support the pagestyles \pgsty{plain} and \pgsty{empty}. \inputAbstract{classes} \subsection{Packages} \inputAbstract{packages} \section{Carrying On} The following chapter provides information about the \LaTeX{} system that is installed at your site. Usually this information is not needed by you; it will be of interest if you want to get an ``inner knowledge'' of your \LaTeX{} version. \subsection{Where the Files Are} Table~\ref{tab:files} describes the location of all files belonging to \LaTeX{} in a suggested installation. % \begin{todo}{} Explain in which main directory(ies) this subtree resides. \end{todo} % To \emph{use} \LaTeX{}, only the files in \dir{inputs} are needed. % \begin{fixme} Table information was not updated to \LaTeXe{}. do we need this section at all? cf Introduction --- \INITEX{} stuff is no longer needed. \end{fixme} % \begin{table} \begin{center} \begin{tabular}{ll} \multicolumn1{c}{\scshape Files} & \multicolumn1{c}{\scshape Directory}\\[3pt] \file{latex.tex} & \dir{initex/latex}\\ \file{lfonts.tex} & \dir{initex/latex}\\ \file{lplain.tex} & \dir{initex/latex}\\ \file{slitex.tex} & \dir{initex/latex}\\ \file{sfonts.tex} & \dir{initex/latex}\\ \file{splain.tex} & \dir{initex/latex}\\ \file{hyphen.tex} & \dir{initex}\\ hyphenation patterns& \dir{initex/hyphens/*}\\ & \qquad (own directory for each language)\\ \file{lang*.tex} & \dir{initex}\\ \file{local.tex} & \dir{initex}\\ \file{codes.tex} & \dir{initex}\\[2pt] % \file{*.sty} & \dir{latex}\\ \file{idx.tex} & \dir{latex}\\ \file{lablst.tex} & \dir{latex}\\ \file{testpage.tex} & \dir{latex}\\ \file{tryfonts.tex} & \dir{latex}\\[2pt] % \file{*.tex} & \dir{latex/doc}\\ & \qquad (documentation, \LaTeX{}able)\\ \file{*.*} & \dir{latex/doc}\\ & \qquad (documentation, not \LaTeX{}able)\\[2pt] % \file{*.bst} & \dir{bibtex}\\ \file{*.*} & \dir{bibtex/doc}\\ & \qquad (new \BibTeX{} documentation)\\ \end{tabular} \end{center} \caption{Files which are needed for \LaTeX{}} \label{tab:files} \end{table} \subsection{Fonts} Almost all characters which are in the fonts may be yield with usual \LaTeX{} tags. But there are some type sizes you may not produce with the size changing possibilities of \LaTeX{}. Please contact your local \TeX{}pert who will explain you how to make these fonts accessible via NFSS. (If you are the local expert and you do not know it either, read the documentation on NFSS, % \begin{fixme} dedicated sections in \LaTeX{} Companion? \end{fixme} % and maybe you should also buy yourself a \TeX{}book and read the chapters 4~and~9, and the appendix~F.) Table~\ref{tab:sizes} tells you what size of type is used for each \LaTeX{} type-size tag in the various document class options. For example, with the |12pt| option, the |\large| declaration causes \LaTeX{} to use 14pt type. % \begin{table} \centering \begin{tabular}{l|r|r|r|} \multicolumn{1}{l}{\scshape size} & \multicolumn{1}{c}{\scshape default (\texttt{10pt})} & \multicolumn{1}{c}{\scshape \texttt{11pt} option} & \multicolumn{1}{c}{\scshape \texttt{12pt} option}\\ \cline{2-4} \verb|\tiny| & 5pt & 6pt & 6pt\\ \cline{2-4} \verb|\scriptsize| & 7pt & 8pt & 8pt\\ \cline{2-4} \verb|\footnotesize| & 8pt & 9pt & 10pt\\ \cline{2-4} \verb|\small| & 9pt & 10pt & 11pt\\ \cline{2-4} \verb|\normalsize| & 10pt & 11pt & 12pt\\ \cline{2-4} \verb|\large| & 12pt & 12pt & 14pt\\ \cline{2-4} \verb|\Large| & 14pt & 14pt & 17pt\\ \cline{2-4} \verb|\LARGE| & 17pt & 17pt & 20pt\\ \cline{2-4} \verb|\huge| & 20pt & 20pt & 25pt\\ \cline{2-4} \verb|\Huge| & 25pt & 25pt & 25pt\\ \cline{2-4} \end{tabular} \caption{Type sizes for \LaTeX{} size-changing features} \label{tab:sizes} \end{table} %% % \begin{fixme} Preloaded/on demand makes not much sense any more, but ``unavailable'' still does! Have to fix the table. Basically, the table shall explain the state if one uses the distribution, \ie{}, without |fontdef.cfg| and |preload.cfg|. \end{fixme} % Table~\ref{tab:fonts} tells, for every type size, to which class of fonts each type style belongs, \ie{}, if it is preloaded, if it will be loaded on demand, or if it is unavailable. The \TFM{} files for those fonts which are loaded on demand are needed at run time. % \begin{fixme} Which names should be used best? |\rmfamily| etc.? Or should I use the real font names? \end{fixme} % Roman (|\rm|) and math italic (|\mit|) fonts are all preloaded; the |\em| declaration uses either italic (|\it|) or roman. \begin{table} \begin{center} \begin{tabular}{l|c|c|c|c|c|c|} \multicolumn{1}{l}{}& \multicolumn{1}{c}{\tt \char `\\ it} & \multicolumn{1}{c}{\tt \char `\\ bf} & \multicolumn{1}{c}{\tt \char `\\ sl} & \multicolumn{1}{c}{\tt \char `\\ sf} & \multicolumn{1}{c}{\tt \char `\\ sc} & \multicolumn{1}{c}{\tt \char `\\ tt} \\ \cline{2-7} 5\,pt & U & D & U & U & U & U \\ \cline{2-7} 6\,pt & U & D & U & U & U & U \\ \cline{2-7} 7\,pt & P & D & U & U & U & U \\ \cline{2-7} 8\,pt & P & D & D & D & D & D \\ \cline{2-7} 9\,pt & P & P & D & D & D & P \\ \cline{2-7} 10\,pt & P & P & P & P & D & P \\ \cline{2-7} 11\,pt & P & P & P & P & D & P \\ \cline{2-7} 12\,pt & P & P & P & P & D & P \\ \cline{2-7} 14\,pt & D & P & D & D & D & D \\ \cline{2-7} 17\,pt & D & P & D & D & D & D \\ \cline{2-7} 20\,pt & D & D & D & D & D & D \\ \cline{2-7} 25\,pt & U & D & U & U & U & U \\ \cline{2-7} \end{tabular} \caption{% Font classes: P = preloaded, D = loaded on demand, U = unavailable.% } \label{tab:fonts} \end{center} \end{table} % \begin{fixme} check this with NFSS -- how about reduced fonts? \end{fixme} % Please note that the entry ``unavailable'' in the table does not mean that these fonts do not exist---they just are not used by \LaTeX{}. In fact there exists a realization of \LaTeX{} which does not know any ``unavailable fonts.'' If this version should be used all fonts which do not exist in reality (as \TeX{} fonts) must be generated as scaled ones. If you use the 11\,pt or 12\,pt as the basic font sizes for your document, not all mathematical symbols will be set in their correct sizes. The so-called ``extensible'' symbols (parenthesis, braces, root sign, etc.)\ are not adapted to this size. The package \package{exscale} (see section~\ref{package:exscale}) provides a work-around, you might want to check its documentation. \begin{todo}{} Describe which font sets are available and provide crossrefs to packages that enable the usage, \eg{} to % \begin{itemize} \item special local fonts (with logos etc.) \item \MF{} logo fonts, |manfnt| etc. \item DC fonts \item the adaption to ``true-size'' fonts by Sauter. \item a version for the support of \textsc{PostScript}-fonts (who has one that really works? \package{psnfss}?) \item what else? \dots \end{itemize} \end{todo} \begin{todo}{} If a font manual exists its usual location should be noted here. \end{todo} \subsection{Errors in the \LaTeX{} book} % \begin{fixme} Will that remain? IMO it's better than including it here. \end{fixme} % The errors in the \LaTeX{} book which have been known at \erratadate{} and additions of L.~Lamport are described in the document `\textit{Errata and Additions to the Manual}.' This document consists of the two files \file{errata.tex} and \file{addendum.tex} which are located in the directory \dir{latex/doc}. You must run \file{errata.tex} through \LaTeX{} to get a formatted output. \section{Bugs? No, Features!} % \begin{fixme} Are these still occuring? Yes, at least the first --- quite in this document, as of 01 Feb 94, Revision 1.7. \end{fixme} % There are a few known bugs in \LaTeX{} that occur very seldom and cause the user little trouble, but would be very difficult to fix. Moreover, given the nature of complex systems, it is not unlikely that the corrections would lead to even worse problems. Therefore, these bugs will probably not be fixed. The bugs and ways to get around them are listed below. Do not worry about any of them until you are preparing the final version of your document. These bugs are all concerned with the position of the producing control sequence on the page and it is very likely that changes to the text will cause them to disappear (and perhaps to reappear at other places). \begin{itemize} \item In rare instances, a figure or table will be printed on the page preceding the text where the |figure| or |table| environment appears. This can be fixed by moving the environment further towards the end of the document. \item A footnote can be broken across two pages when it should fit on a single page. This happens when there are one or more figures or tables on the page. The problem is corrected by moving, towards the end of the file, the last |figure| or |table| environment that produces a figure or table on the page where the footnote starts. \item A marginal note at the top of a page may appear in the wrong margin. This can be fixed by inserting a redundant |\pagebreak| tag to force a page break exactly where \LaTeX{} started the new page anyway. \end{itemize} \begin{fixme} \file{bug.l2e} mentions \file{*.bug} as the file(s) for history of bugs. Are these more than one file now? (Currently there is none.) \end{fixme} % The file \file{latex.bug} in the directory \dir{latex/doc} contains a history of the known bugs of \LaTeX{}. \file{latex.bug} is no \TeX{} input file. \section{Utilities} \subsection{\BibTeX} \label{sec:bibtex} % \begin{fixme} Do we need a switch ifInstalledBibTeX? \end{fixme} % \BibTeX{} is a program for compiling a reference list for a document from a bibliographic database. To do this it reads the auxiliary file with the extension \ext{aux} that \LaTeX{} produces. % \begin{todo}{} Describe activation and parameters \end{todo} % To produce a reference list you have to run your document through \LaTeX{} (then the \AUX{} file will be produced), only afterwards you can call \BibTeX{}. On the next \LaTeX{} run you will find the reference list in your document, but a second run is needed to get the citations into the text. All citations are listed in the \ext{aux} file so that the corresponding references from a bibliographic database (usually a file with the extension \ext{bib}) can be extracted into a file with the extension \ext{bbl} which is read from \LaTeX{}. All messages from \BibTeX{} are written into a file with the extension \ext{blg} (see also Figure~\ref{fig:bibtex}). More information about the usage of \BibTeX{} can be found in the document |btxdoc| which consists of the two files \file{btxdoc.tex} and \file{btxdoc.bib} (a \BibTeX{} database). These two files can be found in the directory \dir{bibtex/doc}. You have to do the above-mentioned procedure (\LaTeX{}, \BibTeX{}, \LaTeX{}, \LaTeX{}) for this document. \hint |btxdoc| is a newer and more complete description of \BibTeX{} than the appendix~B of the \LaTeX{} book. % \begin{fixme} Is this obsolete with the 2nd edition? \end{fixme} % \begin{figure} \begin{center} \input{bibtex.latex} \caption[Interaction of \protect\BibTeX{} and \LaTeX{}]{% Interaction of \BibTeX{} and \LaTeX{} \begin{footnotesize} \AUX$_1$: \AUX{} file with information for \BibTeX{}\\ \AUX$_2$: \AUX{} file with citation cross references\\ Not all files read or written are shown. Dashed arrows denotes that this file is read, but not really relevant at this stage. \end{footnotesize} } \label{fig:bibtex} \end{center} \end{figure} The layout of the reference list is determined by the {\it bibliography style}, which is defined in files with the extension \ext{bst}. All \ext{bst} files are located in the directory \dir{bibtex/bst}. The document |btxhak| in the directory \dir{bibtex/doc} is for those of you who want to create own bibliography styles. The document file \file{btxhak.tex} uses \file{btxdoc.bib}, too. \begin{todo}{} List all installed bibliography styles. Perhaps one needs a paragraph below as well, if the bibstyle does not implement a specific journal format. \end{todo} % The list below explains which \ext{bst} files are available on your installation. % \begin{shortdesc} \item [abbrv] sorted; numbered citation references; abbreviated person, month, and journal names \item [alpha] sorted; citation references are created from the abbreviated author names and the publication year \item [plain] sorted; numbered citation references \item [unsrt] numbered citation references \item [ieeetr] format of IEEE transactions \item [siam] format of SIAM journals \end{shortdesc} In addition to the usual three-letter abbreviations for the months, the following standard bibliography styles define additional abbreviations for journal names. They are listed in table~\ref{tab:journal-alias}. \begin{table} \begin{center} \begin{tabular}{rl} \texttt{acmcs} & ACM Computing Surveys\\ \texttt{acta} & Acta Informatica\\ \texttt{cacm} & Communications of the ACM\\ \texttt{ibmjrd} & IBM Journal of Research and Development\\ \texttt{ibmsj} & IBM Systems Journal\\ \texttt{ieeese} & IEEE Transactions on Software Engineering\\ \texttt{ieeetc} & IEEE Transactions on Computers\\ \texttt{ieeetcad} & IEEE Transactions on Computer-Aided Design of Integrated Circuits\\ \texttt{ipl} & Information Processing Letters\\ \texttt{jacm} & Journal of the ACM\\ \texttt{jcss} & Journal of Computer and System Sciences\\ \texttt{scp} & Science of Computer Programming\\ \texttt{sicomp} & SIAM Journal on Computing\\ \texttt{tocs} & ACM Transactions on Computer Systems\\ \texttt{tods} & ACM Transactions on Database Systems\\ \texttt{tog} & ACM Transactions on Graphics\\ \texttt{toms} & ACM Transactions on Mathematical Software\\ \texttt{toois} & ACM Transactions on Office Information Systems\\ \texttt{toplas} & ACM Transactions on Programming Languages and Systems\\ \texttt{tcs} & Theoretical Computer Science\\ \end{tabular} \caption[Additional \texttt{BST} abbreviations]{% Additional abbreviations for journal names in the standard bibliography styles% } \label{tab:journal-alias} \end{center} \end{table} \begin{todo}{} Here it must be specified where \BibTeX{} will look for the \ext{aux} file and the \BibTeX{} specific input files (\ext{bib} and \ext{bst} files) and how the user may control this search (environment variables, logicals---|BIBINPUTS|, |TeXINPUTS|!) \end{todo} \subsection{\MakeIndex} \label{sec:makeindex} \MakeIndex{} is a program for creating a sorted index in a \LaTeX{} document. There is a manual available that explains the usage of this tool. % \begin{todo}{} Tell also if/where \DVI{} version is installed. \end{todo} % You'll find the \LaTeX{} source of the manual in the file \file{makeindx.tex} in the directory \dir{latex/doc}. If you want to create an index, you have to specify the option \option{makeindex} at the |\documentclass| tag, and you must specify the tag |\makeindex| in the document preamble. Then \LaTeX{} will produce a \emph{raw index file}. This file has the extension \ext{idx}. % \begin{todo}{} Describe program activation, especially if a \TeX{} shell is used. \end{todo} % You must pass the name of this file as an argument to the |makeindex| command. \MakeIndex{} produces a file that contains the sorted and unified index within a |theindex| environment. This file has the extension \ext{ind}. You can insert the sorted index into your document at a point that is tagged with |\printindex|. \hint You may want to process your index only if the text of your document is sufficiently fixed. \MakeIndex{} is freely distributable. % \ifInstalledMakeIndex You have a right to obtain the source code from the same origin you have got the program from. % \begin{todo}{} Mention if/where source is available. \end{todo} % \else You may obtain the source code from CTAN or your national users group. (Not all platforms are supported, though.) \fi \section{Getting Help} \label{sec:help} % \begin{fixme} how to proceed in case of problems. hints to `gurus', mailing lists, newsgroups, user groups, distributors, latex-bugs mailid (at last). \end{fixme} % \section*{Bibliography} \label{sec:bibliography} % \begin{fixme} Why is the |thebibliography| change I sent to Rainer not in \LaTeXe{}? Grmbbl. \end{fixme} % The following list of \TeX-related literature may be helpful for you: \begin{fixme} Add bibliography. Some references might be missing. Make references a standalone bib database. Make references a standalone bib database. Use the |tschichold| bibstyle? \end{fixme} \nocite{knuth:tex} \nocite{lamport:latex} \bibliographystyle{abbrv} % \bibliography{genguide} % not yet standalone! \bibliography{abbrev,tex} \proceedIfGLG \begin{rcslog} $Log: genguide.tex,v $ \Revision 1.9 1994/02/01 21:21:16 schrod Used tag |\hint| to introduce hints for authors. Made all type switches conform to the new \LaTeXe{} PC way of doing it. Substituted a few remaining `i.e.'\ to |\ie{}|. \Revision 1.8 1994/02/01 20:49:19 schrod Merged section ``Differences from the Manual'' into ``\LaTeX{} on platform,'' now named ``What's Special with \LaTeX{} on platform?'' Added an introduction where I explain that \LaTeX{} is the best thing since sliced bread. Renamed section ``Layout Definitions'' to ``Available Document Classes and Packages.'' This promotes structural markup better. Substituted the text that mentioned the scaled extension symbols with a hint to \package{exscale}. That was a relict from I\LaTeX{} anyhow. The new \BibTeX{} figure is incorporated and explained. Not only the additional bibliography styles are listed, but all installed ones. No todo boxes before front matter. The explanation of |fixme| and |todo| environments is moved between front matter and text. Actually, that place is now marked by a structure tag instead of |\eject|. The explanations are inserted automatically if at least one respective enviroment is in the document. As long as any todo material is still in the document, the title shows that this is the GLG\@. The front matter info part now names the GLG revision. Minor details: The bibliography has no section number. The journal alias table is now a float. \Revision 1.7 1994/01/31 21:17:42 schrod \LaTeXe{}, as of December~21, 1993, is described. (The date was not updated.) Did also minor fixes of language and spelling. Rewrote the section on \MakeIndex{}. Document class renamed to |locguide|, is now implemented as a real class, not only a mock-up. I had to change a few tags because of this. Updated copyright, meta remarks, and my address at the document start. Checked document title and editorial comments on the second page. The version history is now printed at the very end, as long as at least one |todo| environment is in the document. \Revision 1.6 1994/01/29 16:22:20 detig Now this is a \LaTeXe{} document. We fixed the contents so that all points still open are tagged as fixme's. All ifreduced sections were omitted. Extensions are now called so and are properly tagged. todo and fixme are now environments. \Revision 1.5 1994/01/27 20:17:00 detig Major update for \LaTeXe{}. Describes the actual installation structure as far as this is defined, mentions babel, refers to NFSS, actualizes \BibTeX{} and \MakeIndex{} information, etc. Several points still have to be fixed. \Revision 1.4 1994/01/27 19:58:31 schrod Rewrote the chapter on layout definitions. We have to present classes and packages, not styles. I don't know if we still must present options or old styles, this might be added in the future. \Revision 1.3 1994/01/26 14:26:00 detig Corrected some typos that prevented formatting. \Revision 1.2 1994/01/17 18:17:46 detig Updated english version to generic local guide for \LaTeX{} 2.09, both in text and file structure. Some parts (which will be subject to major changes with \LaTeXe{}) were left untouched, though. Some style descriptions are still to be written, their relevance must be checked, anyhow. \Revision 1.1.1.1 1994/01/17 13:03:40 detig English Generic Local Guide, I\LaTeX{} version as of 90--04--19. \Revision 0.0 1990/04/19 00:00:00 schrod \textsl{Version History before CVS usage} % \begin{verbatim} % % DATUM PERSON BEMERKUNG % 90-04-19 js cleaned up for distribution with ILaTeX % 88-08 js first version \end{verbatim} \end{rcslog} \end{document} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Local Variables: mode: LaTeX TeX-auto-regexp-list: LaTeX-auto-regexp-list End: