mike@ists.ists.ca (Mike Clarkson) (06/03/90)
#! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 3 (of 9)." # Contents: manual/latexinfo.tex-ae # Wrapped by mike@sam on Sat Jun 2 18:18:11 1990 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'manual/latexinfo.tex-ae' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'manual/latexinfo.tex-ae'\" else echo shar: Extracting \"'manual/latexinfo.tex-ae'\" \(32105 characters\) sed "s/^X//" >'manual/latexinfo.tex-ae' <<'END_OF_FILE' Xindices, for more information about sorting indices.) \back refill X\end{example} X X\noindent XThis produced the following output, after which \LaTeX\ stopped: X X\begin{example} XRunaway argument? X\{sorting indices, for more information about sorting indices.) \back refill \back ETC. X! Paragraph ended before \back xref was complete. X<to be read again> X \back par Xl.27 X X? X\end{example} X XIn this case, \LaTeX\ produced an accurate and understandable error message: X\samp{Paragraph ended before \back xref was complete.} Also, X\samp{\back par} is an internal \LaTeX\ command meaning new--paragraph. XUnfortunately, \LaTeX\ is not always so helpful, and sometimes you have Xto be truly a Sherlock Holmes to discover what went wrong. If you run Xinto a problem like this, you can do one of two things. X X\begin{enumerate} X\item XYou can tell \LaTeX\ to continue running and to ignore errors Xas best it can by typing \kbd{r \key{RET}} at the X\samp{?} prompt.\refill X XThis is often the best thing to do. However, beware: the one error may Xproduce a cascade of additional error messages as it consequences are felt Xthrough the rest of the file.\refill X X\item XYou can tell \LaTeX\ to stop this run by typing \kbd{x \key{RET}} Xat the \samp{?} prompt. X\end{enumerate} X XSometimes \LaTeX\ will format a file without producing error messages even Xthough there is a problem. This usually occurs if a command is not ended Xbut \LaTeX\ is able to continue processing anyhow. For example, if you Xfail to end an itemized list with the \code{\back end\{itemize\}} command, X\LaTeX\ will write a DVI file that you can print out. The only error Xmessage that X\LaTeX\ will give you is the somewhat mysterious comment that X X\begin{example} X(\back end occurred inside a group at level 1) X\end{example} X X\noindent XHowever, if you print the DVI file, you will find that the text of the file Xthat follows the itemized list is entirely indented as if it were part of Xthe last item in the itemized list. The error message is the way X\LaTeX\ says that it expected to find a \code{\back end} command somewhere Xin the file; but that it could not locate where it was needed. \refill X XAnother source of notoriously hard to find errors is a missing X\code{\back end\{same\}} command. If you ever are stumped by Xincomprehensible errors, look for a missing \code{\back end\{same\}} Xcommand first.\refill X XIf you do not have the header lines in the file, \LaTeX\ may stop in the Xbeginning of its run and display output that looks like the following. XThe \samp{*} indicates that \LaTeX\ is waiting for input.\refill X X\begin{example} XThis is TeX, Version 2.0 for Berkeley UNIX (preloaded format=plain-cm X87.10.25) (#tz-bar-a02987.tex [1]) X* X\end{example} X X\noindent XIn this case, simply type \kbd{\back end \key{RET}} after the asterisk. Then Xput the header lines into the \LaTeX info file and run the \LaTeX\ command Xagain.\refill X X X\node Using latexinfo-show-structure, Using Occur, Catching Errors with LaTeX Formatting, Catching Mistakes X\section{Using latexinfo-show-structure} X\cindex{Using latexinfo-show-structure} X\cindex{Showing the structure of a file} X\cindex{Using latexinfo-show-structure to catch mistakes} X\cindex{latexinfo-show-structure for catching mistakes} X\findex{latexinfo-show-structure} X XIt is not always easy to keep track of the nodes, chapters, sections and Xsubsections of a \LaTeX info file. This is especially true if you are revising Xor adding to a \LaTeX info file that someone else has written. X XIn GNU Emacs, in LaTeXinfo Mode, there is a command that will list all the Xlines that begin with the commands that specify the structure: X\code{\back node}, \code{\back chapter}, \code{\back section}, X\code{\back appendix} and so on. This is the\* X\code{latexinfo-show-structure} command. It is bound to the keyboard command X\ctrl{c} \ctrl{s}. \code{latexinfo-show-structure} displays the lines that Xbegin with the node and chapter structuring commands in another window Xcalled the \samp{*Occur*} buffer. For example, when it is run on the Xfirst part of this chapter, it produces the following:\refill X X\begin{example} XLines matching X"^\back \back \back (chapter\back \back |sect\back \back |sub\back \back |heading\back \back |major X\back \back |node\back \back )" in buffer new-texinfo-manual.texinfo. X 2:\back node catching mistakes, command Syntax, running info, top X 4:\back chapter\{Catching Mistakes\} X 41:\back node debugging with info, debugging with tex, , catching mistakes X 43:\back section\{Catching errors with Info Formatting\} X\end{example} X XThis means that lines 2, 4, 41 and 43 began with \code{\back node}, X\code{\back chapter}, \code{\back node}, and \code{\back section} Xrespectively. If you move your cursor into the \samp{*Occur*} window, you Xcan position the cursor over one of the lines and use the \ctrl{c} \ctrl{c} Xcommand (\code{occur-mode-goto-occurrence}), to jump to the corresponding Xspot in the \LaTeX info file. \xref{Other Repeating Search, , Using Occur, Xemacs, The GNU Emacs Manual}, for more information about X\code{occur-mode-goto-occurrence}.\refill X XThe first line in the \samp{*Occur*} window describes the \dfn{regular Xexpression} specified by \var{latexinfo-heading-pattern}. This regular Xexpression is the pattern that \code{latexinfo-show-structure} looks for. X\xref{Regexps, , Using Regular Expressions, emacs, The GNU Emacs Manual}, Xfor more information.\refill X XWhen you give the \code{latexinfo-show-structure} command, it will show Xthe structure of the whole buffer. If you want to see the structure of Xjust a part of the buffer, of one chapter, for example, use the \kbd{C-x Xn} (\code{narrow-to-region}) command to mark the region. X(\xref{Narrowing, , , emacs, The GNU Emacs Manual X\cite{GNUEmacsManual}}.) This is how the example used above was Xgenerated. (To see the whole buffer again, use \kbd{C-x w} X(\code{widen}).)\refill X XYou can remind yourself of the structure of a \LaTeX info file by looking at Xthe list in the \samp{*Occur*} window; and if you have mis-named a node Xor left out a section, you can correct the mistake. X X\begin{menu} X* Using Occur:: X\end{menu} X X\node Using Occur, Finding Badly Referenced Nodes, Using latexinfo-show-structure, Using latexinfo-show-structure X\subsection{Using Occur} X\cindex{Using occur} X\cindex{Occur, using the command} X XSometimes the \code{latexinfo-show-structure} command produces too much Xinformation. Perhaps you want to remind yourself of the overall structure Xof a \LaTeX info file, and are overwhelmed by the detailed list produced by X\code{latexinfo-show-structure}. In this case, you can use the \code{occur} Xcommand itself. To do this, type X X\begin{example} X\kbd{M-x occur} X\end{example} X X\noindent Xand then, when prompted, type a \dfn{regexp}, a regular expression for the Xpattern you want to match. X(\xref{Regexps, , Regular Expressions, emacs, The GNU Emacs Manual}.) X\code{occur} works from the current location of Xthe cursor in the buffer to the end of the buffer. If you want to run X\code{occur} on the whole buffer, place the cursor at the beginning of the Xbuffer. For example, to see all the lines that contain the word X\samp{\back chapter} in them, just type \samp{\back \back chapter}. XThis will produce a list of the chapters. It will also list all the Xsentences with \samp{\back \back chapter} in the middle of the line. If Xyou want to see only those lines that start with the word X\samp{\back back chapter}, type \samp{^\back chapter} when prompted by X\code{occur}. If you want to see all the lines that end with a word or Xphrase, end the last word with a \samp{$}; for example, \samp{catching Xmistakes$}. This can be helpful when you want to see all the nodes that Xare part of the same chapter or section and therefore have the same `Up' Xpointer.\refill X X\xref{Other Repeating Search, , Using Occur, emacs , The GNU Emacs Manual}, Xfor more information.\refill X X\node Finding Badly Referenced Nodes, Info-Validating a Large File, Using Occur, Catching Mistakes X\section{Finding Badly Referenced Nodes} X\cindex{Finding Badly Referenced Nodes} X\cindex{Running Info-validate} X\cindex{Info-validate, running the command} X\cindex{Nodes, checking for badly referenced nodes} X\cindex{Checking for badly referenced nodes} X\cindex{Looking for badly referenced nodes} X\cindex{Finding badly referenced nodes} X\cindex{Badly referenced nodes } X XYou can check whether any of the `Next', `Previous', `Up' or other node Xpointers fail to point to a node with the \code{Info-validate} command. XThis command checks that every node pointer points to an existing node. X XTo use this command, you first need to load the \code{info} library and then do X\kbd{M-x Info-validate}. X X\begin{example} X\kbd{M-x load-library \key{RET} informat \key{RET}} X\kbd{M-x Info-validate} X\end{example} X X\noindent X(Note that all the \code{Info} commands require an uppercase `I'.) X XIf your file is ok, you will receive a message that says ``File appears Xvalid''. However, if you have a pointer that does not point to a node, Xerror messages will be displayed in a buffer called \samp{*problems in Xinfo file*}. X XFor example, \code{Info-validate} was run on a test file that contained Xonly the first node of this manual. One of the messages said: X X\begin{example} XIn node "Overview", invalid Next: LaTeXinfo Mode X\end{example} X X\noindent XThis meant that the node called \samp{Overview} had a `Next' pointer that Xdid not point to anything (which was true in this case, since the test file Xhad only one node in it). X XNow suppose we add a node named \samp{LaTeXinfo Mode} to our test case Xbut we don't specify a `Previous' for this node. Then we will get Xthe following error message: X X\begin{example} XIn node "LaTeXinfo Mode", should have Previous: Overview X\end{example} X X\noindent XThis is because every `Next' pointer should be matched by a X`Previous' (in the node where the `Next' points) which points back. X X\code{Info-validate} also checks that all menu items and cross-references Xpoint to actual nodes. X X\code{Info-validate} does not work with large files that have been Xsplit. (Info thinks of a large file as being over 100,000 bytes, Xapproximately.) In order to use \code{Info-validate} on a large file, Xyou must run \code{latexinfo-format-buffer} with an argument so that it Xdoes not split the Info file, and then create a tag table. X X\begin{menu} X* Info-Validating a Large File:: X* Splitting a File Manually:: X\end{menu} X X\node Info-Validating a Large File, Splitting a File Manually, Finding Badly Referenced Nodes, Finding Badly Referenced Nodes X\subsection{Info-Validating a Large File} X\cindex{Running Info-validate on a large file} X\cindex{Info validating a large file} X\cindex{Validating a large file} X XYou can run \code{Info-validate} only on a single Info file. The command Xwill not work on indirect subfiles that are generated when the master file Xis split. If you have a large file (longer than 100,000 bytes), you need Xto run the \code{latexinfo-format-buffer} command in such a way that it Xdoes not create indirect subfiles. You will also need to create a tag Xtable. When you have done this, you can run \code{Info-validate} and look Xfor badly referenced nodes.\refill X XAfter you have validated the node structure, you can rerun\* X\code{latexinfo-format-buffer} in the normal way so it will construct Xthe tag table and split the file automatically or, you can make the tag Xtable and split the file manually. To prevent the X\code{latexinfo-format-buffer} command from splitting a X\LaTeX info file into smaller Info files, give a prefix to the \kbd{M-x Xlatexinfo-format-buffer} command: X X\begin{example} XC-u M-x latexinfo-format-buffer X\end{example} X X\noindent XWhen you do this, \LaTeX info will not split the file and will not create a tag Xtable for it. \refill X\cindex{Making a tag table manually} X\cindex{Tag table, making manually} X XBefore you can run \kbd{M-x Info-validate} on the Info file, you need to Xcreate a tag table for it. In order to do this, you first need to load the X\code{info} library into Emacs with the following command:\refill X X\begin{example} XM-x load-library \key{RET} informat \key{RET} X\end{example} X X\noindent XThen you can give the command: X X\begin{example} XM-x Info-tagify X\end{example} X XThis creates a file which you can validate.\refill X X\begin{example} XM-x Info-validate X\end{example} X XAfter you have checked the validity of the nodes, you can either run\* X\kbd{M-x latexinfo-format-buffer} as you would normally, or else tagify and Xsplit the file manually with the two commands \code{Info-tagify} and X\code{Info-split}.\refill X X\node Splitting a File Manually, LaTeXinfo Mode, Info-Validating a Large File, Finding Badly Referenced Nodes X\subsection{Splitting a File Manually} X\cindex{Splitting an Info file manually} X\cindex{Info file, splitting manually} X XIf the file has more than 100,000 or so bytes in it, you should split it or Xelse let the \code{latexinfo-format-buffer} command do it for you Xautomatically. (Generally you will let \code{latexinfo-format-buffer} do Xthis job for you. \xref{Creating an On-line Info File}.) XThe split off files are called the indirect subfiles.\refill X XInfo files are split to save memory. With smaller files, Emacs does not Xhave make such a large buffer to hold the information. This way, Emacs Xcan save memory. X XIf the Info file has more than 30 nodes, you should also make a tag table for Xit. \xref{Info-Validating a Large File}, for information about creating a Xtag table. X XBefore running \code{Info-split}, you need to load the \code{info} library Xinto Emacs by giving the command \kbd{M-x load-library \key{RET} informat X\key{RET}}. After you have done this, you can give the two commands:\refill X X\begin{example} XM-x Info-tagify XM-x Info-split X\end{example} X X\noindent X(Note that the \samp{I} in \samp{Info} is uppercase.) X XWhen you use the \code{Info-split} command, the buffer is modified into a X(small) Info file which lists the indirect subfiles. This file should be Xsaved in place of the original visited file. The indirect subfiles are Xwritten in the same directory the original file is in, with names generated Xby appending \samp{-} and a number to the original file name. X XThe primary file still functions as an Info file, but it contains just Xthe tag table and a directory of subfiles. X X\node LaTeXinfo Mode, Formatting a Region for Info, Splitting a File Manually, Top X\chapter{LaTeXinfo Mode} X\cindex{LaTeXinfo Mode} X\cindex{Mode, using LaTeXinfo} X\cindex{GNU Emacs} X\cindex{Emacs} X XIn GNU Emacs, LaTeXinfo Mode is a major mode for editing LaTeXinfo files. XThis means that Emacs has commands and features especially designed for Xworking with \LaTeX info files. Like all other Emacs features, you can Xcustomize or enhance these as you wish. In particular, the keybindings are Xvery easy to change. The keybindings described here are the default or Xstandard ones. X XThe major features of LaTeXinfo Mode are: X X\begin{itemize} X\item XParagraph filling control. X X\item XA command to show the structure of the file. X X\item XPre-defined keystroke commands to insert commonly used strings of text. X X\item XFormatting a part of a file for Info, rather than the whole file. X\end{itemize} X XIn general, in LaTeXinfo Mode, the GNU Emacs editing commands are like those Xin text-mode. The major difference is that the paragraph separation Xvariable and syntax table are set up so expression commands skip \LaTeX info Xbracket groups. This means, for example, that the\* X\kbd{M-q} (\code{fill-paragraph}) command will refill a paragraph but Xnot the command on a line adjacent to it.\refill X X X\begin{menu} X* Formatting a Region for Info:: X* Showing the Structure of a File:: X* Inserting Frequently Used Commands:: X\end{menu} X X\node Formatting a Region for Info, Showing the Structure of a File, LaTeXinfo Mode, LaTeXinfo Mode X\section{Formatting a Region for Info} X\cindex{Formatting a Region for Info} X\cindex{Running Info on a region} X\cindex{Info, formatting on a region} X\findex{latexinfo-format-region} X XTo see what part of a \LaTeX info file will look like after it has been Xtransformed into an Info file, use the command \ctrl{c} \ctrl{f} X(\code{latexinfo-format-region}). This command formats the current region of Xthe \LaTeX info file for Info and writes it to a temporary buffer called X\samp{*Info Region*}.\refill X XFor \code{latexinfo-format-region} to work, the file \strong{must} include a Xline that has\* X\code{\back setfilename} in its header.\refill X X\comment node-name, next, previous, up X\node Showing the Structure of a File, Inserting Frequently Used Commands, Formatting a Region for Info, LaTeXinfo Mode X\section{Showing the Structure of a File} X\cindex{Showing the structure of a file} X\cindex{Structure of a file, showing it} X\cindex{File structure, showing it} X\cindex{LaTeXinfo file structure, showing it} X XYou can show the structure of a \LaTeX info file by using the \ctrl{c} X\ctrl{s} command\* X(\code{latexinfo-show-structure}). This command shows the structure of Xa \LaTeX info file by listing the lines with the commands for X\code{\back{}node}, \code{\back{}chapter}, \code{\back{}section} and the Xlike. These lines are displayed in another window called the X\samp{*Occur*} window. In that window, you can position the cursor over Xone of the lines and use the \ctrl{c} \ctrl{c} command X(\code{occur-mode-goto-occurrence}), to jump to the Xcorresponding spot in the \LaTeX info file.\refill X XThe two commands are: X X\begin{description} X\item[C-c C-s ] Xlatexinfo-show-structure X X\item[C-c C-c] Xoccur-mode-goto-occurrence X\end{description} X XOften, when you are working on a manual, you will be interested only in the Xstructure of the current chapter. In this case, you can mark off the Xregion of the buffer that you are interested in with the \kbd{C-x n} X(\code{narrow-to-region}) command and \code{latexinfo-show-structure} will Xwork on only that region. (To see the whole buffer again, use \kbd{C-x w} X(\code{widen}).)\refill X X\comment node-name, next, previous, up X\node Inserting Frequently Used Commands, LaTeX Input Initialization, Showing the Structure of a File, LaTeXinfo Mode X\section{Inserting Frequently Used Commands} X\cindex{Inserting frequently used commands} X\cindex{Frequently used commands, inserting them} X\cindex{Commands, inserting them} X X\LaTeX info Mode provides commands that insert various frequently used Xcommands into the buffer. You can use these commands to save Xkeystrokes. And you can insert balanced curly braces with the\* X \kbd{M-\{} command, (\code{latexinfo-insert-braces}) and later use the X\kbd{M-\}} command (\code{up-list}) to move forward past the closing brace. X\refill X XThe special commands are invoked by typing \kbd{C-c} twice and then the Xfirst letter of the command. X X\begin{description} X\item[C-c C-c c] Xlatexinfo-insert-code X X\item[C-c C-c d ] Xlatexinfo-insert-dfn X X\item[C-c C-c e ] Xlatexinfo-insert-end X X\item[C-c C-c i ] Xlatexinfo-insert-item X X\item[C-c C-c n ] Xlatexinfo-insert-node X X\item[C-c C-c s] Xlatexinfo-insert-samp X X\item[C-c C-c v] Xlatexinfo-insert-var X X\item[M-\{ ] Xlatexinfo-insert-braces X X\item[M-\} ] Xup-list X\end{description} X XThis list was generated by analyzing the frequency with which commands were Xused in the GNU Emacs Manual (\cite{GNUEmacsManual}) and the GDB Manual X(\cite{GDBManual}). If you wish to add your own insert commands, you can Xbind a keyboard macro to a key, use abbreviations or extend the code in X\file{latexinfo-mode.el}. X X\c ;;;;;;;;;;;;;;;; Appendix starts here ;;;;;;;;;;;;;;;; X\appendix X X\node LaTeX Input Initialization, Standard text for Copying Permissions, Inserting Frequently Used Commands, Top X\chapter{LaTeX Input Initialization} X\cindex{LaTeX Input Initialization } X\cindex{TEXINPUTS environment variable} X\cindex{profile initialization file} X\cindex{cshrc initialization file} X XYou must put \code{latexinfo} as an option to the \code{documentstyle} Xof every \LaTeX info file to tell \LaTeX\ to use the X\file{latexinfo.sty} file when it is processing the \LaTeX info source Xfile. Otherwise \LaTeX\ will not know what to do with the commands. X\xref{The First Line of a LaTeXinfo File}.\refill X X\LaTeX\ needs to be told where to find the \file{latexinfo.sty} file Xthat you have told it to input. One way to do this is to put X\file{latexinfo.sty} in the default inputs directory, which is the X\file{/usr/lib/tex/macros} directory. \LaTeX\ will find the file and Xyou don't have to do anything. Alternatively, you can put X\file{latexinfo.sty} in the directory in which the \LaTeX info source Xfile is located.\refill X XHowever, you may want to specify the location of the file yourself. One Xway is to set the \samp{TEXINPUTS} environment variable in your X\file{.cshrc} or \file{.profile} file. The \samp{TEXINPUTS} environment Xvariable will tell \LaTeX\ where to find the \file{latexinfo.sty} file Xand any other file that you might want \LaTeX\ to use. Whether you use Xa \file{.cshrc} or \file{.profile} file depends on whether you use X\samp{csh} or \samp{sh} for your shell command interpreter. When you Xuse \samp{csh}, it looks to the \file{.cshrc} file for initialization Xinformation, and when you use \samp{sh}, it looks to the \file{.profile} Xfile.\refill X XIn a \file{.cshrc} file, you could use the following \code{csh} command Xsequence:\refill X X\begin{verbatim} Xsetenv LATEXINFO /usr/me/mylib X# Add the format files to the list of directories that LaTeX searches. Xif ( $?TEXINPUTS ) then X setenv TEXINPUTS "$TEXINPUTS"':'"$LATEXINFO" X else X setenv TEXINPUTS "$LATEXINFO" Xendif X\end{verbatim} X X\clearpage XIn a \file{.profile} file, you could use the following \code{sh} command Xsequence: X X\begin{example} XTEXINPUTS=.:/usr/me/mylib:/usr/lib/tex/macros Xexport TEXINPUTS X\end{example} X X\noindent XThis would cause \LaTeX\ to look for style file first in the current Xdirectory, indicated by the \samp{.}, then in a hypothetical user's X\file{/usr/me/mylib} directory, and finally in the system library.\refill X X\node Standard text for Copying Permissions, Ifinfo Copying Permissions, LaTeX Input Initialization, Top X\chapter{Standard Text for Copying Permissions} X\cindex{Permissions} X\cindex{Copying permissions} X X\LaTeX info files should contain sections that tell the readers that they have Xthe right to copy and distribute the Info file, the printed manual and any Xaccompanying software. This appendix contains the standard text of the XFree Software Foundation copying permission notice. For an example of the Xtext that could be used for the Distribution, General Public License and NO XWARRANTY sections of a document, see the latest version of the XGNU Emacs Manual \cite{GNUEmacsManual}. X XThe texts of the Free Software Foundation copying permission notice in the X\code{\back begin\{ifinfo\}} section and in the Titlepage section Xare slightly different. X XThe \code{\back begin\{ifinfo\}} section usually begins with a line that says Xwhat the file documents. This is what a person looking at the file will Xfirst read if he or she reads the unprocessed \LaTeX info file or if he or she Xuses the advanced Info command \kbd{g *}. \inforef{Expert, info, info}, Xfor more information. (If the reader uses the regular Info commands, he or Xshe will usually start reading at the first node and skip this first Xsection, which is not in a node.) X XIn the \code{\back begin\{ifinfo\}} section, the summary sentence should Xbe followed by a copyright notice and then by the copying permission Xnotice. One of the copying permission paragraphs is enclosed in X\code{\back begin\{ignore\}} and \code{\back end\{ignore\}} commands. XThis paragraph states that the \LaTeX info file can be processed through X\LaTeX\ and printed, provided the printed manual carries the proper Xcopying permission notice. This paragraph is not made part of the Info Xfile since it is not relevant to the Info file; but it is a mandatory Xpart of the \LaTeX info file since it permits people to process the X\LaTeX info file in \LaTeX.\refill X XIn the printed manual, the Free Software Foundation copying permission Xnotice follows the copyright notice and publishing information and is Xlocated before the \code{\back setfilename}. The copying permission Xnotice is exactly the same as the notice in the X\code{\back begin\{ifinfo\}} section except that the paragraph enclosed in X\code{\back begin\{ignore\}} and \code{\back end\{ignore\}} commands is Xnot part of the notice.\refill X XTo make it simpler to copy the permission notice into each section of the X\LaTeX info file, the complete permission notices for each section are Xreproduced in full below even though most of the information is Xredundant.\refill X XNote that you my have to specify the correct name of a section mentioned in Xthe permission notice. For example, in the GDB Manual (\cite{GDBManual}), Xthe name of the section referring to the General Public License is called Xthe ``GDB General Public License'', but in the sample shown below, that Xsection is referred to generically as the ``General Public License''. X X X\begin{menu} X* Ifinfo Copying Permissions:: X* Titlepage Copying Permissions:: X\end{menu} X X\node Ifinfo Copying Permissions, Titlepage Copying Permissions, Standard text for Copying Permissions, Standard text for Copying Permissions X\section{Ifinfo Copying Permissions} X\cindex{Ifinfo permissions} X XIn the \code{\back begin\{ifinfo\}} section of the \LaTeX info file, the Xstandard Free Software Foundation permission notices reads as follows: X X\begin{verbatim} XThis file documents... X XCopyright 1988 Free Software Foundation, Inc. X XPermission is granted to make and distribute verbatim copies of Xthis manual provided the copyright notice and this permission notice Xare preserved on all copies. X X\begin{ignore} XPermission is granted to process this file through TeX and print the Xresults, provided the printed document carries a copying permission Xnotice identical to this one except for the removal of this paragraph X(this paragraph not being relevant to the printed manual). X X\end{ignore} XPermission is granted to copy and distribute modified versions of this Xmanual under the conditions for verbatim copying, provided also that the Xsections entitled ``Distribution'' and ``General Public License'' are Xincluded exactly as in the original, and provided that the entire Xresulting derived work is distributed under the terms of a permission Xnotice identical to this one. X XPermission is granted to copy and distribute translations of this manual Xinto another language, under the above conditions for modified versions, Xexcept that the sections entitled ``Distribution'' and ``General Public XLicense'' may be included in a translation approved by the author instead Xof in the original English. X\end{verbatim} X X\node Titlepage Copying Permissions, LateXinfo and TeXinfo, Ifinfo Copying Permissions, Standard text for Copying Permissions X\section{Titlepage Copying Permissions} X\cindex{Titlepage permissions} X XIn the Titlepage section of the \LaTeX info file, the standard XFree Software Foundation copying permission notices follows the copyright Xnotice and publishing information. The standard phrasing is: X X\begin{verbatim} XPermission is granted to make and distribute verbatim copies of Xthis manual provided the copyright notice and this permission notice Xare preserved on all copies. X XPermission is granted to copy and distribute modified versions of this Xmanual under the conditions for verbatim copying, provided also that the Xsections entitled ``Distribution'' and ``General Public License'' are Xincluded exactly as in the original, and provided that the entire Xresulting derived work is distributed under the terms of a permission Xnotice identical to this one. X XPermission is granted to copy and distribute translations of this manual Xinto another language, under the above conditions for modified versions, Xexcept that the sections entitled ``Distribution'' and ``General Public XLicense'' may be included in a translation approved by the author instead Xof in the original English. X\end{verbatim} X X\node LateXinfo and TeXinfo, Differences from LaTeX, Titlepage Copying Permissions, Top X\chapter{LaTeXinfo and TeXinfo} X\cindex{LaTeXinfo and TeXinfo} X XDocumentation for GNU utilities and libraries is usually written in a Xformat called \dfn{\TeX info}. Prehaps the most significant difference Xof \LaTeX info from \TeX info is that if a \LaTeX\ command is found that Xthe Info formatter does not know about, a error is not signalled, and Xprocessing simply continues. This means that as long as you don't mind Xhaving the commands ignored in the Info file, you can use any \LaTeX Xcommand. X X\node Differences from TeXinfo, Differences from LaTeX, LateXinfo and TeXinfo, LateXinfo and TeXinfo X\section{Differences from TeXinfo} X\cindex{Differences from TeXinfo} X XThe following \TeX info commands have been deleted: X X\begin{verbatim} X\asis X\itemx X\setchapternewpage X\summarycontents X\end{verbatim} X XThe following commands have been replaced by their \LaTeX\ equivalents: X X\begin{verbatim} X\bye replaced by \end{document} X\center replaced by \begin{center} .. \end{center} X\contents replaced by \tableofcontents X\group replaced by \begin{same} X\headings replaced by \pagestyle X\page replaced by \clearpage X\settitle replaced by \title X\table replaced by \begin{description} X\titlepage replaced by \maketitle X\unnumbered replaced by \chapter* X\unnumberedsec replaced by \section* X\unnumberedsubsec replaced by \subsection* X\unnumberedsubsubsec replaced by \subsubsection* X\end{verbatim} X XThe following commands have been added and are supported by the Info Xformatter. X X\begin{verbatim} X\LaTeX X\S X\input X\label X\markboth X\pagestyle X\pagenumbering X\protect X\vspace X\end{verbatim} X XThe following commands have been changed to their \LaTeX\ definitions: X X\begin{verbatim} X\appendix X\chapter X\section X\subsection X\subsection X\subsubsection X\begin{enumerate} X\begin{flushleft} X\end{verbatim} X X X\node Differences from LaTeX, Converting TeXinfo Files into LaTeXinfo Files, Differences from TeXinfo, LateXinfo and TeXinfo X\section{Differences from LaTeX} X\cindex{Differences from LaTeX} X XThere is no support for any kind of math modes, pictures, tables, figures, XIf you want to use them in a \LaTeX info document, then use the following Xidiom to have them appear in the \LaTeX\ file, but not in the Info file. X X\begin{verbatim} X\begin{tex} X\begin{figure} X... X\end{figure} X\end{tex} X\end{verbatim} X XThis ensures that this part will be ignored by the Info processor, and Xthat all special characters will be processed according to the normal X\LaTeX\ definitions. X X\node Converting TeXinfo Files into LaTeXinfo Files, Command Index, Differences from LaTeX, LateXinfo and TeXinfo X\section{Converting TeXinfo Files into LaTeXinfo Files} X\cindex{Converting TeXinfo Files into LaTeXinfo Files} X XWith the \LaTeX info distribution is a file called X\file{tex-to-latexinfo.el}, which helps convert a \TeX info file Xto a \LaTeX info file. Although it is not a perfectly automatic Xconversion, it will convert most of a file to \LaTeX info. The Xonly command not known to be supported in \code{@itemx}. X XTo convert a \TeX info File into an \LaTeX Info file, just visit a \TeX info Xfile in GNU Emacs and invoke X X\begin{example} X\kbd{Meta-x tex-to-latexinfo} X\end{example} X X\noindent Xto convert it to a \LaTeX Info file. Then search through the buffer to Xsee if there are any command that were not converted. These start with Xthe symbol \samp{@}. X X X\begin{tex} X\bibliography{latexinfo} X\end{tex} X X\twocolumn X\node Command Index, Concept Index, Converting TeXinfo Files into LaTeXinfo Files, Top X\chapter*{Command Index} X\cindex{Command Index} X\cindex{Command Index} X X(When used in a \LaTeX info file, commands are preceded by an X\samp{\back }.)\refill X X\printindex{fn} X X\onecolumn X\node Concept Index, Top, Command Index, Top X\chapter*{Concept Index} X\cindex{Concept Index} X\cindex{Concept Index} X X\printindex{cp} X X\end{document} END_OF_FILE if test 32105 -ne `wc -c <'manual/latexinfo.tex-ae'`; then echo shar: \"'manual/latexinfo.tex-ae'\" unpacked with wrong size! fi # end of 'manual/latexinfo.tex-ae' fi echo shar: End of archive 3 \(of 9\). cp /dev/null ark3isdone MISSING="" for I in 1 2 3 4 5 6 7 8 9 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 9 archives. rm -f ark[1-9]isdone ark[1-9][0-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0 -- Mike Clarkson mike@ists.ists.ca Institute for Space and Terrestrial Science uunet!attcan!ists!mike York University, North York, Ontario, FORTRAN - just say no. CANADA M3J 1P3 +1 (416) 736-5611