diff options
Diffstat (limited to 'Master/texmf-dist/doc/generic/FAQ-en/archive-version/faq-backgrnd.tex')
-rw-r--r-- | Master/texmf-dist/doc/generic/FAQ-en/archive-version/faq-backgrnd.tex | 1154 |
1 files changed, 1154 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/FAQ-en/archive-version/faq-backgrnd.tex b/Master/texmf-dist/doc/generic/FAQ-en/archive-version/faq-backgrnd.tex new file mode 100644 index 00000000000..c7c17b7b2b7 --- /dev/null +++ b/Master/texmf-dist/doc/generic/FAQ-en/archive-version/faq-backgrnd.tex @@ -0,0 +1,1154 @@ +% $Id: faq-backgrnd.tex,v 1.30 2012/10/10 20:37:43 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 +\href{http://sunburn.stanford.edu/~knuth/}{Donald E. Knuth}, who +says in the Preface to his book on \TeX{} +(see \Qref[question]{books about TeX}{Q-tex-books}) that it is +%% !line wrap avoided by two commands +``\emph{intended for the creation of beautiful books~---} +\emph{and especially for books that contain a lot of mathematics}''. +(If \TeX{} were \emph{only} good for mathematical books, much of its +use nowadays would not happen: it's actually a pretty good general +typesetting system.) + +Knuth is Emeritus Professor of the Art of Computer Programming at +Stanford University in California, \acro{USA}. Knuth developed the +first version of \TeX{} in 1978 to deal with revisions to his series +``the Art of Computer Programming''. The idea proved popular and +Knuth produced a second version (in 1982) which is the basis of what +we use today. + +Knuth developed a system of % ! line breaks +`\Qref*{literate programming}{Q-lit}' to write \TeX{}, +and he provides the literate (\acro{WEB}) source of \TeX{} free of charge, +together with tools for processing the |web| source into something +that can be compiled and something that can be printed; there is (in +principle) never any mystery about what \TeX{} does. Furthermore, the +\acro{WEB} system provides mechanisms to port \TeX{} to new operating +systems and computers; and in order that one may have some confidence +in the ports, Knuth supplied a \Qref*{test}{Q-triptrap} by +means of which one may judge the fidelity of a \TeX{} system. \TeX{} +and its documents are therefore highly portable. + +For the interested programmer, the distribution of \TeX{} has some +fascination: it's nothing like the way one would construct such a +program nowadays, yet it has lasted better than most, and has been +ported to many different computer architectures and operating +systems~--- the sorts of attributes that much modern programming +practice aims for. The processed `readable' source of \TeX{} the +program may be found in the % ! line break +\begin{hyperversion} + \Qref*{\acro{TDS} structured version}{Q-tds} of the distribution. +\end{hyperversion} +\begin{dviversion} + \Qref*{\acro{TDS} structured version of the distribution}{Q-tds}. +\end{dviversion} +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Knuth's source distribution]\CTANref{knuth-dist} +\item[\nothtml{\rmfamily}Knuth's sources in \acro{TDS} layout]\CTANref{knuth-tds} +\end{ctanrefs} +\LastEdit{2011-06-01} + +\Question[Q-plaintex]{What's ``writing in \TeX{}''?} + +\TeX{} is a macro processor, and offers its users a powerful +programming capability. To produce a document, you write macros and +text interleaved with each other. The macros define an environment in +which the text is to be typeset. + +However, the basic \TeX{} engine is pretty +basic, and is a pretty difficult beast to deal with. Recognising this +(and not wanting to write the same things at the start of every +document, himself) Knuth provided a package of macros for use with +\TeX{}, called \plaintex{}; \plaintex{} is a useful minimum set of +macros that can be used with \TeX{}, together with some demonstration +versions of higher-level commands. When people say they're ``writing +(or programming) in \TeX{}'', they usually mean they're programming in +\plaintex{}. + +\Question[Q-TeXpronounce]{How should I pronounce ``\TeX{}''?} + +The `X' is ``really'' the Greek letter % ! line break +Chi\nothtml{ (\ensuremath{\chi}, in lower case)}, and is pronounced by +English-speakers either a bit like the `ch' in the Scots word `loch' +([x] in the IPA) or (at a pinch, if you can't do the Greek sound) like +`k'. It definitely is not pronounced `ks' (the Greek letter with that +sound doesn't look remotely like the Latin alphabet `X'). + +This curious usage derives from Knuth's explanation in the \TeX{}book +that the name comes from the Greek word for `art' or `craft' +(`\latexhtml{\ensuremath{\tau\epsilon\chi\nu\eta}}{\emph{techni}}'), +which is the root of the English word `technology'. Knuth's logo for \TeX{} is +merely the uppercase version of the first three (Greek) letters of the +word, jiggled about a bit; we don't use that logo (and logos like it) +in this \acro{FAQ} (see % ! line break +\Qref[question]{Typesetting \TeX{}-related logos}{Q-logos}). + +\Question[Q-MF]{What is \MF{}?} + +\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 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{}. + +\MF{}'s language for defining fonts permits the expression of several +classes of things: first (of course), the simple geometry of the +glyphs; second, the properties of the print engine for which the +output is intended; and third, `meta'-information which can +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 (even) than is +\TeX{} macro-writing. +What is more, it is a dying art: few new \tex{}-related fonts are +produced using \MF{}, nowadays. Indeed, several of the major font +families (that originated in \MF{} designs) are now seldom used in any +other way than their conversion to an outline font format. +%% The complete \TeX{}-user nevertheless needs to +%% be aware of \MF{}, and may even be required run \MF{} to generate personal +%% copies of Meta-fonts that come her way. +\LastEdit{2011-07-03} + +\Question[Q-MP]{What is \MP{}?} + +The \MP{} system (by John Hobby) implements a picture-drawing language +very much like that of \MF{}; the difference is that \MP{} outputs +Encapsulated \PS{} files instead of run-length-encoded bitmaps. \MP{} +is a powerful language for producing figures for documents to be +printed on \PS{} printers, either directly or embedded in \AllTeX{} +documents. \MP{} is able to integrate text and mathematics, marked up +for use with \TeX{}, within the graphics. (Knuth tells us that he +uses nothing 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 +\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{flatversion} + subscribe via the \acro{TUG} \ProgName{mailman} interface at + \URL{http://lists.tug.org/metapost} +\end{flatversion} +\begin{hyperversion} + subscribe via the % ! line break + \href{http://lists.tug.org/metapost}{\acro{TUG} \ProgName{mailman} interface}. +\end{hyperversion} +The \acro{TUG} website also hosts a % ! line break +\href{http://tug.org/metapost.html}{\MP{} summary page}, and the +\Package{tex-overview} document gives you a lot more detail (and some +explanatory background material). +\begin{ctanrefs} +\item[tex-overview.pdf]\CTANref{tex-overview} +\end{ctanrefs} +\LastEdit{2011-09-01} + +\Question[Q-texthings]{Things with ``\TeX{}'' in the name} + +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 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 +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 +information on \TeX{} and % ! line break +\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)} +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, 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 +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 +standalone executable. The following are some of that macro packages +that you are likely to encounter: +\begin{description} + \item[Plain \TeX{} (executable: \ProgName{tex})] + See + \Qref[questions]{Books on \TeX{} and \plaintex{}}{Q-tex-books}, + \Qref[]{Online introductions: \TeX{}}{Q-man-tex}, + \Qref[]{Should I use Plain \TeX{} or \LaTeX{}?}{Q-plainvltx} and + \Qref[]{Freely available \AllTeX{} books}{Q-ol-books}. + Note that the Plain \TeX{} executable is called \ProgName{tex}; the + base \TeX{} engine is generally provided by a separate executable + such as \ProgName{initex} or as a \texttt{-ini} flag to + \ProgName{tex}. + + \item[\LaTeX{} (executable: \ProgName{latex})] + See + \Qref[questions]{Books on \TeX{} and its relations}{Q-latex-books}, + \Qref[]{\AllTeX{} Tutorials, etc.}{Q-tutorials*}, + \Qref[]{Online introductions: \LaTeX{}}{Q-man-latex} and + \Qref[]{Specialized \AllTeX{} tutorials}{Q-tutbitslatex}. + Note that there have been two major versions of \LaTeX{}: \LaTeXe{} + refers to the current version of \LaTeX{} while \LaTeXo{} is the + long-since-obsolete (since 1994) version (cf.~% + \Qref[question]{What is \LaTeXe{}?}{Q-latex2e} for more information). + + \item[\CONTeXT{} (executable: \ProgName{texmfstart})] + See + \Qref[question]{What is \CONTeXT{}?}{Q-context}. + + \item[Texinfo (executables: \ProgName{tex}, \ProgName{makeinfo})] + See + \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{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 + \begin{quote} + \csx{input}\texttt{ texinfo} + \end{quote} + explicitly load the Texinfo macro package. + + \item[\Eplain{}~--- Extended Plain \TeX{} (executable: \ProgName{eplain})] + See + \Qref[question]{What is \Eplain{}?}{Q-eplain}. +\end{description} + +\paragraph{Modified \ProgName{tex} executables} +The original \ProgName{tex} executable was produced in the late 1970s +(cf.~\Qref[question]{What is \TeX{}?}{Q-whatTeX}) and consequently +lacked some features that users have come to expect from today's +software. The following programs address these issues by augmenting +the \TeX{} engine with some additional useful features: + +\begin{description} + \item[\PDFTeX{} (executable: \ProgName{pdftex})] + \TeX{}, which predates the \acro{PDF} file format by a decade, + outputs files in a \TeX{}-specific format called \acro{DVI} + (cf.~\Qref[question]{What is a \acro{DVI} file?}{Q-dvi}). In + contrast, \PDFTeX{} can output both \acro{DVI} \emph{and} \acro{PDF} + files. In \acro{PDF} mode, it lets documents exploit various + \acro{PDF} features such as hyperlinks, bookmarks, and annotations, + \PDFTeX{} additionally supports two sophisticated micro-typographic + features: character protrusion and font expansion. See + \Qref[question]{What is \PDFTeX{}?}{Q-whatpdftex}. + + \item[\xetex{} (executable: \ProgName{xetex})] + \xetex{} reads \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 arcane, integrated, macro-based + programming language. \LuaTeX{} adds a second programming engine + using a modern scripting language, Lua, which is `embedded' in a + \tex{}-alike engine; it too reads \acro{UTF}-8 and uses TrueType + OpenType fonts. See % ! line break + \Qref[question]{What is \LuaTeX{}?}{Q-luatex}. + + \item[\eTeX{} (executable: \ProgName{etex})] + \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 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. 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} 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{}. \miktex{} is also available as the +basis of the Pro\TeX{}t bundle, distributed on the \texlive{} +\acro{DVD} mailing, as well as being available online. + +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} +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{2011-09-26} + +\Question[Q-ctan]{What is \acro{CTAN}?} + +The acronym stands for ``Comprehensive \tex{} Archive Network'', which +more-or-less specifies what it's \emph{for}: +\begin{itemize} +\item The archives offer a comprehensive collection of \tex{} resources. +\item The content is made publicly accessible, via the internet. +\item \acro{CTAN} is a \emph{network} of archives, which strive to + stay in step with one another. +\end{itemize} +The basic framework was developed by a \acro{TUG} working group set up +to resolve the (then existing) requirement for users to \emph{know} on +which archive site a particular package might be found. + +Actual implementation offers three distinct types of host: +\begin{description} +\item[\emph{Core} archives]Which form a small, tightly-coupled set of + machines, which perform management functions as well as serving + files, and +\item[\emph{Mirror} archives]Which do no more than take regular copies + of core archives. +\item[Archive selector]Which is a meta-service, which routes requests + to an apparently ``local'' mirror (``local'' is determined by an + algorithm that uses your net address to determine where you are, and + then selects a mirror that's close). +\end{description} +Note that there is nothing to prevent any archive from supporting +other functions, so a \acro{CTAN} mirror may also operate as a +\acro{CPAN} (Perl) mirror and as a SourceForge (general free software) +mirror, and \dots{} + +Functions that distinguish core archives are: +\begin{itemize} +\item Uploads: users may submit new (or updated) material via the + \Qref*{upload redirector}{Q-uploads}. Significant changes to the + archive are reported via the mailing list \Email{ctan-ann@dante.de} +\item Weak consistency: changes to the content of the archives are + rapidly distributed to all core archives. (Consistency is `weak' + since changes can take several minutes to propagate.) +\item Providing distribution (\texlive{} and \miktex{}) support. +\item Catalogue maintenance. +\item Mirror monitoring. +\end{itemize} + +Users may make direct contact with the +\begin{flatversion} + \ctan{} management team, via \mailto{ctan@dante.de} +\end{flatversion} +\begin{hyperversion} + \href{mailto:ctan@dante.de}{\ctan{} management team}. +\end{hyperversion} + +Users should ordinarily download material from \acro{CTAN} via the +\href*{http://mirror.ctan.org/}{archive selector}: this uses the +mirror monitor's database, and uses the caller's geographical location to +offer an efficient choice of ``sufficiently up-to-date'' mirror site for +you to connect to. This procedure has the advantage of distributing +the load on \ctan{} mirrors. + +Note that all the download links, given in the web representation of +these \acro{FAQ}s, are set up to use the mirror selector. +\LastEdit{2013-02-20} + +\Question[Q-catalogue]{The (\acro{CTAN}) catalogue} + +Finding stuff on networks was always difficult, but in recent years, +search engines have become amazingly good at digging out unconsidered +trifles from the myriad items of information available on the net. + +Sadly, in the \tex{} context, search engines seem to excel in locating +out-of-date material, while the service users need a means of finding +relevant material on \acro{CTAN}~--- on the grounds that such material +is most likely to be up-to-date. The need to find such items, thus +alleviating tendency to end up with out-of-date \alltex{} material, +was the motivation for developing a specialised information source: +the \acro{CTAN} catalogue. The aim is that they contain enough +relevant information that they will appear early in a search engine's +evaluation. + +The basis of the catalogue is a collection of small +articles; each shows basic information about a package on \acro{CTAN}, +and includes pointers to download address, documentation and related +packages. Every \acro{CTAN} mirror holds a copy of the catalogue, +presented as a series of web pages; indexes (both alphabetic and +category-based) are provided. + +The core \acro{CTAN} sites also offer a simple text search of the +catalogue. This is a tolerable means of finding a package you need, +but it is not really a substitute for a good information retrieval +system: the problem of providing such a system has not yet been solved. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}The CTAN catalogue]\CTANref{Catalogue} +\end{ctanrefs} +\LastEdit*{2011-05-19} + +\Question[Q-triptrap]{How can I be sure it's really \TeX{}?} + +\TeX{} (and \MF{} and \MP{}) are written in a +\begin{flatversion} % really "non-hyper" + `literate' programming language called \ProgName{Web} (\Qref{}{Q-lit}) +\end{flatversion} +\begin{hyperversion} + \Qref{`literate' programming}{Q-lit} language called \ProgName{Web} +\end{hyperversion} +which is designed to be portable across a wide range of computer +systems. How, then, is a new version of \TeX{} checked? + +Of course, any sensible software implementor will have his own suite +of tests to check that his software runs: those who port \TeX{} and +its friends to other platforms do indeed perform such tests. + +Knuth, however, provides a `conformance test' for both \TeX{} +(\Package{trip}) and \MF{} (\Package{trap}). +%%% Is there a similar one for \MP{}? +He characterises these as `torture tests': they are designed not to +check the obvious things that ordinary typeset documents, or font +designs, will exercise, but rather to explore small alleyways off the +main path through the code of \TeX{}. They are, to the casual reader, +pretty incomprehensible! + +Once an implementation of \TeX{} has passed its \Package{trip} test, or +an implementation of \MF{} has passed its \Package{trap} test, then it +may in principle be distributed as a working version. (In practice, +any distributor would test new versions against ``real'' documents or +fonts, too; while \Package{trip} and \Package{trap} test bits of +pathways within the program, they don't actually test for any real +world problem.) +\LastEdit{2011-05-28} + +\Question[Q-y2k]{Are \TeX{} and friends Y2K compliant?} + +\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, + since the only use of the date format file is to produce the log + output, and the log file is designed for human readers only. + + Knuth announced in 1998 that implementors would be permitted + alter this code without fear of being accused of non-compliance. + Nearly all implementations that are being actively maintained had + 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 + means that \TeX{} can, in principle, be implemented on platforms + that don't make the value of the clock available to user programs). + The \emph{\TeX{}book} (see + \Qref[question]{TeX-related books}{Q-tex-books}) defines \csx{year} as + ``the current year of our Lord'', which is the only correct meaning + for \csx{year} for those implementations which can supply a + meaningful value, which is to say nearly all of them. + + In short, \TeX{} implementations should provide a value in \csx{year} + giving the 4-digit year Anno Domini, or the value 1776 if the + platform does not support a date function. + + 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. + +\item[Macros:] \TeX{} macros can in principle perform calculations on + the basis of the value of \csx{year}. + The \Qref*{LaTeX suite}{Q-latex} + performs such calculations in a small number of places; the + calculations performed in the current (supported) version of \LaTeX{} are + 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} +\LastEdit{2011-06-01} + +\Question[Q-etex]{What is \eTeX{}?} + +While Knuth has declared that \TeX{} will never % !line break +\Qref*{change in any substantial way}{Q-TeXfuture}, there remain +things that one might wish had been done differently, or indeed +implemented at all. + +The \acro{NTS} project set out to produce an advanced replacement for +\TeX{}, to provide a basis for developing such modifications: this +``New Typesetting System'' would share Knuth's aims, but would +implement the work in a modern way taking account of the lessons +learned with \TeX{}. While a first demonstrator \acro{NTS} did +appear, it wasn't practically useful, and the project seems no longer +active. + +In parallel with its work on \acro{NTS} itself, the project developed +a set of extensions that can be used with a (``true'') \TeX{} system. +Such a modified system is known as an \eTeX{} system, and the concept +has proved widely successful. Indeed, current \TeX{} distributions +are delivered with most formats built with an \eTeX{}-based system (for +those who don't want them, \eTeX{}'s extensions can be disabled, leaving +a functionally standard \TeX{} system). + +The extensions range from the seemingly simple (increasing the number +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, 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 +work, but not as well as on an \eTeX{} system. The % ! line break +\Qref*{\LaTeX{} team}{Q-LaTeX3} has announced that future \LaTeX{} +packages (specifically those from the team, as opposed to those +individually contributed) may require \eTeX{} for optimum performance. +\begin{ctanrefs} +\item[\eTeX{}]\CTANref{etex} +\end{ctanrefs} +\LastEdit{2011-07-13} + +\Question[Q-whatpdftex]{What is \PDFTeX{}?} + +One can reasonably say that \PDFTeX{} is (today) the main stream of +\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{hyperversion} + \Qref*{\eTeX{}}{Q-etex}). +\end{hyperversion} +\begin{flatversion} + \eTeX{}~--- \Qref{}{Q-etex}). +\end{flatversion} +So what is \PDFTeX{}? + +\PDFTeX{} is a development of \TeX{} that is capable of generating +typeset \acro{PDF} output in place of \acro{DVI}. \PDFTeX{} has +other capabilities, most notably in the area of fine typographic +detail (for example, its support for % ! line break +\begin{hyperversion} + \Qref{optimising line breaks}{Q-overfull}), +\end{hyperversion} +\begin{flatversion} + % ( <- dummy for paren balancing + optimising line breaks~--- \Qref{}{Q-overfull}), +\end{flatversion} +but its greatest impact to date has been in the area of +\acro{PDF} output. + +\PDFTeX{} started as a topic for H\`an \The {} Th\`anh's Master's~thesis, +and seems first to have been published in \TUGboat{} 18(4), in 1997 +(though it was certainly discussed at the \acro{TUG}'96 conference in +Russia). + +While the world was making good use of ``pre-releases'' of \PDFTeX{}, +Th\`anh used it as a test-bed for the micro-typography which was the +prime subject of his Ph.D.~research. Since Th\`anh was finally +awarded his Ph.D., day-to-day maintenance and development of +\PDFTeX{}~1.0 (and later) has been in the hands of a group of +\PDFTeX{} maintainers (which includes Th\`anh); the group has managed +to maintain a stable platform for general use. + +Development of \PDFTeX{} has mostly stopped (only bug fixes, and +occasional small development items are processed): future development +is focused on \Qref*{\LuaTeX{}}{Q-luatex}. +\LastEdit{2011-05-28} + +\Question[Q-latex]{What is \LaTeX{}?} + +\LaTeX{} is a \TeX{} macro package, originally written by Leslie Lamport, that +provides a document processing system. \LaTeX{} allows markup to +describe the structure of a document, so that the user +need not think about presentation. By using document classes and +add-on packages, the same document can be produced in a variety of +different layouts. + +Lamport says that \LaTeX{} +``\emph{represents a balance between functionality and ease of use}''. +This shows itself as a continual conflict that leads to +the need for such things as \acro{FAQ}s: \LaTeX{} \emph{can} +meet most user requirements, but finding out \emph{how} is often +tricky. + +\Question[Q-latex2e]{What is \LaTeXe{}?} + +Lamport's last version of \LaTeX{} (\LaTeXo{}, last updated in 1992) +was superseded in 1994 by a new version (\LaTeXe{}) provided by +\Qref*{the \LaTeX{} team}{Q-LaTeX3}. +\LaTeXe{} is now the only readily-available version of +\LaTeX{}, and draws together several threads of \LaTeX{} development +from the later days of \LaTeXo{}. The ``e'' of the name is (in the +% next (ghastly) line needed to maintain typesetting +\wideonly{\Qref{official logo}{Q-logos}}\narrowonly{official logo~--- \Qref{\relax}{Q-logos}}) +% the \relax allows sanitize to cope with the line. just don't ask... +a single-stroke epsilon +(\latexhtml{\ensuremath{\varepsilon}}{ε}, supposedly +indicative of no more than a small change). + +\LaTeXe{} has several enhancements over \LaTeXo{}, but they were all +rather minor, with a view to continuity and stability rather than the +``big push'' that some had expected from the team. \LaTeXe{} +continues to this day to offer a compatibility mode in which most +files prepared for use with \LaTeXo{} will run (albeit with somewhat +reduced performance, and subject to voluminous complaints in the log +file). Differences between \LaTeXe{} and \LaTeXo{} are +outlined in a series of `guide' files that are available in every +\LaTeX{} distribution (the same directory also contains ``news'' about +each new release of \LaTeXe{}). + +Note that, now, \latexe{} is ``feature frozen'' (the only allowed +changes come from bug reports); this, too, is in pursuit of stability, +and is a driving force for many of the efforts to contribute \latex{} +packages. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\LaTeX{} guides and news]\CTANref{latexdoc} +\end{ctanrefs} +\LastEdit{2011-08-19} + +\Question[Q-latexpronounce]{How should I pronounce ``\LaTeX{}(\twee{})''?} + +Lamport never recommended how one should pronounce \LaTeX{}, but a lot +of people pronounce it `Lay \TeX{}' or perhaps `Lah \TeX{}' (with +\TeX{} pronounced as the program itself; see +\Qref[question]{the rules for TeX}{Q-TeXpronounce}). It is definitely +\emph{not} to be pronounced in the same way as the rubber-tree gum +(which would be `lay teks'). + +The \LaTeXe{} logo is supposed to end with an +\latexhtml{\ensuremath{\varepsilon}}{ε}; nevertheless, most +people pronounce the name as `\LaTeX{}-two-ee'. +\LastEdit{2009-06-08} + +\Question[Q-plainvltx]{Should I use \plaintex{} or \LaTeX{}?} + +There's no straightforward answer to this question. Many people swear +by \plaintex{}, and produce highly respectable documents using it +(Knuth is an example of this, of course). But equally, many people +are happy to let someone else take the design decisions for them, +accepting a small loss of flexibility in exchange for a saving of +(mental) effort. + +The arguments around this topic can provoke huge amounts of noise and +heat, without offering much by way of light; your best bet may be to +find out what those around you are using, and to follow them in the +hope of some support. Later on, you can always switch your +allegiance; don't bother about it. + +If you are preparing a manuscript for a publisher or journal, ask them +what markup they want before you +develop your own; many big publishers have developed their own +\AllTeX{} styles for journals and books, and insist that authors stick +closely to their markup. + +\Question[Q-LaTeXandPlain]{How does \LaTeX{} relate to \plaintex{}?} + +\LaTeX{} is a program written in the programming language \TeX{}. (In +the same sense, any \LaTeX{} document is also a program, which is +designed to run `alongside', or `inside' \LaTeX{}, whichever metaphor +you prefer.) + +\plaintex{} is also a program written in the programming language +\TeX{}. + +Both exist because writing your documents in `raw' \TeX{} would +involve much reinventing of wheels for every document. They both +serve as convenient aids to make document writing more pleasant: +\LaTeX{} is a far more extensive aid. + +\LaTeX{} is close to being a superset of \plaintex{}. Many documents +designed for \plaintex{} will work with \LaTeX{} with no more than +minor modifications (though some will require substantial work). + +Interpretation of any \AllTeX{} program involves some data-driven +elements, and \LaTeX{} has a wider range of such elements than does +\plaintex{}. As a result, the mapping from \LaTeX{} to \plaintex{} +is far less clear than that in the other direction~--- see a later +answer about \Qref*{translating to \plaintex{}}{Q-LaTeXtoPlain}. + +\Question[Q-context]{What is \CONTeXT{}?} + +\href{http://www.pragma-ade.com/}{\CONTeXT{}} is a macro package +developed by Hans Hagen of Pragma-Ade; it started as a production tool +for Pragma (which is a publishing company). \CONTeXT{} is a +document-production system based, like \LaTeX{}, on the \TeX{} +typesetting system. Whereas \LaTeX{} insulates the writer from +typographical details, \CONTeXT{} takes a complementary approach by +providing structured interfaces for handling typography, including +extensive support for colors, backgrounds, hyperlinks, presentations, +figure-text integration, and conditional compilation. It gives the +user extensive control over formatting while making it easy to create +new layouts and styles without learning the \TeX{} macro +language. \CONTeXT{}'s unified design avoids the package clashes that +can happen with \LaTeX{}. + +\CONTeXT{} also integrates MetaFun, a superset of \MP{} and a powerful +system for vector graphics. MetaFun can be used as a stand-alone +system to produce figures, but its strength lies in enhancing +\CONTeXT{} documents with accurate graphic elements. + +\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{} continues to develop, often in +response to requests from the user community. + +\CONTeXT{} has been bound to the development of +\Qref*{\luatex{}}{Q-luatex}, almost from the start of that project. +Nowadays, it is distributed in two versions~--- mark two (files with +extension \extension{mkii} (which runs on \pdftex{} but is not under +active development) and mark four files with extension +\extension{mkiv} (which runs on \luatex{} and is where development +happens). + +\CONTeXT{} has a large developer community (though possibly not as +large as that of latex{}), but those developers who are active seem to have +prodigious energy. Support is available via a % ! line break +\href{http://contextgarden.net}{\acro{WIKI} site} and via the +\href{http://www.ntg.nl/mailman/listinfo/ntg-context}{mailing list}; +a ``standalone'' distribution (a \TeX{} distribution with no macros +other than \context{}-based ones) is available from +\url{http://wiki.contextgarden.net/ConTeXt_Standalone}~--- it provides +a \context{} system on any of a number of platforms, executing either +mark~ii or mark~iv \context{}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\CONTeXT{} distribution]\CTANref{context} +\end{ctanrefs} +\LastEdit{2011-11-02} + +\Question[Q-AMSpkg]{What are the \acro{AMS} packages (\AMSTeX{}, \emph{etc}.)?} + +\AMSTeX{} is a \TeX{} macro package, originally written by Michael Spivak for +the American Mathematical Society (\acro{AMS}) during 1983--1985 and +is described in the book ``\Qref*{The Joy of \TeX{}}{Q-tex-books}''. +It is based on \plaintex{}, and provides many +features for producing more professional-looking maths formulas with +less burden on authors. It pays attention to the finer details of +sizing and positioning that mathematical publishers care about. The +aspects covered include multi-line displayed equations, equation +numbering, ellipsis dots, matrices, double accents, multi-line +subscripts, syntax checking (faster processing on initial +error-checking \TeX{} runs), and other things. + +As \LaTeX{} increased in popularity, authors sought to submit papers to +the \acro{AMS} in \LaTeX{}, so \AMSLaTeX{} was developed. \AMSLaTeX{} +is a collection of \LaTeX{} packages and classes that offer authors most of +the functionality of \AMSTeX{}. +The \acro{AMS} no longer recommends the use of \AMSTeX{}, and urges +its authors to use \AMSLaTeX{} instead. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}\AMSTeX{} distribution]\CTANref{amstex} +\item[\nothtml{\rmfamily}\AMSLaTeX{} distribution]\CTANref{amslatex} +\end{ctanrefs} +\LastEdit{2011-06-01} + +\Question[Q-eplain]{What is \Eplain{}?} + +The \href{http://tug.org/eplain}{\Eplain{}} +macro package expands on and extends the definitions in \plaintex{}. +\Eplain{} is not intended to provide ``generic typesetting +capabilities'', as do \CONTeXT{}, \LaTeX{} or +\Qref*{Texinfo}{Q-texinfo}. Instead, it defines macro tools that +should be useful whatever commands you choose to use when you prepare +your manuscript. + +For example, \Eplain{} does not have a command \csx{section}, +which would format section headings in an ``appropriate'' way, as +\LaTeX{}'s \csx{section} does. The philosophy of \Eplain{} is that +some people will always need or want to go beyond the macro designer's +idea of ``appropriate''. Such canned macros are fine~--- as long as you +are willing to accept the resulting output. If you don't like the +results, or if you are trying to match a different format, you are out +of luck. + +On the other hand, almost everyone would like capabilities such as +cross-referencing by labels, so that you don't have to put actual page +numbers in the manuscript. The authors of \Eplain{} believe it is the +only generally available macro package that does not force its +typographic style on an author, and yet provides these capabilities. + +Another useful feature of \Eplain{} is the ability to create PDF files +with hyperlinks. The cross-referencing macros can implicitly generate +hyperlinks for the cross-references, but you can also create explicit +hyperlinks, both internal (pointing to a destination within the +current document) and external (pointing to another local document or +a URL). + +Several \LaTeX{} packages provide capabilities which \plaintex{} +users are lacking, most notably text colouring and rotation provided by +the \Package{graphics} bundle (packages \Package{color} and +\Package{graphics}). Although the \Package{graphics} bundle provides +a \plaintex{} ``loader'' for some of the packages, it is not a +trivial job to pass options to those packages under \plaintex{}, and +much of the functionality of the packages is accessed through package +options. \Eplain{} extends the loader so that options can be passed +to the packages just as they are in \LaTeX{}. The following packages are +known to work with \Eplain{}: \Package{graphics}, \Package{graphicx}, +\Package{color}, \Package{autopict} (\LaTeX{} picture environment), +\Package{psfrag}, and \Package{url}. + +\href{http://tug.org/docs/html/eplain}{\Eplain{} documentation} is +available online (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-07-13} + +\Question[Q-texinfo]{What is Texinfo?} + +Texinfo is a documentation system that uses one source file to produce +both on-line information and printed output. So instead of writing +two different documents, one for the on-line help and the other for a +typeset manual, you need write only one document source file. When +the work is revised, you need only revise one document. By +convention, Texinfo source file names end with a \extension{texi} or +\extension{texinfo} extension. + +Texinfo is a macro language, somewhat similar to \LaTeX{}, but with +slightly less expressive power. Its appearance is of course rather +similar to any \TeX{}-based macro language, except that its macros +start with \texttt{@} rather than the |\| that's more commonly used in +\TeX{} systems. + +You can write and format Texinfo files into Info files within \acro{GNU} +\ProgName{emacs}, and read them using the \ProgName{emacs} Info +reader. You can also format Texinfo files into Info files using +\ProgName{makeinfo} and read them using \ProgName{info}, so you're not +dependent on \ProgName{emacs}. The distribution includes a +\ProgName{Perl} script, \ProgName{texi2html}, that will convert +Texinfo sources into \acro{HTML}: the language is a far better fit to +\acro{HTML} than is \LaTeX{}, so that the breast-beating agonies of +\Qref*{converting \LaTeX{} to \acro{HTML}}{Q-LaTeX2HTML} are largely +avoided. + +Finally, of course, you can also print the files, or convert them to +\acro{PDF} using \PDFTeX{}. +\begin{ctanrefs} +\item[\nothtml{\rmfamily}Texinfo distribution]\CTANref{texinfo} +\end{ctanrefs} + +\Question[Q-whyfree]{If \TeX{} is so good, how come it's free?} + +It's free because Knuth chose to make it so (he makes money from +royalties on his \TeX{} books, which still sell well). He is nevertheless +apparently happy that others should earn money by selling \TeX{}-based +services and products. While several valuable \TeX{}-related tools and +packages are offered subject to restrictions imposed by the \acro{GNU} +General Public Licence (\acro{GPL}, sometimes referred to as +`Copyleft'), \TeX{} itself is not subject to \acro{GPL}. + +There are commercial versions of \TeX{} available; for some users, +it's reassuring to have paid support. What is more, some of the +commercial implementations +have features that are not available in free versions. (The +reverse is also true: some free implementations have features +not available commercially.) + +This \acro{FAQ} concentrates on `free' distributions of \TeX{}, but we +do at least list the \Qref*{major vendors}{Q-commercial}. +\LastEdit{2011-07-06} + +\Question[Q-TeXfuture]{What is the future of \TeX{}?} + +Knuth has declared that he will do no further development of \TeX{}; +he will continue to fix any bugs that are reported to him (though +bugs are rare). This decision was made soon after +\TeX{} version~3.0 was released; at each bug-fix release +the version number acquires one more digit, so that it tends to the +limit~\ensuremath{\pi} (at the time of writing, Knuth's latest release +is version 3.1415926). Knuth wants \TeX{} to be frozen at +version~\ensuremath{\pi} when he dies; thereafter, no further changes +may be made to Knuth's source. (A similar rule is applied to \MF{}; +its version number tends to the limit~\ensuremath{e}, and currently +stands at 2.718281.) + +Knuth explains his decision, and exhorts us all to respect it, in a +paper originally published in % ! line break +\href{http://tug.org/TUGboat/Articles/tb11-4/tb30knut.pdf}{\TUGboat{} 11(4)}, +and reprinted in the % ! line break +\href{http://www.ntg.nl/maps/pdf/5_34.pdf}{NTG journal MAPS}. + +There are projects (some of them long-term +projects: see, for example, +\Qref[question]{the LaTeX3 project}{Q-LaTeX3}) +%\Qref[and]{and the SGML work}{Q-SGML}) +to build substantial +new macro packages based on \TeX{}. There are also +various projects to build a \emph{successor} to \TeX{}. The +\Qref*{\eTeX{}}{Q-etex} extension to \TeX{} itself arose from such a +project (\acro{NTS}). Another pair of projects, which have delivered +all the results they are likely to deliver, is the related % ! line break +\Qref*{Omega and Aleph}{Q-omegaleph}. The % ! line break +\Qref*{\xetex{} system}{Q-xetex} is in principle still under +development, but is widely used, and the % ! line break +\Qref*{\LuaTeX{} project}{Q-luatex} (though not scheduled to produce +its final product until end 2012) has already delivered a system that +is quite useful. +\LastEdit{2012-10-10} + +\Question[Q-readtex]{Reading \AllTeX{} files} + +So you've been sent a \TeX{} file: what are you going to do with it? + +You can, of course, ``just read it'', since it's a plain text file, +but the markup tags in the document may prove distracting. Most of +the time, even \TeX{} experts will typeset a \TeX{} file before +attempting to read it. + +So, you need to typeset the document. The good news is that \TeX{} +systems are available, free, for most sorts of computer; the bad news +is that you need a pretty complete \TeX{} system even to read a single +file, and complete \TeX{} systems are pretty large. + +\TeX{} is a typesetting system that arose from a publishing project (see +\wideonly{``}\Qref[question]{what is \TeX{}}{Q-whatTeX}\wideonly{''}), +and its basic source is available free from its author. However, at +its root, it is \emph{just} a typesetting engine: even to view or to +print the typeset output, you will need ancillary programs. In short, +you need a \TeX{} \emph{distribution}~--- a collection of +\TeX{}-related programs tailored to your operating system: for details +of the sorts of things that are available, see +% beware line break +\htmlonly{``}\Qref[question]{\TeX{} distributions}{Q-TeXsystems}\htmlonly{''} +or +% beware line break +\htmlonly{``}\Qref[\htmlonly]{commercial \TeX{} distributions}{Q-commercial}\latexhtml{ (for commercial distributions)}{''}. + +But beware~--- \TeX{} makes no attempt to look like the sort of +\WYSIWYG{} system you're probably used to (see +% beware line wrap +\wideonly{``}\Qref[question]{why is \TeX{} not \WYSIWYG{}}{Q-notWYSIWYG}\wideonly{''}): +while many modern versions of \TeX{} have a compile--view cycle that +rivals the best commercial word processors in its responsiveness, what +you type is usually \emph{markup}, which typically defines a logical +(rather than a visual) view of what you want typeset. + +So there's a balance between the simplicity of the original +(marked-up) document, which can more-or-less be read in \emph{any} +editor, and the really rather large investment needed to install a +system to read a document ``as intended''. + +Are you ``put off'' by all this?~--- remember that \tex{} is good at +producing \acro{PDF}: why not ask the person who sent the \tex{} file +to send an \acro{PDF} copy? +\LastEdit{2012-10-10} + +\Question[Q-notWYSIWYG]{Why is \TeX{} not a \WYSIWYG{} system?} + +\WYSIWYG{} is a marketing term (``What you see is what you get'') for +a particular style of text processor. \WYSIWYG{} systems are +characterised by two principal claims: that you type what you want to +print, and that what you see on the screen as you type is a close +approximation to how your text will finally be printed. + +The simple answer to the question is, of course, that \TeX{} was +conceived long before the marketing term, at a time when the marketing +imperative wasn't perceived as significant. However, that was a long +time ago: why has nothing been done with the ``wonder text processor'' +to make it fit with modern perceptions? + +There are two answers to this. First, the simple ``things \emph{have} +been done'' (but they've not taken over the \TeX{} world); and second, +``there are philosophical reasons why the way \TeX{} has developed is +ill-suited to the \WYSIWYG{} style''. +Indeed, there is a fundamental problem with applying \WYSIWYG{} techniques +to \TeX{}: the complexity of \TeX{} makes it hard to get the +equivalent of \TeX{}'s output without actually running \TeX{}. + +A celebrated early system offering ``\WYSIWYG{} using \TeX{}'' came from the +Vor\TeX{} project: a pair of (early) Sun workstations worked in +tandem, one handling the user interface while the other beavered away +in the background typesetting the result. Vor\TeX{} was quite +impressive for its time, but the two workstations combined had hugely less +power than the average sub-thousand dollar Personal Computer +nowadays, and its code has not proved portable (it never even made the +last `great' \TeX{} version change, at the turn of the 1990s, to +\TeX{} version 3). Modern systems that are similar in +their approach are Lightning Textures (an extension of +Blue Sky's original \TeX{} system for the Macintosh), and Scientific +Word (which can also cooperate with a computer algebra system); both +these systems are \Qref*{commercially available}{Q-commercial}. + +The issue has of recent years started to attract attention from \TeX{} +developers, and several interesting projects addressing the +``\Qref*{\TeX{} document preparation environment}{Q-WYGexpts}'' +are in progress. + +Nevertheless, the \TeX{} world has taken a long time to latch onto the +idea of \WYSIWYG{}. +Apart from simple arrogance (``we're better, and have no need to +consider the petty doings of the commercial word processor market''), +there is a real conceptual difference between the word processor model +of the world and the model \LaTeX{} and \CONTeXT{} employ~--- the idea of +``markup''. ``Pure'' markup expresses a logical model of a document, +where every object within the document is labelled according to what +it is rather than how it should appear: appearance is deduced from the +properties of the type of object. Properly applied, markup can +provide valuable assistance when it comes to re-use of documents. + +Established \WYSIWYG{} systems find the expression of this sort of +structured markup difficult; however, markup \emph{is} starting to +appear in the lists of the commercial world's requirements, for two +reasons. First, an element of markup helps impose style on a +document, and commercial users are increasingly obsessed with +uniformity of style; and second, the increasingly pervasive use of +\acro{XML}-derived document archival formats demands it. The same +challenges must needs be addressed by \TeX{}-based document +preparation support schemes, so we are +observing a degree of confluence of the needs of the two communities: +interesting times may be ahead of us. + +\Question[Q-TUG*]{\TeX{} User Groups} + +There has been a \TeX{} User Group since very near the time \TeX{} +first appeared. That first group, \acro{TUG}, is still active and its +journal \textsl{TUGboat} continues in regular publication +with articles about \TeX{}, \MF{} and related technologies, and about +document design, processing and production. \acro{TUG} holds a yearly +conference, whose proceedings are published in \textsl{TUGboat}. + +\acro{TUG}'s \href{http://www.tug.org}{web site} is a valuable +resource for all sorts of +\TeX{}-related matters, such as details of \TeX{} software, and lists +of \TeX{} vendors and \TeX{} consultants. Back articles from +\textsl{TUGboat} are also available. + +Some time ago, \acro{TUG} established a ``technical council'', whose +task was to oversee the development of \TeX{}nical projects. Most +such projects nowadays go on their way without any support from +\acro{TUG}, but \acro{TUG}'s web site lists its +\htmlignore +\ifpdf +\href{http://www.tug.org/twg.html}{Technical Working Groups (\acro{TWG}s)}. +\else +Technical Working Groups (\acro{TWG}s: see +\URL{http://www.tug.org/twg.html}). +\fi +\endhtmlignore +\begin{htmlversion} +\href{http://www.tug.org/twg.html}{Technical Working Groups (\acro{TWG}s)}. +\end{htmlversion} + +\acro{TUG} has a reasonable claim to be considered a world-wide +organisation, but there are many national and regional user groups, +too; \acro{TUG}'s web site maintains a list of +\htmlignore +\ifpdf +\href{http://www.tug.org/lugs.html}{``Local User Groups'' (\acro{LUG}s)}. +\else +``local user groups'' (\acro{LUG}s: see +\URL{http://www.tug.org/lugs.html}). +\fi +\endhtmlignore +\begin{htmlversion} +\href{http://www.tug.org/lugs.html}{``local user groups'' (\acro{LUG}s)}. +\end{htmlversion} + +Contact \acro{TUG} itself via \URL{http://tug.org/contact} +LastEdit{2011-09-19} |