diff options
Diffstat (limited to 'help/uk-tex-faq/faq-backgrnd.tex')
-rw-r--r-- | help/uk-tex-faq/faq-backgrnd.tex | 1220 |
1 files changed, 0 insertions, 1220 deletions
diff --git a/help/uk-tex-faq/faq-backgrnd.tex b/help/uk-tex-faq/faq-backgrnd.tex deleted file mode 100644 index 4b3ed75156..0000000000 --- a/help/uk-tex-faq/faq-backgrnd.tex +++ /dev/null @@ -1,1220 +0,0 @@ -% $Id: faq-backgrnd.tex,v 1.31 2014/01/28 18:17:36 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}{Q-tds} version of the distribution. -\end{hyperversion} -\begin{dviversion} - \acro{TDS} structured version of the distribution (see - \Qref*{\acro{TDS} structure}{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{2013-11-27} - -\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 -vector graphic files instead of run-length-encoded bitmaps; output -formats available are \PS{} or \acro{SVG} -\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{2013-12-10} - -\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; -\item[\emph{Mirror} archives]Which do no more than take regular copies - of core archives, and serve them; and -\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-05-21} - -\Question[Q-catalogue]{The (\acro{CTAN}) catalogue} - -Finding stuff on networks used always to be 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. -However, for the \alltex{} user, confusion is added by the tendency to -index the same file at several \acro{CTAN} mirror sites. - -Further, the \alltex{} user usually needs the most recent version of a -package; it's a rare search result that describes itself as obsolete! - -The \acro{CTAN} catalogue, several years after it was introduced, has -developed into a powerful tool for dealing with these difficulties. -It provides an entry for each package to be found on \acro{CTAN}; -users may search the catalogue for an entry, or they may browse its -contents, using the catalogue's lists of ``categories'' of item. - -The basis of the catalogue is a collection of small, stylised, -articles; each shows basic information about a package on \acro{CTAN}, -and includes pointers to download address (on a \acro{CTAN} mirror), -documentation and home page if any, and related packages. - -The \href{http://www.ctan.org}{\acro{CTAN} central database machine} -offers a ``Browse \acro{CTAN}'' area, with links to the list of -packages, to a list of `topics' (with packages that match each topic), -and to a list of authors (with their packages). - -In addition, every \acro{CTAN} mirror holds a copy of the catalogue, -presented as a series of web pages; one may scan the files in -alphabetic order, or use a category-based index. Such access is not -as ``sophisticated'' as that on the central site, but it served for -years before the central site appeared. -\begin{ctanrefs} -\item[\nothtml{\rmfamily}The CTAN catalogue (on CTAN)]\CTANref{Catalogue} -\end{ctanrefs} -\LastEdit{2014-03-17} - -\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} -% -% withdrawn 2013-05-21 - -\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{}?} - -\tex{} provides a programming language (of sorts), and any document -more complex than the trivial ``hello world'' will need some -programming. - -\LaTeX{} and \plaintex{} are both libraries written for use with -\tex{}; the user commands \ProgName{tex} and \ProgName{latex} invoke -\tex{}-the-program with a library incorporated. Libraries that may be -loaded in this way are known as `\emph{formats}'; when a user ``runs'' -\plaintex{} or \latex{}, they are running \tex{} (the program) with an -appropriate format. The documents are then programmed in \plaintex{} -or \latex{} \emph{language}. - -\plaintex{} and \latex{} exist because writing your documents in `raw' -\TeX{} could involve much reinventing of wheels for every document. -Both languages serve as convenient aids to make document writing more -pleasant: \LaTeX{} provides many more items to support `common' -requirements of documents. - -As such, \LaTeX{} is close to being a superset of \plaintex{}, but -some \plaintex{} commands don't work as expected when used in a -\latex{} document. Using \plaintex{} commands in a \latex{} document -is an occasional source of bugs: the output is \emph{almost} right, -but some things are misplaced. - -So, \plaintex{} and \latex{} are related through a common parent, and -are designed for use in similar jobs; programming for one will often -not work correctly in the other. -\LastEdit{2014-03-18} - -\Question[Q-context]{What is \context{}?} - -\href{http://www.pragma-ade.com/}{\context{}} is a macro package -created 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 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. - -The development of \Qref*{\luatex{}}{Q-luatex} was originally driven -by \context{}, almost from the start of its project. Nowadays, -\context{} 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://wiki.contextgarden.net/Main_Page}{\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://minimals.contextgarden.net/} --- it provides -a \context{} system on any of a number of platforms, executing either -mark~ii or mark~iv \context{}. - -Note that \acro{CTAN} does \emph{not} hold the primary distribution of -\context{}~--- potential users should refer to -\href{http://contextgarden.net}{\context{} `garden' site} for details -of the -current distribution. \acro{CTAN} holds a copy of \CONTeXT{} but -makes no claim about its ``up-to-date''ness. Likewise, \acro{CTAN} -holds a few contributed \context{} packages, but many more are to be -found via the \href{http://contextgarden.net}{\CONTeXT{} garden}. -\begin{ctanrefs} -\item[\nothtml{\rmfamily}\CONTeXT{} distribution]\CTANref{context} -\item[\nothtml{\rmfamily}\CONTeXT{} packages selection]\CTANref{context-contrib} -\end{ctanrefs} -\LastEdit{2014-05-30} - -\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''. Canned sets of 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 may -find that \Eplain{} is for you. - -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{2013-06-25} - -\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-lollipop]{Lollipop} - -A long time ago (in the early 1990s), the Lollipop \tex{} format was -developed (originally to typeset the excellent book % !line break -\Qref{\tex{} by topic}{Q-tex-books}). Several people admired the -format, but no ``critical mass'' of users appeared, that could have -prompted maintenance of the format. - -More than 20 years later, a new maintainer appeared: he hopes to build -Lollipop into an engine for rapid document style development. (In -addition, he intends to add support for right-to-left languages such -as his own~--- Persian.) - -We can only hope that, this time, Lollipop will ``catch on''! -\begin{ctanrefs} -\item[lollipop]\CTANref{lollipop} -\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'), which denies the right to -commercial exploitation. \TeX{} itself is offered under a pretty -permissive licence of Knuth's own. - -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{2013-06-25} - -\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~\emph{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 -for some time) has already delivered a system that increasingly -accessible to ``ordinary users''. -\LastEdit{2013-05-21} - -\Question[Q-readtex]{Reading \AllTeX{} files} - -So you've been sent an \AllTeX{} file: what are you going to do with -it? - -You can, of course, ``just read it'', since it's a plain text file; -the problem is that the markup tags in the document may prove -distracting. Most of the time, even \TeX{} \emph{experts} will -typeset a \AllTeX{} file before attempting to read it\nobreakspace{}\dots{} - -So you shouldn't be too concerned if you can't make head nor tail of -the file: it is designed to be read by a (sort of) compiler, and -compilers don't have much in common with human readers. - -A possible next step is to try an on-line \latex{} editor. There are -many of these~--- a compilation of links may be found in % line break -\href{http://texblog.net/latex-link-archive/online-compiler/}{this blog post} - -Of that long list, the present author has only dabbled with -\href{https://www.writelatex.com/}{Write\latex{}}; it seems well -suited to simple `one-shot' use in this way. - -If no online compiler helps, you need to typeset the document -``yourself''. 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{2014-05-21} - -\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. (In fact, it appears that -the first experimental \WYSIWYG{} systems were running in commercial -labs, near where Knuth was working on \tex{}. At the time, of course, -\tex{} was only available on a mainframe, and getting it to run on the -small experimental machines would have distracted Knuth from his -mission to create a typesetting system that he could use when -preparing his books for publication.) - -However, all 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{} over -the whole of the document being prepared. - -A celebrated early system offering ``\WYSIWYG{} using \TeX{}'' came -from the Vor\TeX{} project: a pair of 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). - -Lightning Textures (an extension of Blue Sky's original \TeX{} system -for the Macintosh), is sadly no longer available. - -Thus``\Qref*{Scientific Word}{Q-commercial}'' (which can also interact -with a computer algebra system), is the only remaining \tex{} system -that even approximates to \WYSIWYG{} operation. - -The issue has of recent years started to attract attention -from \TeX{} developers, and several interesting projects that address -the ``\Qref*{\TeX{} document preparation environment}{Q-WYGexpts}'' -are in progress. - -All the same, it's clear that 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. -\LastEdit{2013-06-03} - -\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 - -\begin{hyperversion} -\href{http://www.tug.org/twg.html}{Technical Working Groups (\acro{TWG}s)}. -\end{hyperversion} -\begin{flatversion} -Technical Working Groups (\acro{TWG}s: see -\URL{http://www.tug.org/twg.html}). -\end{flatversion} - -\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 -\begin{hyperversion} -href{http://www.tug.org/lugs.html}{``Local User Groups'' (\acro{LUG}s)}. -\end{hyperversion} -\begin{flatversion} -``local user groups'' (\acro{LUG}s: see -\URL{http://www.tug.org/lugs.html}). -\end{flatversion} - -Contact \acro{TUG} itself via \URL{http://tug.org/contact} -LastEdit{2013-06-25} |