summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/eplain/base/invoke.texi
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-09 00:43:17 +0000
committerKarl Berry <karl@freefriends.org>2006-01-09 00:43:17 +0000
commitf9ba1f4431124f48769a2666d5d9ec921345ca71 (patch)
tree84f6056d0a7a06c9fed9927a8be9210064de058c /Master/texmf-dist/doc/eplain/base/invoke.texi
parentfd423d0bb64fe29a2be1fbae5baaf4bc386cc274 (diff)
doc 2
git-svn-id: svn://tug.org/texlive/trunk@78 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/eplain/base/invoke.texi')
-rw-r--r--Master/texmf-dist/doc/eplain/base/invoke.texi144
1 files changed, 144 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/eplain/base/invoke.texi b/Master/texmf-dist/doc/eplain/base/invoke.texi
new file mode 100644
index 00000000000..b412c64a57b
--- /dev/null
+++ b/Master/texmf-dist/doc/eplain/base/invoke.texi
@@ -0,0 +1,144 @@
+@c This is part of the Eplain manual. Public domain.
+
+@node Invoking Eplain
+@chapter Invoking Eplain
+
+@cindex Eplain, invoking
+The simplest way to use Eplain is simply to put:
+
+@example
+\input eplain
+@end example
+
+@noindent at the beginning of your input file. The macro file is small
+enough that reading it does not take an unbearably long time---at least on
+contemporary machines.
+
+In addition, if a format (@file{.fmt})
+@pindex .fmt @r{file}
+file has been created for Eplain (see the previous section), you can
+eliminate the time spent reading the macro source file. You do this
+by responding @code{&eplain} to @TeX{}'s @samp{**} prompt. For
+example:
+
+@example
+initex
+This is TeX, ...
+**&eplain myfile
+@end example
+
+Depending on the implementation of @TeX{} which you are using, you might
+also be able to invoke @TeX{} as @file{eplain} and have the format file
+automatically read.
+
+If you write something which you will be distributing to others, you
+won't know if the Eplain format will be loaded already. If it is, then
+doing @code{\input eplain} will waste time; if it isn't, then you must
+load it. To solve this, Eplain defines the control sequence
+@code{\eplain}
+@findex eplain
+to be the letter @code{t} (a convention borrowed from Lisp; it doesn't
+actually matter what the definition is, only that the definition
+exists). Therefore, you can do the following:
+@example
+\ifx\eplain\undefined \input eplain \fi
+@end example
+@noindent where @code{\undefined} must never acquire a definition.
+
+Eplain consists of several source files:
+@table @file
+@item xeplain.tex
+most of the macros;
+
+@item arrow.tex
+commutative diagram macros (@pxref{Arrow theoretic diagrams}), written by
+Steven Smith;
+
+@item btxmac.tex
+bibliography-related macros (@pxref{Citations});
+
+@item ifpdf.sty
+sets the switch @code{\ifpdf}, which can be used to
+detect pdf@TeX{} in PDF mode (@pxref{Checking for PDF output}), written
+by Heiko Oberdiek;
+
+@item path.sty
+macro for allowing line breaks at punctuation characters within long
+pathnames, electronic mail addresses, etc., (@pxref{Paths}), written
+by Philip Taylor;
+
+@item texnames.sty
+abbreviations for various @TeX{}-related names (@pxref{Logos}), edited
+by Nelson Beebe.
+
+@end table
+
+@noindent The file @file{eplain.tex} is all of these files merged
+together, with comments removed.
+
+All of these files except @file{xeplain.tex} can be input individually,
+if all you want are the definitions in that file.
+
+Also, since the bibliography macros are fairly extensive, you might not
+want to load them, to conserve @TeX{}'s memory. Therefore, if the
+control sequence @code{\nobibtex}
+@findex nobibtex
+is defined, then the bibliography definitions are skipped. You must set
+@code{\nobibtex} before @file{eplain.tex} is read, naturally. For
+example, you could start your input file like this:
+
+@example
+\let\nobibtex = t
+\input eplain
+@end example
+
+By default, @code{\nobibtex} is undefined, and so the bibliography
+definitions @emph{are} made.
+
+@findex noarrow
+Likewise, define @code{\noarrow} if you don't want to include the
+commutative diagram macros from @file{arrow.tex}, perhaps because you
+already have conflicting ones.
+
+If you don't want to read or write an @file{aux} file at all, for any
+kind of cross-referencing, define @code{\noauxfile}
+@findex noauxfile
+before reading @file{eplain.tex}. This also turns off all warnings
+about undefined labels.
+
+@pindex amsppt.sty
+@cindex AMS@TeX{} conflicts
+Eplain conflicts with AMS@TeX{} (to be precise, with @file{amsppt.sty}):
+the macros @code{\cite} and @code{\ref} are defined by both.
+
+If you want to use AMS@TeX{}'s @code{\cite}, the solution is to define
+@code{\nobibtex} before reading Eplain, as described above.
+
+If you have @file{amsppt.sty} loaded and use @code{\ref}, Eplain writes
+a warning on your terminal. If you want to use the AMS@TeX{}
+@code{\ref}, do @code{\let\ref = \amsref} after reading Eplain.
+To avoid the warning, do @code{\let\ref = \eplainref} after reading
+Eplain and before using @code{\ref}.
+
+@pindex texi2dvi
+@pindex bibtex
+@pindex makeindex
+Sometimes you may need to run @TeX{} more then once on your
+@file{.tex} file in order to produce and typeset indexes, resolve
+undefined cross-references and/or citations. The shell script
+@command{texi2dvi} from the Texinfo documentation system (see
+@url{http://www.gnu.org/software/texinfo/}) can automate this process:
+it runs Bib@TeX{}, MakeIndex and @TeX{} as many times as needed to
+complete the compilation process. You will need to set the
+@env{LATEX} environment variable to @samp{tex}. For example, in a
+Bourne-compatible shell, the following command will do all the work:
+
+@example
+prompt$ LATEX=tex texi2dvi file.tex
+@end example
+
+@pindex pdftex
+@noindent (Despite the name, @command{texi2dvi} can also produce
+@file{.pdf} files; just set @samp{LATEX=pdftex}.) See the output from
+the command @command{texi2dvi --help} for invoking information and a
+full list of options.