[comp.emacs] LaTeXinfo - 4 of 10

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