summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/FAQ-en/faq-backgrnd.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/FAQ-en/faq-backgrnd.tex')
-rw-r--r--Master/texmf-dist/doc/generic/FAQ-en/faq-backgrnd.tex255
1 files changed, 149 insertions, 106 deletions
diff --git a/Master/texmf-dist/doc/generic/FAQ-en/faq-backgrnd.tex b/Master/texmf-dist/doc/generic/FAQ-en/faq-backgrnd.tex
index b1ba743417a..f893036d0bf 100644
--- a/Master/texmf-dist/doc/generic/FAQ-en/faq-backgrnd.tex
+++ b/Master/texmf-dist/doc/generic/FAQ-en/faq-backgrnd.tex
@@ -1,7 +1,45 @@
-% $Id: faq-backgrnd.tex,v 1.10 2011/02/14 20:53:28 rf10 Exp $
+% $Id: faq-backgrnd.tex,v 1.19 2011/04/14 18:34:15 rf10 Exp rf10 $
\section{The Background}
+\Question[Q-startup]{Getting started}
+
+\alltex{} offers a very large number of choices, and the beginner has
+to navigate through that set before even taking his first steps. The
+aim here is to guide the beginner through a set of answers that may
+help the process. We assume the beginner `knows' that \alltex{} is
+for them; if not, the discussion ``\Qref{what is \tex{}}{Q-whatTeX}''
+may help.
+
+To start at the very beginning, then, the beginner may wish to know
+what all those % ! line break
+``\Qref*{things with \tex{} in their name are}{Q-texthings}''.
+
+Armed with that knowledge, the beginner needs to decide what macro
+format she needs (always assuming someone hasn't already told her she
+needs to use ``foo\tex{}''. Learn about the alternatives in answers
+discussing common formats: look at % line break
+\Qref*{writing \plaintex{}}{Q-plaintex},
+\Qref*{\latex{}}{Q-latex} or
+\Qref*{\context{}}{Q-context}.
+
+If no system has been provided, the beginner needs to acquire a \tex{}
+distribution appropriate to their machine. Available options are
+available via the answer % ! line break
+``\Qref*{\alltex{} for various machines}{Q-TeXsystems}''; we assume
+here that the beginner can install things for herself, or has access
+to someone who can.
+
+Finally, the beginner needs to get started in the chosen format. For
+\plaintex{}, see ``\Qref[]{Online introductions: \TeX{}}{Q-man-tex}'';
+for \latex{}, see % ! line break
+``\Qref[]{Online introductions: \LaTeX{}}{Q-man-latex}''; and for
+\context{}, the place to start is the % line break
+\href{http://wiki.contextgarden.net/Main_Page}{ConTeXt garden wiki}
+(which is so good the present \acro{FAQ}s don't even try to compete).
+\LastEdit*{2011-03-04}
+
+
\Question[Q-whatTeX]{What is \TeX{}?}
\TeX{} is a typesetting system written by
@@ -92,7 +130,7 @@ in this \acro{FAQ} (see % ! line break
\MF{} was written by Knuth as a companion to \TeX{}; whereas \TeX{}
defines the layout of glyphs on a page, \MF{} defines the shapes of
the glyphs and the relations between them. \MF{} details the sizes of
-glyphs, for \TeX{}'s benefit, and details the rasters used to
+glyphs, for \TeX{}'s benefit, and creates bitmaps that may be used to
represent the glyphs, for the benefit of programs that will produce
printed output as post processes after a run of \TeX{}.
@@ -104,10 +142,11 @@ distinguish different design sizes of the same font, or the difference
between two fonts that belong to the same (or related) families.
Knuth (and others) have designed a fair range of fonts using \MF{},
-but font design using \MF{} is much more of a minority skill than is
+but font design using \MF{} is much more of a minority skill (even) than is
\TeX{} macro-writing. The complete \TeX{}-user nevertheless needs to
-be aware of \MF{}, and to be able to run \MF{} to generate personal
+be aware of \MF{}, and may even be required run \MF{} to generate personal
copies of Meta-fonts that come her way.
+\LastEdit{2011-03-10}
\Question[Q-MP]{What is \MP{}?}
@@ -122,21 +161,27 @@ but \MP{} for diagrams in text that he is writing.)
Although \PDFLaTeX{} cannot ordinarily handle \PS{} graphics, the
output of \MP{} is sufficiently simple and regular that \PDFLaTeX{}
-can handle it direct, using code borrowed from \CONTeXT{}~--- see
-\Qref[question]{graphics in \PDFLaTeX{}}{Q-pdftexgraphics}.
+can handle it direct, using code borrowed from
+\begin{hyperversion}
+ \Qref*{\context{}}{Q-context}~---
+\end{hyperversion}
+\begin{flatversion}
+ \context{}~---
+\end{flatversion}
+see \Qref[question]{graphics in \PDFLaTeX{}}{Q-pdftexgraphics}.
Much of \MP{}'s source code was copied from \MF{}'s sources, with
Knuth's permission.
A mailing list discussing \MP{} is available;
-\begin{narrowversion} % really non-hyper
+\begin{flatversion}
subscribe via the \acro{TUG} \ProgName{mailman} interface at
\URL{http://lists.tug.org/metapost}
-\end{narrowversion}
-\begin{wideversion} % really hyper
+\end{flatversion}
+\begin{hyperversion}
subscribe via the % ! line break
\href{http://lists.tug.org/metapost}{\acro{TUG} \ProgName{mailman} interface}.
-\end{wideversion}
+\end{hyperversion}
The \acro{TUG} website also hosts a % ! line break
\href{http://tug.org/metapost.html}{\MP{} summary page}.
@@ -145,40 +190,39 @@ The \acro{TUG} website also hosts a % ! line break
New \TeX{} users are often baffled by the myriad terms with ``\TeX{}''
in the name. The goal of this answer is to clarify some of the more
-common \TeX{} terms.
+common such terms.
\paragraph{\TeX{} itself}
\TeX{} proper is a typesetting system based on a set of low-level
control sequences that instruct \TeX{} how to lay out text on the
page. For example, \csx{hskip} inserts a given amount of horizontal
space into the document, and \csx{font} makes a given font available
-to \TeX{}. \TeX{} is fully programmable using an integrated macro
+in a document. \TeX{} is fully programmable using an integrated macro
scripting language that supports variables, scoping, conditional
execution, control flow, and function (really, macro) definitions.
See % ! line break
-\Qref[question]{What is \TeX{}?}{Q-whatTeX} for some background
+\Qref[question]{what is \TeX{}?}{Q-whatTeX} for some background
information on \TeX{} and % ! line break
-\Qref[question]{Reference documents}{Q-ref-doc} for pointers to
+\Qref[question]{some reference documents}{Q-ref-doc} for pointers to
descriptions of \TeX{} control sequences, data types, and other key
parts of \TeX{}.
\paragraph{\TeX{} macro packages (a.k.a.~\TeX{} formats)}
-\TeX{}'s control sequences are tedious to use directly; they are
-intended primarily as building blocks for higher-level---and therefore
-more user-friendly---abstractions. For example, there is no way in
+Some of \TeX{}'s control sequences are tedious to use directly; they are
+intended primarily as building blocks for higher-level~--- and therefore
+more user-friendly~--- abstractions. For example, there is no way in
base \TeX{} to specify that a piece of text should be typeset in a
larger font. Instead, one must keep track of the current size and
typeface, load a new font with the same typeface but a (specified)
larger size, and tell \TeX{} to use that new font until instructed
otherwise. Fortunately, because \TeX{} is programmable, it is
possible to write a macro that hides this complexity behind a simple,
-new control sequence. For example,
-%
-\cmdinvoke{larger}{my text} can be defined to typeset ``my text'' in
-the next larger font).
+new control sequence. (For example, it is possible to define
+\cmdinvoke{larger}{my text} to typeset ``my text'' in
+at a font size next larger than the current one.)
While some users write their own, perfectly customized set of
-macros---which they then typically reuse across many documents---it is
+macros~--- which they then typically reuse across many documents~--- it is
far more common to rely upon a \emph{macro package}, a collection of
\TeX{} macros written by experts. For the user's convenience, these
macro packages are often combined with the base \TeX{} engine into a
@@ -217,13 +261,13 @@ that you are likely to encounter:
\Qref[question]{What is Texinfo?}{Q-texinfo}. \ProgName{makeinfo}
converts Texinfo documents to \acro{HTML}, DocBook, Emacs info,
\acro{XML}, and plain text. \ProgName{Tex} (or wrappers such as
- \ProgName{texi2pdf} and \ProgName{texi2pdf}) produce one of \TeX{}'s
+ \ProgName{texi2dvi} and \ProgName{texi2pdf}) produce one of \TeX{}'s
usual output formats such as \acro{DVI} or \acro{PDF}. Because
\ProgName{tex} loads the Plain \TeX{} macros, not the Texinfo ones,
a Texinfo document must begin with \cmdinvoke{input}{texinfo} to
explicitly load the Texinfo macro package.
- \item[\Eplain{}---Extended Plain \TeX{} (executable: \ProgName{eplain})]
+ \item[\Eplain{}~--- Extended Plain \TeX{} (executable: \ProgName{eplain})]
See
\Qref[question]{What is \Eplain{}?}{Q-eplain}.
\end{description}
@@ -248,83 +292,89 @@ the \TeX{} engine with some additional useful features:
\Qref[question]{What is \PDFTeX{}?}{Q-whatpdftex}.
\item[\xetex{} (executable: \ProgName{xetex})]
- \TeX{} not only predates all major font technologies in use today
- (e.g.,~TrueType, OpenType, and PostScript Type~1) but also predates
- the notion that fonts be included with an operating system.
- Consequently, \TeX{} uses its own font formats, which are
- incompatible with anything a user is likely to have preinstalled.
- \xetex{} addresses this issue by enhancing \TeX{}'s \csx{font}
- control sequence to support all of the fonts made available by the
- operating system. See
- \Qref[question]{What is \xetex{}?}{Q-xetex}.
+% \TeX{} not only predates all major font technologies in use today
+% (e.g.,~TrueType, OpenType, and PostScript Type~1) but also predates
+% the notion that fonts be included with an operating system.
+% Consequently, \TeX{} uses its own font formats, which are
+% incompatible with anything a user is likely to have preinstalled.
+ \xetex{} uses \acro{UTF}-8 encoded Unicode input, and extends
+ \TeX{}'s font support to include `modern' formats such as TrueType
+ and OpenType; these extensions to its capabilities make it
+ well-suited to multi-lingual texts covering different writing
+ systems. See \Qref[question]{What is \xetex{}?}{Q-xetex}.
\item[\LuaTeX{} (executable: \ProgName{luatex})]
- \TeX{} is programmed in its own, integrated, macro-based programming
- language. Many users have criticized this language for being
- needlessly difficult to program. \LuaTeX{} addresses that criticism
- by integrating a modern scripting language, Lua, into the base
- \TeX{} engine. See
- \Qref[question]{What is \LuaTeX{}?}{Q-luatex}.
+ \TeX{} is programmed in its own arcane, integrated, macro-based
+ programming language. \LuaTeX{} adds a second programming engine
+ which operates alongside \tex{} using a modern scripting language,
+ Lua. See \Qref[question]{What is \LuaTeX{}?}{Q-luatex}.
\item[\eTeX{} (executable: \ProgName{etex})]
- \eTeX{} provides a number of features that are only indirectly
- useful to end users but that can be immensely useful to package
- developers. Consequently, there is an increasing number of macro
- packages that require the use of \eTeX{}. (Note: Be careful not to
- confuse \eTeX{}, which enhances the \TeX{} engine, with \Eplain{},
- which enhances the Plain \TeX{} macro package.) See
+ \eTeX{} is an extension of \tex{}'s programming interface; as such
+ it's only indirectly useful to end users, but it can be valuable to
+ package developers; there is an increasing number of macro packages
+ that require the use of \eTeX{}. As well as existing in
+ \ProgName{etex}, \eTeX{} features are usually available in the
+ \ProgName{pdftex} executables provided in the standard
+ distributions; \xetex{} and \luatex{} also provide \etex{}'s
+ programming facilities. See % ! line break
\Qref[question]{What is \eTeX{}?}{Q-etex}.
+
+ (Note: \eTeX{}, which enhances the \TeX{} engine, is not to be
+ confused with \Eplain{}, which enhances the Plain \TeX{} macro
+ package.)
\end{description}
-Because each of the above modifies only the base \TeX{} engine, it is
-possible to combine any of those with any of the \TeX{} macro packages
-listed earlier to produce executables with both sets of features. For
+Because each of the above derive from a base \TeX{} engine, it is in
+principle possible to combine any of them with one of the \TeX{} macro
+packages listed earlier to produce `extended' executables. For
example, the \ProgName{pdflatex}, \ProgName{xelatex} and
-\ProgName{lualatex} executables each combine
-\LaTeX{} with an enhanced \TeX{} engine. Some executables combine the
-features of multiple enhanced \TeX{} engines: \ProgName{pdfetex}
-combines \PDFTeX{} and \eTeX{} into a single executable.
-
-As combining features is a generally desirable tendency, current
-\TeX{} distributions (see below) incorporate the features of \PDFTeX{}
-and \eTeX{} into a single executable. This executable may be
-offered with a \LaTeX{} format (as \ProgName{latex} or
-\ProgName{pdflatex}) or with a \plaintex{} format (as
-\ProgName{pdftex}). (\ProgName{Tex} remains with an unadorned \TeX{}
-executable using \plaintex{}, for people such as Knuth himself, who
-want the certainty of the ``original''.)
+\ProgName{lualatex} executables each combine \LaTeX{} with an enhanced
+\TeX{} engine. Indeed, most (if not all) of the development of
+\context{} is now using \luatex{}.
+
+Some executables combine the features of multiple enhanced \TeX{}
+engines: for example, \ProgName{pdftex} now (in current distributions)
+offers both \PDFTeX{} and \eTeX{} extensions into a single executable
+This executable may be offered with a \LaTeX{} format (as
+\ProgName{latex} or \ProgName{pdflatex}) or with a \plaintex{} format
+(as \ProgName{pdftex}). (\ProgName{Tex} remains with an unadorned
+\TeX{} executable using \plaintex{}, for people such as Knuth himself,
+who want the certainty of the ``original''.)
\paragraph{\TeX{} distributions}
-A \emph{\TeX{} distribution} is a collection of \TeX{}-related
-software. Generally, a \TeX{} distribution includes a set of core
-\TeX{} executables such as \ProgName{tex} and \ProgName{latex};
-various fonts optimized for use with \TeX{}; helper programs such as
-the \BibTeX{} bibliographic-database formatter, editors, integrated
-development environments, file-format-conversion programs; numerous
-\LaTeX{} packages; configuration tools; and any other goodies the
-distributor chooses to include. Commonly encountered \TeX{}
-distributions include \texlive{}, \miktex{} and Mac\TeX{}; older ones
-include oz\TeX{}, \acro{CM}ac\TeX{} and te\TeX{}. Some \TeX{}
-distributions target a specific operating system and/or processor
-architecture; others run on multiple platforms. Some \TeX{}
-distributions are free; others require payment. See % ! line break
+A \emph{\TeX{} distribution} provides a structured collection of
+\TeX{}-related software. Generally, a \TeX{} distribution includes a
+set of ``core'' \TeX{} executables such as \ProgName{tex} and
+\ProgName{latex}; various fonts optimized for use with \TeX{}; helper
+programs such as the \BibTeX{} bibliographic-database formatter,
+editors, integrated development environments, file-format-conversion
+programs; numerous \LaTeX{} packages; configuration tools; and any
+other goodies the distributor chooses to include.
+
+Commonly encountered \TeX{} distributions include \texlive{},
+\miktex{} and Mac\TeX{}; older ones include oz\TeX{},
+\acro{CM}ac\TeX{} and te\TeX{}.
+
+Some \TeX{} distributions target a specific operating system and/or
+processor architecture; others run on multiple platforms. Many \TeX{}
+distributions are free; a few require payment. See % ! line break
\Qref[question]{\AllTeX{} for different machines}{Q-TeXsystems} for a
list of free and shareware \TeX{} distributions and % ! line break
\Qref[question]{Commercial \TeX{} implementations}{Q-commercial} for a
list of commercial \TeX{} distributions.
\paragraph{Summary}
-If your document begins with \csx{documentclass}, you're using some
-form of the \LaTeX{} macro package. Even if hidden behind a button in
-a \TeX{}-aware GUI, this document is getting compiled by a \TeX{}
-executable---probably \ProgName{latex} or \ProgName{pdflatex}---to
-produce an output file. The executable came bundled as part of a
-\TeX{} distribution such as \miktex{}, which includes various other
-\TeX{}-related components.
-
-This question is also covered in a page on the \acro{TUG} site,
+What does it all mean?~--- the simple lists of objects, alone, offer
+no help for the beginner. The \acro{FAQ} team expects this answer
+only to be of use for people who are seeking guidance elsewhere
+(possibly within these \acro{FAQ}s) and coming across an unexpected
+name like ``blah\tex{}''.
+
+The subject matter covered by this answer is also addressed in a page
+on the \acro{TUG} site, % ! line break
``\href{http://tug.org/levels.html}{the Levels of \tex{}}''.
-\LastEdit{2010-12-08}
+\LastEdit{2011-03-11}
\Question[Q-triptrap]{How can I be sure it's really \TeX{}?}
@@ -365,6 +415,7 @@ world problem.)
\begin{description}
\item[Crashing:] None of \TeX{}, \MF{} or \MP{} can themselves crash
due to any change whatever in the date of any sort.
+
\item[Timestamps:] In the original sources, a 2-digit year was
stored as the creation time for format files and that value is
printed in log-files. These items should not be of general concern,
@@ -377,6 +428,7 @@ world problem.)
been modified to generate 4-digit years in the format file and the
log, by the end of 1998. The original sources themselves have now
been modified so that 4-digit year numbers are stored.
+
\item[The \csx{year} primitive:] Certification of a \TeX{}
implementation (see \Qref[question]{trip/trap testing}{Q-triptrap})
does not require that \csx{year} return a meaningful value (which
@@ -395,7 +447,8 @@ world problem.)
Note that if the system itself fails to deliver a correct date to
\TeX{}, then \csx{year} will of course return an incorrect value.
\TeX{} cannot be considered Y2K compliant, in this sense, on a
-system that is not itself Y2K compliant.
+ system that is not itself Y2K compliant.
+
\item[Macros:] \TeX{} macros can in principle perform calculations on
the basis of the value of \csx{year}.
The \Qref*{LaTeX suite}{Q-latex}
@@ -404,6 +457,7 @@ system that is not itself Y2K compliant.
known to be Y2K compliant.
Other macros and macro packages should be individually checked.
+
\item[External software:] Software such as \acro{DVI} translators
needs to be individually checked.
\end{description}
@@ -436,7 +490,8 @@ of available registers from 256 to 32768) through to extremely subtle
programming support.
\Qref*{\CONTeXT{}}{Q-context} has required \eTeX{} for its operation
-for some time.
+for some time, though development is now focused on the use of
+\Qref*{\luatex}{Q-luatex}.
Some \LaTeX{} packages already specify the use of \eTeX{}. Some such
packages may not work at all on a non-\eTeX{} system; others will
@@ -447,11 +502,12 @@ individually contributed) may require \eTeX{} for optimum performance.
\begin{ctanrefs}
\item[\eTeX{}]\CTANref{etex}
\end{ctanrefs}
+\LastEdit{2011-04-13}
\Question[Q-whatpdftex]{What is \PDFTeX{}?}
One can reasonably say that \PDFTeX{} is (today) the main stream of
-\TeX{} distributions: most \LaTeX{} and \CONTeXT{} users nowadays use
+\TeX{} distributions: most \LaTeX{} and many \CONTeXT{} users nowadays use
\PDFTeX{} whether they know it or not (more precisely, they use
\PDFTeX{} extended by
\begin{wideversion}
@@ -621,24 +677,8 @@ system to produce figures, but its strength lies in enhancing
\CONTeXT{} allows the users to specify formatting commands in English,
Dutch, German, French, or Italian, and to use different typesetting
engines (\PDFTeX{}, Xe\TeX{}, Aleph and \LuaTeX{}) without
-changing the user interface. \CONTeXT{} is developed rapidly, often in
+changing the user interface. \CONTeXT{} continues to develop, often in
response to requests from the user community.
-\LastEdit{2010-12-08}
-
-%%% RF's original version
-%% developed by Hans Hagen, originally to
-%% serve the needs of his (Dutch) firm Pragma. It was designed with the
-%% same general-purpose aims as \LaTeX{}, but (being younger) reflects
-%% much more recent thinking about the structure of markup, etc. In
-%% particular, \CONTeXT{} can customise its markup to an
-%% author's language (customising modules for Dutch, English and German
-%% are provided, at present).
-%%
-%% \CONTeXT{} is well integrated, in all of its structure,
-%% with the needs of hypertext markup, and in particular with the
-%% facilities offered by \Qref*{\PDFTeX{}}{Q-whatpdftex}.
-%% The default installation employs a version of \PDFTeX{} built with the
-%% \Qref*{\eTeX{} extensions}{Q-etex}, which allows further flexibility.
\CONTeXT{} doesn't yet have quite such a large developer community as
does \LaTeX{}, but those developers who are active seem to have
@@ -648,6 +688,7 @@ prodigious energy. Support is available via a % ! line break
\begin{ctanrefs}
\item[\nothtml{\rmfamily}\CONTeXT{} distribution]\CTANref{context}
\end{ctanrefs}
+\LastEdit{2010-12-08}
\Question[Q-AMSpkg]{What are the \acro{AMS} packages (\AMSTeX{}, \emph{etc}.)?}
@@ -720,12 +761,14 @@ known to work with \Eplain{}: \Package{graphics}, \Package{graphicx},
\Package{psfrag}, and \Package{url}.
\href{http://tug.org/docs/html/eplain}{\Eplain{} documentation} is
-available online, and there's
-also a mailing list~--- sign up, or browse the list archives, via
+available online (and there's a \acro{PDF} copy in the \acro{CTAN}
+package as well), and there's also a mailing list~--- sign up, or
+browse the list archives, via
\URL{http://tug.org/mailman/listinfo/tex-eplain}
\begin{ctanrefs}
\item[\nothtml{\rmfamily}\Eplain{} distribution]\CTANref{eplain}
\end{ctanrefs}
+\LastEdit{2011-04-13}
\Question[Q-texinfo]{What is Texinfo?}