diff options
author | Karl Berry <karl@freefriends.org> | 2012-09-18 23:41:25 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-09-18 23:41:25 +0000 |
commit | e5b88ab6891e9bb2dc1ac846e942f5bf4e21dfe0 (patch) | |
tree | 733e629c386d2f719993ff0aab7abcf3cd985148 /Master/texmf-dist/doc/latex/tex-overview | |
parent | cf73759c7df7a7750abb011e26039e3b0b2cee5a (diff) |
tex-overview (16sep12)
git-svn-id: svn://tug.org/texlive/trunk@27724 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/tex-overview')
-rw-r--r-- | Master/texmf-dist/doc/latex/tex-overview/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tex-overview/tex-overview-aux.tex | 106 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdf | bin | 225010 -> 261096 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex | 468 |
4 files changed, 415 insertions, 163 deletions
diff --git a/Master/texmf-dist/doc/latex/tex-overview/README b/Master/texmf-dist/doc/latex/tex-overview/README index eb9751dab36..dac82d1fe9f 100644 --- a/Master/texmf-dist/doc/latex/tex-overview/README +++ b/Master/texmf-dist/doc/latex/tex-overview/README @@ -1,4 +1,4 @@ -# TeX-overview +# TeX-overview # This document gives an overview about the developments that followed TeX: its children (new engines that provide more features) and its friends @@ -11,7 +11,7 @@ or you will miss most of the information. Mail me any suggestions and corrections: arno dot trautmann at gmx dot de -# Licence +# Licence # This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or diff --git a/Master/texmf-dist/doc/latex/tex-overview/tex-overview-aux.tex b/Master/texmf-dist/doc/latex/tex-overview/tex-overview-aux.tex index f13cd90e28a..9af03281d34 100644 --- a/Master/texmf-dist/doc/latex/tex-overview/tex-overview-aux.tex +++ b/Master/texmf-dist/doc/latex/tex-overview/tex-overview-aux.tex @@ -1,4 +1,4 @@ -%% This document is part of the document tex-overview. It contains the formatting and definitions for typesetting. Please do *not* consider anything here as an example of good TeX coding style. It is not. +%% This document is part of the document tex-overview. It contains the formatting and definitions for typesetting. Please do *not* consider anything here as an example of good TeX coding style – it's not. %% author: Arno Trautmann % !TeX root = tex-overview.tex @@ -7,15 +7,21 @@ \usepackage[svgnames]{xcolor} \usepackage{ + array, bookmark, + booktabs, cooltooltips, + colortbl, dtklogos, %% for \NTS etc. ⇒ what about metalogo? fontspec, geometry, hyperref, + longtable, + luacode, multicol, microtype, pdftexcmds, + tabu, tikz, xparse } @@ -69,10 +75,12 @@ \tl_set:Nn\histdistro{purple} %% shorthand to keep a good structure of the node positions -\fp_new:N\layer -\fp_new:N\layerdist -\fp_set:Nn\layer{0} -\fp_set:Nn\layerdist{-1} +\fp_new:N\layer_num +\fp_new:N\layerdist_num +\fp_set:Nn\layer_num{0} +\fp_set:Nn\layerdist_num{-1} + +\cs_new:Npn\layer{\fp_use:N\layer_num} %% width of the tooltip-boxes (negative value to make them disappear at all) \dim_set:Nn\fboxrule{-1mm} @@ -90,7 +98,7 @@ \cs_gset:Nn\addtotextviews:f{\tl_gput_right:No\to_textviews{#1}} %% environment to set the graphs -\NewDocumentCommand\tograph{sD(){}+m} +\NewDocumentCommand\tograph{s+D(){}+m} { \IfBooleanT{#1}{ \ExplSyntaxNamesOn @@ -162,10 +170,10 @@ %% a nice way to control the vertical position of nodes \NewDocumentCommand{\setlayer}{m}{ - \fp_set:Nn\layer{#1} + \fp_set:Nn\layer_num{#1} } -\NewDocumentCommand{\steplayer}{O{\layerdist}}{ - \fp_add:Nn\layer{#1} +\NewDocumentCommand{\steplayer}{O{\layerdist_num}}{ + \fp_add:Nn\layer_num{#1} } \NewDocumentCommand\topart{m}{ @@ -203,6 +211,13 @@ \cs_gset_eq:NN\tonodestyle#4 } +%% the sectioning of the names table +\NewDocumentCommand\totablesec{m}{ +~ \\[-2ex] + \rowcolor[gray]{0.9}\hspace*{2em}\Large \strut \large\rmfamily #1 \\ + ~ \\[-2ex] +} + %% a command for creation of bib-items. \NewDocumentCommand\tobibsection{m}{ \subsection*{#1} @@ -211,9 +226,10 @@ \subsection*{#1} } \NewDocumentCommand\tobib{mD<>{}O{}}{ - \vspace*{1.5ex} -\begin{minipage}{\textwidth} %% to prevent page breaks - \large #1\normalsize\\ \hspace*{1em} \parbox{\textwidth-1.5em}{\url{#2} #3} + \medskip +\begin{minipage}{\textwidth} %% to prevent page breaks within bib-items + \large #1\normalsize\\ \hspace*{1em} \parbox{.95\textwidth} +{\url{#2} #3} \end{minipage} } @@ -222,11 +238,69 @@ \AtBeginDocument{ { \centering - \huge\bfseries An overview of \TeX, its children\\ and their friends~\dots\par + \huge\bfseries An overview of \TeX, its children\\ + and their friends~\dots + \vspace*{-.2cm} \flushright\parbox{4cm}{ - \Large \color[rgb]{.4 0 0} Arno Trautmann\\ \fontsize{9.85}{10}\selectfont arno.trautmann@gmx.de + \large \color[rgb]{.4 0 0} Arno Trautmann\\ + \fontsize{8.25}{10}\selectfont arno.trautmann@gmx.de } - \hspace*{2cm}\par + \hspace*{.7cm}\par } \vspace*{1cm} -}
\ No newline at end of file +} + +%% ok, now something just for fun, but I wanted to use this in a "real life" document: +% we first define some Lua functions for drawing and then use them to colorize the corners of the document. +\begin{luacode} +function pdf_print (...) + for _, str in ipairs({...}) do + pdf.print(str .. " ") + end + pdf.print("\string\n") +end + +function move (p) + pdf_print(p[1],p[2],"m") +end + +function line (p) + pdf_print(p[1],p[2],"l") +end + +function curve(p1,p2,p3) + pdf_print(p1[1], p1[2], + p2[1], p2[2], + p3[1], p3[2], "c") +end + +function linewidth (w) + pdf_print(w,"w") +end + +function disturb_point(point,strength) + if strength then else strength = 5 end + return {point[1] + math.random()*2*strength - strength, + point[2] + math.random()*2*strength - strength} +end + +function sloppyline(start,stop) + local start_line = disturb_point(start,10) + local stop_line = disturb_point(stop,10) + move(start) curve(start_line,stop_line,stop) + pdf_print("S") -- stroke +end +\end{luacode} + +\AtBeginShipout{% + \AtBeginShipoutUpperLeft{% + \color[rgb]{.6 0 0} + \luatexlatelua{ + linewidth(40) + sloppyline({-30,-30},{30,30}) + sloppyline({620,-30},{560,30}) + sloppyline({-30,-800},{30,-860}) + sloppyline({620,-800},{560,-860}) + } + }% +} diff --git a/Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdf b/Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdf Binary files differindex c0b4ffea022..0dce2410367 100644 --- a/Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdf +++ b/Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdf diff --git a/Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex b/Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex index 9c74e9cdacf..5a2de1127a3 100644 --- a/Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex +++ b/Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex @@ -1,16 +1,16 @@ -%% Engine needed: LuaTeX ≥ 0.65 +%% Engine needed: LuaTeX ≥ 0.70.1 %% Format needed: LaTeX2ε -%% Packages needed: see list in the -aux.tex file … -%% use an up-to-date TeX live2011 (with tl-contrib updates) +%% use an up-to-date TeX Live2012 (with tl-contrib updates) -% this document has version number 0.1e-ish. +% this document has version number 0.1f-ish. \input{tex-overview-aux} %% everything that is not content-related \begin{document} \savegeometry{normal} \begin{abstract} -{\centering \Large \hyperref[textextview]{Link for the impatient.}\\[2ex]} In the world of \TeX, there are many developments and ambiguous names. This paper tries to give an overview of the development of \TeX\ and related programs. Contributions are very welcome!\footnote{The current source code of this document is availble at \url{http://github.com/alt/tex-overview}. Please feel free to patch there or mail me any suggestions and comments. I'll be happy to extend and correct this document!} + +{\centering \Large \hyperref[textextview]{Link for the impatient.}\\[2ex]} \end{abstract} \section*{Introduction} @@ -26,8 +26,16 @@ In the tree views, every node has a tooltip that shows up when you hover the mou \newpage \tableofcontents +\section{The Difference Between Engine, Format and Distribution} +There are three kinds of terms that are often confused especially by new users. This will try to explain them very shortly: +\begin{description} +\item[engine] This is the program that does all the actual work. The original program is \TeX, a famous development is pdf\TeX, while Lua\TeX\ is the latest successor. +\item[format] A format is a (large) collection of abbreviations (macros) that make the life easy when working with \TeX. The most commonly used formats are \LaTeX, Con\TeX t and plain\TeX. The latter one is a minimal set of macros provided by Don Knuth. Formats can be combined with different engines, exploiting the special abilities of these engines. A format is first a collection of text files, but can be compiled into a binary format that can be read in faster by the engine. +\item[distribution] In addition to formats, a large set of suppelmentary files can be used to work with \TeX, called \emph{packages} for \LaTeX, \emph{modules} for Con\TeX t, and many external programs have proven useful for the work with \TeX. Distributions such as \TeX~Live and MiK\TeX\ strive to provide a full set of such programs and macros by using a package manager to take care of package dependencies and updating. Many Linux distributions, as well as cygwin for Windows, repackage a \TeX\ distribution (mostly \TeX~Live) using the Linux distribution's package system. +\end{description} -\section*{How to read this document} +\newpage +\section{How to read this document} This document consists of several graphs showing the development of software more or less directly related to \TeX. The graphs try to show the time development (downwards), as well as dependencies, changes, etc. I tried to make the graphs more readable by using colors for different categories. The decisions about what is important and what is “normal” reflect my personal opinion only. @@ -57,14 +65,6 @@ Some of the graphs are quite complex, which is the reason why there are two vers In most cases I did not mention the authors of the programs/packages. This is not to diminish their effort but only for brevity (long names make things harder to read). I did not write any of the below-mentioned programs or packages. The authors are given in the documents linked in the references. -\section{The Difference Between Engine, Format and Distribution} -There are three kinds of terms that are often confused especially by new users. This will try to explain them very shortly: -\begin{description} -\item[engine] This is the program that does all the actual work. The original program is \TeX, a famous development is pdf\TeX, while Lua\TeX\ is the latest successor. -\item[format] A format is a (large) collection of abbreviations (macros) that make the life easy when working with \TeX. The most commonly used formats are \LaTeX, Con\TeX t and plain\TeX. The latter one is a minimal set of macros provided by Don Knuth. Formats can be combined with different engines, exploiting the special abilities of these engines. A format is first a collection of text files, but can be compiled into a binary format that can be read in faster by the engine. -\item[distribution] In addition to formats, a large set of suppelmentary files can be used to work with \TeX, called \emph{packages} for \LaTeX, \emph{modules} for Con\TeX t etc. To get all needed files in a convinient way, there are distributions that contain everything and are (or should be) easy to install. Examples are MiKTeX and \TeX~live. -\end{description} - \section{How to contribute} I hope one day this document would become the standard reference for questions like ”What program do I need for …?“, ”What's the difference between …\TeX\ and …\TeX?“, ”Why is it called …?“ etc. @@ -73,26 +73,25 @@ To get to this point, I need some help of people who know more about the \TeX\ w \item font technologies \item METAFONT and succesors \item Bib\TeX\ and successors/alternatives -\item information about e-p\TeX\ and p\BibTeX, as the only documentation I found is japanese. If you know japanese, I'd be happy about a translation! \end{itemize} It is up to you to contribute texts, references, links, descriptions, hints etc. I'll be happy about anything I can add here. Also, if you have suggestions about the layout, let me know. \section{Problems with PDF viewers} -As this document makes heavy use of PDF-features, some PDF viewers are not able to show everything correct and as intended. My experiences with viewers are as follows: +As this document makes heavy use of PDF-features, some PDF viewers are not able to show everything correct and as intended. My experiences with viewers are as follows, where the number is the version which I tested: \begin{description} -\item[evince] Shows the document correct and complete. Tested using Linux. +\item[evince 3.0.2] Shows the document correct and complete. (Tested on Arch Linux) -\item[Acrobat Reader] will show all the information but might hide some text of very long tooltips (at least that's the case on my machine). Also, it draws annoying green boxes around the tooltips which do not belong there. +\item[Adobe Reader 9] will show all the information but might hide some text of very long tooltips (at least that's the case on my machine). Also, it draws annoying green boxes around the tooltips which do not belong there. (Tested on Arch Linux) -\item[TeXworks] The built-in PDF viewer of the TeXworks editor does not break lines of tooltips, therefore long annotations are not shown completely. +\item[\TeX works 0.5 r869] The built-in PDF viewer of the \TeX works editor does not break lines of tooltips, therefore long annotations are not shown completely. (Tested on Arch Linux) -\item[okular] also does not break the lines. +\item[okular 0.13] also does not break the lines. (Tested on Arch Linux) -\item[xpdf] shows only very short tooltips. Most of the information is not visible in the graphs. +\item[xpdf 3.03] shows only very short tooltips. Most of the information is not visible in the graphs. (Tested on Arch Linux) -\item[gv] shows no tooltips, but the annoying green boxes. (Linux) +\item[gv 3.7.2] shows no tooltips, but the annoying green boxes. (Tested on Arch Linux) \end{description} \subsection*{About this document} @@ -115,106 +114,136 @@ This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ fo \tonode[\program](ant)(13,\layer)<Ant is Not TeX. A typesetting system inspired by TeX. Only *inspired*, so it has nothing to do with TeX in terms of common code.>{ANT} \todraw[dotted](tex)(ant) + + \tonode[\program](hex)(0,\layer)<An experimental reimplementation of TeX in Haskell.>{HeX} + \todraw[dotted](tex)(hex) \steplayer[-1.5] - \tonode(tex-xet)(3,\layer)<The first extension to TeX, 1987. It was able to typeset in two directions, but only with a mark in the DVI to change the direction.>{\TeX-\XeT} + \tonode(tex-xet)(4,\layer)<The first extension to TeX, 1987. It was able to typeset in two directions, but only with a mark in the DVI to change the direction.>{\TeX-\XeT} \todraw(tex)(tex-xet) \tonode(nihongo)(10,\layer)<A true multibyte extension of TeX. Could handle all Japanese characters in one font.>{Nihongo \TeX} \todraw(tex)(nihongo) \tonode(jtex)(15,\layer)<An extension of TeX for typesetting Japanese. (1987, Yasuki Saito)>{j\TeX} - \todraw(tex)(jtex) + \todraw(tex)(jtex) - \steplayer[-1.5] - \tonode(ptex)(10,\layer)<Extension of Nihongo TeX to enable vertical typesetting. (“p” for “publishing”) Distributed as WEB change files. Primary author is D. E. Knuth, latest version (TeX live 2011) is pTeX 3.1415926-p3.2.>{p\TeX} - \todraw(nihongo)(ptex) + \steplayer[-2] + + \tonode(tex--xet)(4,\layer)<TeX--XeT was able to really put the glyphs on the right place in the DVI.>{\TeX-{}-\XeT} + \todraw(tex-xet)(tex--xet) - \steplayer[-1.5] - \tonode(tex--xet)(3,\layer)<TeX--XeT was able to really put the glyphs on the right place in the DVI.>{\TeX-{}-\XeT} - \todraw(tex-xet)(tex--xet) - \tonode[\vip](tex3)(7,\layer)<Ability to handle 8-bit input. 1989. TeX development was frozen in 1991 and only bugfixes were made. Now in version 3.1415926, it gets closer to pi with every bugfix. Don Knuth wishes the version number to be pi when he dies.>{\TeX3} - \todraw*(tex)(tex3) + \todraw*(tex)(tex3) - \tonode(eptex)(13,\layer)<No sure information found; a pTeX successor with eTeX extensions? As primary author, D. E. Knuth is given; latest Version (TeXlive 2011) is 3.1415926-p3.2-110415-2.3.>{e-p\TeX} - \todraw(ptex)(eptex) + \steplayer[-1.5] + + \tonode(ptex)(12,\layer)<Extension of Nihongo TeX to enable vertical typesetting. (“p” for “publishing”) Distributed as WEB change files. Primary author is D. E. Knuth, latest version (TeX Live 2012) is pTeX 3.1415926-p3.3.>{p\TeX} + \todraw(nihongo)(ptex) + \todraw(tex3)(ptex) + + \steplayer[-1.5] - \steplayer[-2] \tonode(enctex)(5.9,\layer)<A small extension to TeX, started 1997. Adds 10 new primitives relating input re-encoding>{enc\TeX} \todraw(tex3)(enctex) \tonode(mltex)(8,\layer)<Extension to TeX (started 1990) that allows hyphenation of words with accented letters. (Therefore the name: MultiLingual TeX.) Distributed as a change file to the original WEB sources of TeX.>{ML\TeX} \todraw(tex3)(mltex) - \tonode[\experimental](uptex)(11,\layer)<Unicode-aware version of pTeX. (“Unicode-publishing”-TeX) Also modernized from TeX3.>{up\TeX} - \todraw(tex3)(uptex) - \todraw(ptex)(uptex) - - \steplayer[-2] - \tonode(tex2pdf)(7,\layer)<Early name for pdfTeX. Don't confuse with converters like dvi2pdf.>{\TeX2PDF} - \todraw(enctex)(tex2pdf) - \todraw(mltex)(tex2pdf) - + \tonode[\experimental](uptex)(14,\layer)<Unicode-aware version of pTeX – "Unicode-publishing"-TeX.>{up\TeX} + \todraw(ptex)(uptex) \steplayer[-2] - \tonode(omega)(1,\layer)<Support for 16bit-Unicode-input. Still constrained on the output encoding. Started 1994.>{$\Omega$} - \todraw(tex3)(omega) + + \tonode[\experimental](omega)(1,\layer)<Support for 16bit-Unicode-input. Still constrained on the output encoding. Started 1994.>{$\Omega$} + \todraw(tex3)(omega) \tonode[\vip](etex)(4,\layer)<An extension to TeX, provided by the NTS team as an intermediate project until NTS would be ready. eTex is a full TeX and backward compatible. The number of TeX's registers is increased and various new primitives useful to programmers are added.>{$\varepsilon$-\TeX} - \todraw(tex--xet)(etex) - \todraw'(tex3)(etex) - - \tonode[\vip](pdftex)(7,\layer)<A new engine to directly produce PDF-files from TeX, without the need of DVI-PS-PDF. This allows to use microtypographic extensions and many other features of the PDF format like page transitions etc.>{pdf\TeX} - \todraw(tex2pdf)(pdftex) - \todraw'(tex3)(pdftex) - - \tonode(texgx)(9.5,\layer)<GX stands for Graphic eXtension, a font technology available only on Mac OS. TeXGX was able to handle these fonts.>{\TeX{}gX} - \todraw(tex3)(texgx) + \todraw(tex--xet)(etex) + \todraw'(tex3)(etex) + + \tonode(tex2pdf)(7,\layer)<Early name for pdfTeX. Don't confuse with converters like dvi2pdf.>{\TeX2PDF} + \todraw(enctex)(tex2pdf) + \todraw(mltex)(tex2pdf) \tonode(nts)(12,\layer)<A project to completely reimplement TeX in Java. Now NTS is officially declared dead.>{\NTS} - \todraw(tex3)(nts) - - \steplayer[-2] + \todraw(tex3)(nts) + + \steplayer[-1] + + \tonode(texgx)(10,\layer)<"GX" stands for Graphic eXtension, a font technology available only on Mac OS. TeXGX was able to handle these fonts.>{\TeX{}gX} + \todraw(tex3)(texgx) + + \steplayer[-1] + \tonode[\experimental](omega2)(0,\layer)<A short-time try to pick up the development of Omega again in 2006. Seemed more like a good plan and is now regarded as obsolete. LuaTeX is kind of a successor.>{$\Omega_2$} - \todraw(omega)(omega2) + \todraw(omega)(omega2) \tonode[\experimental](vtex)(3.6,\layer)<VTeX (VisualTeX) can produce PDF, HTML, SVG, DVI or ps output directly from input. In contrast to pdfTeX, it includes a full PostScript interpreter, thus capable to include EPS figures, PStricks etc. First official version I found: February 15, 1999: VTeX 6.3; last official version seems to be from Oct 1, 2005: VTeX 8.61. Commercial product.>{V\TeX} - \todraw(etex)(vtex) - - \steplayer[-2] - \tonode[\experimental](aleph)(1,\layer)<Originally named epsilon-Omega, an attempt to stabilize Omega while merging epsilon extensions. Authors: John Plaice and Yannis Haralambous, now maintained for severe bugfixes by Taco Hoekwater.>{$\aleph$ (Aleph)} - \todraw(omega)(aleph) - \todraw(etex)(aleph) + \todraw(etex)(vtex) + + \steplayer[-1] + + \tonode(eptex)(13.7,\layer)<A merge of e-TeX with pTeX written by Hironori Kitagawa. Additional support for 256 math fonts, and some pdfTeX functionality. Latest Version (TeX Live 2012) is 3.1415926-p3.3-110825-2.4.>{ε-p\TeX} + \todraw(ptex)(eptex) + \todraw(etex)(eptex) + + \steplayer[-1.5] + + \tonode(euptex)(15.2,\layer)<>{ε-up\TeX} + \todraw(etex)(euptex) + \todraw(uptex)(euptex) + + \steplayer[-.5] + + \tonode(aleph)(1,\layer)<Originally named epsilon-Omega, an attempt to stabilize Omega while merging epsilon extensions. Authors: John Plaice and Yannis Haralambous, now maintained for severe bugfixes by Taco Hoekwater. Latest version number is 3.1415926-1.15-2.1-0.0-rc4.>{$\aleph$ (Aleph)} + \todraw(omega)(aleph) + \todraw(etex)(aleph) - \tonode[\vip](XeTeX)(8,\layer)<This extension enables full multilingual support for left-to-right typesetting, right-to-left and almost any other possible direction. Unicode encoding is fully supported (utf8 as native encoding). XeTeX also features support for OpenType, AAT, TrueType and Graphite-fonts (via the operation system). In contrary to pdfTeX or LuaTeX, no external configuration file is needed to use fonts. In newest versions, character protrusion is possible.>{\XeTeX} - \todraw(texgx)(XeTeX) - \todraw*(etex)(XeTeX) + \tonode[\vip](pdftex)(7,\layer)<A new engine to directly produce PDF-files from TeX, without the need of DVI-PS-PDF. This allows to use microtypographic extensions and many other features of the PDF format like page transitions etc.>{pdf\TeX} + \todraw(tex2pdf)(pdftex) + \todraw'(tex3)(pdftex) + \steplayer[-1] + \tonode[\experimental](extex)(12,\layer)<Planned implementation of a high-quality typesetting system, written in Java. Based on experiences in NTS, eTeX, pdfTeX and Omega. Started in 2003, current version in repository is 0.0. (i. e. not very far ...)>{$\epsilon\chi$\TeX} - \todraw(nts)(extex) - \todraw(omega)(extex) - \todraw(etex)(extex) - \todraw(pdftex)(extex) + \todraw(nts)(extex) + \todraw(omega)(extex) + \todraw(etex)(extex) + \todraw(pdftex)(extex) + + \steplayer[-1] - \tonode[\vip](pdfetex)(5,\layer)<Merging the pdfTeX engine with the eTeX-extensions. This engine can produce DVI (with or without the eTeX-extensions) as well as PDF (again, with or without extensions).>{pdf($\epsilon$)-\TeX} - \todraw*(etex)(pdfetex) - \todraw*(pdftex)(pdfetex) + \tonode[\vip](pdfetex)(6,\layer)<Merging the pdfTeX engine with the eTeX-extensions. This engine can produce DVI (with or without the eTeX-extensions) as well as PDF (again, with or without extensions).>{pdf($\epsilon$)-\TeX} + \todraw*(etex)(pdfetex) + \todraw*(pdftex)(pdfetex) + + \tonode[\vip](XeTeX)(10,\layer)<This extension enables full multilingual support for left-to-right typesetting, right-to-left and almost any other possible direction. Unicode encoding is fully supported (utf8 as native encoding). XeTeX also features support for OpenType, AAT, TrueType and Graphite-fonts (via the operation system). In contrary to pdfTeX or LuaTeX, no external configuration file is needed to use fonts. Since version 3.1415926-2.2-0.9997.4, code from pdf(e)TeX for margin kerning has been added.>{\XeTeX} + \todraw(texgx)(XeTeX) + \todraw*(etex)(XeTeX) + \todraw'(pdfetex)(XeTeX) \steplayer[-2] - \tonode[\experimental](eetex)(6,\layer)<Experimental extension to pdfeTeX by Taco Hoekwater, created 2000. Distributed as change file. Now dead due to his development of LuaTeX.>{ee\TeX} - \todraw(pdfetex)(eetex) + + \tonode[\experimental](eetex)(8,\layer)<Experimental extension to pdfeTeX by Taco Hoekwater, created 2000. Distributed as change file. Now dead due to his development of LuaTeX.>{ee\TeX} + \todraw(pdfetex)(eetex) - \steplayer[-2] + \steplayer[-1] + \tonode[\program](lua)(0,\layer)<A script language; has nothing to do with TeX.>{Lua} - \tonode[\vip](luatex)(4,\layer)<LuaTeX supports utf8, OpenType and many more things. TeX live 2011 ships version 0.70.1. LuaTeX features an embedded scripting language, Lua, making it easy to extend and to change the TeX interna, so most of the programming can be done in Lua instead of TeX-hackery.>{Lua\TeX} - \todraw(aleph)(luatex) - \todraw*(pdfetex)(luatex) - \todraw[dashed](lua)(luatex) + \tonode[\vip](luatex)(4,\layer)<LuaTeX supports utf8, OpenType and many more things. TeX Live 2012 ships version 0.70.2. LuaTeX features an embedded scripting language, Lua, making it easy to extend and to change the TeX interna, so most of the programming can be done in Lua instead of TeX-hackery.>{Lua\TeX} + \todraw(aleph)(luatex) + \todraw*(pdfetex)(luatex) + \todraw[dashed](lua)(luatex) - \steplayer[-2] - \tonode[\experimental](itex)(7,\layer)<iTeX is the official successor of TeX3, announced by Don Knuth at the TUG conference 2010.>{i\TeX} + \steplayer[-3] + \tonode[\experimental](itex)(7,\layer)<iTeX is the official successor of TeX3, announced by Don Knuth at the TUG conference 2010. Not to be confused with William Cheswick's application for the iPad.>{i\TeX} } +\vfill + +{\flushleft The chronological order may not be exact in this graph. I have to work hard on the arrangement to show both chronological order and code dependence, and for now only the code dependence is (should be) correct. + +} \clearpage @@ -223,9 +252,13 @@ This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ fo \tonode(plaintex)(0,\layer)<The basic format offered by Don Knuth to provide a minimal set of macros to work with.>{plain\TeX} \steplayer[-2] - \tonode(ecplain)(-2,\layer)<A plainTeX using EC fonts. Latest changes in May 2002 for pdfTeX.>{ec-plain} - \tonode(eplain)(2,\layer)<Extensions of plainTeX to provide often-used utilities. Not thought for document preparation as LaTex is. First version that is still available is 2.1 from 1992. Latest version 3.4 is from 2 2010 and based on pdfTeX.>{eplain} + \tonode[\experimental](ecplain)(-2,\layer)<A plainTeX using EC fonts. Latest changes in May 2002 for pdfTeX.>{ec-plain} + \tonode[\experimental](csplain)(2,\layer)<A plainTeX using cs-fonts.>{csplain} \todraw(plaintex)(ecplain) + \todraw(plaintex)(csplain) + +\steplayer[-2] + \tonode[\experimental](eplain)(0,\layer)<Extensions of plainTeX to provide often-used utilities. Not thought for document preparation as LaTex is. First version that is still available is 2.1 from 1992. Latest version 3.4 is from 2 2010 and based on pdfTeX.>{eplain} \todraw(plaintex)(eplain) } \clearpage @@ -266,7 +299,7 @@ This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ fo \todraw(latex209)(amslatex11) \steplayer[-1.7] - \tonode[\vip](latex2ε)(0,\layer)<June 1994: New release of LaTeX to avoid incompatible dialects of LaTeX 2.09. Introduced by the LaTeX3-Team.>{\LaTeX\,2\raisebox{-.5ex}ε} + \tonode[\vip](latex2ε)(0,\layer)<June 1994: New release of LaTeX to avoid incompatible dialects of LaTeX 2.09. Introduced by the LaTeX3-Team. This is the latest stable version of LaTeX at the moment. Support for pdfTeX, XeTeX and LuaTeX is give, where small changes allow for the special abilities of the engines. Most adaption to the engines is done on package level (fonts, encodings etc.)>{\LaTeX\,2\raisebox{-.5ex}ε} \todraw*(latex209)(latex2ε) \todraw[dashed](slitex)(latex2ε) \todraw[dashed](amslatex11)(latex2ε) @@ -286,21 +319,13 @@ This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ fo \todraw(latex2ε)(alatex) \steplayer[-1.5] - \tonode(amslatex21)(8,\layer)<Latest AMSLaTeX version is 2.2 from 2001. Intermedita versions are not shown.>{\AMS\LaTeX 2.2} + \tonode(amslatex21)(8,\layer)<Latest AMSLaTeX version is 2.2 from 2001. Intermediate versions are not shown.>{\AMS\LaTeX 2.2} \todraw(amslatex12)(amslatex21) \steplayer[-1.5] - \tonode[\vip](pdflatex)(2,\layer)<The “standard LaTeX”. If anyone talks about “LaTeX” it is nearly sure to be this package. pdfLaTeX2e produces PDF or DVI output.>{pdf\LaTeX} - \todraw*(latex2ε)(pdflatex) - - \tonode[\vip](xelatex)(5,\layer)<Using the XeTeX engine. There are some special packages that provide easy access to the modern features of XeTeX.>{\XeLaTeX} - \todraw*(latex2ε)(xelatex) - \tonode(platex)(-4.6,\layer)<A LaTeX based format for the pTeX engine.>{p\LaTeX} \todraw(latex2ε)(platex) - \tonode[\vip](lualatex)(-1.8,\layer)<LaTeX based on LuaTeX with PDF (standard) or DVI (dvilualatex) output. LaTeX support for LuaTeX is under heavy development to make this machine usable with the format. Work in progress, but already well useable! (This document is processed with LuaLaTeX2e.)>{Lua\LaTeX} - \todraw*(latex2ε)(lualatex) \steplayer[-1.5] \tonode[\package](expl3)(1.5,\layer)<The expl3 bundle is the ground stock of LaTeX3. It is a bundle of packages that can be used with LaTeX2e, but are planned to become the kernel of LaTeX3. They provide the low-levle structures, programming structures and everything needed for package authors.>{expl3} @@ -339,20 +364,20 @@ This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ fo \todraw(inrstex)(pragmatex) \steplayer[-2] - \tonode(mki)(0,\layer)<Original ConTeXt with Dutch low level interface.>{\ConTeXt MkI} - \todraw(mki)(pragmatex) + \tonode(MKi)(0,\layer)<Original ConTeXt with Dutch low level interface. "MK" stands for "Mark", meaning "version".>{\ConTeXt\ MKI} + \todraw(MKi)(pragmatex) \steplayer[-2] - \tonode[\vip](mkii)(0,\layer)<ConTeXt with English low level interface. Works with any TeX-engine, as LaTeX does: TeX, e-TeX, pdfTeX, Aleph, XeTeX, ...>{\ConTeXt MkII} - \todraw(mki)(mkii) + \tonode[\vip](MKii)(0,\layer)<ConTeXt with English low level interface. Works with any TeX-engine, as LaTeX does: TeX, e-TeX, pdfTeX, Aleph, XeTeX, .... For the end user, no difference to MKI.>{\ConTeXt\ MKII} + \todraw(MKi)(MKii) \steplayer[-2] - \tonode(mkiii)(4,\layer)<Reserved for future use for files supporting XeTeX. Was “skipped” for “practical reasons” (Hans Hagen)>{\ConTeXt\ MkIII} - \todraw(mkii)(mkiii) + \tonode[\vip](MKiv)(0,\layer)<Specially designed for LuaTeX. MKIII was “skipped” for “practical reasons”, as Hans Hagens says, and “MKii, MKvi, MKvi all have 4 chars (which is why I skipped the v, but who knows if MKv will show up some day”)>{\ConTeXt\ MKIV} + \todraw*(MKii)(MKiv) \steplayer[-2] - - \tonode[\vip](mkiv)(0,\layer)<Specially designed for LuaTeX.>{\ConTeXt MkIV} - \todraw*(mkii)(mkiv) + + \tonode[\experimental](MKvi)(0,\layer)<Latest experimental version of ConTeXt.>{\ConTeXt\ MKVI} + \todraw(MKiv)(MKvi) } %% go on with the rare formats @@ -360,7 +385,7 @@ This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ fo %%%% formats %%%% \tostruct[Other Formats]{Other Formats} %%% AMSTeX %%% -\tograph(\tostruct(1)[\AMS-\TeX]{\AMS-\TeX}){ +\tograph(\tostruct(1)[\texorpdfstring{\AMS}{AMS}-\TeX]{\AMS-\TeX}){ \tonode(amstex20)(0,\layer)<A macro package provided by the American Mathematical Society. Version 2.0 from 1990. No information found for versions pre-2.0.>{\AMS-\TeX 2.0} \steplayer[-1] @@ -389,7 +414,7 @@ This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ fo %%% JadeTeX %%% \tograph(\tostruct(1)[Jade\TeX]{Jade\TeX}){ - \tonode(jadetex)(0,0)<A macro package for processing Jade/OpenJade output.>{Jade\TeX} + \tonode(jadetex)(0,0)<A macro package for processing Jade/OpenJade output, based on LaTeX.>{Jade\TeX} } %%% Lollipop %%% @@ -404,6 +429,11 @@ This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ fo \tonode(macrotex)(0,0)<Information needed.>{Macro\TeX} } +%%% MEX %%% +\tograph(\tostruct(1)[MeX]{MeX}){ + \tonode(mex)(0,0)<Information needed. There seems to be different formats that use the pdfTeX engine: mex, pdfmex, htmex and utf8mex.>{MeX} +} + %%% PHYS(E) %%% \tograph(\tostruct(1)[PHYS(E)]{PHYS(E)}){ \tonode(physe)(0,0)<Documentation says: “The TeX formats PHYSE and PHYS are extensions of the PLAIN format @@ -425,6 +455,11 @@ and should simplify the writing of physics papers.” Latest version I found is \tonode(texinfo)(0,0)<The official documentation format of the GNU project. Uses TeX to provide documentations.>{Texinfo} } +%%% TeXsis %%% +\tograph(\tostruct(1)[TeXsis]{\TeX sis}[\normalimportant]){ + \tonode(texsis)(0,0)<A plainTeX-based format for physicists. Latest version is 2.18 from 21 April 2001.>{\TeX sis} +} + %%% XMLTeX %%% \tograph(\tostruct(1)[XML\TeX]{XML\TeX}){ \tonode(xmltex)(0,\layer)<A format (based on machines like pdfTeX, XeTeX and maybe LuaTeX) that converts XML input to DVI or PDF output. Can also be based on other formats when parsed at format-building time.>{XML\TeX} @@ -450,10 +485,10 @@ This section will feature the main distributions of \TeX\ and related programs. } \ExplSyntaxOn -\fp_gset:Nn\layerdist{-1.5} +\fp_gset:Nn\layerdist_num{-1.5} \ExplSyntaxOff -\tograph(\tostruct(1)[\TeX\ live]{\TeX\ live}){ +\tograph(\tostruct(1)[\TeX\ Live]{\TeX\ Live}){ \tonode(web2c)(0,\layer)<An Implementation and Distribution of TeX which translates the original WEB sources to a C code.>{Web2C} \steplayer %% PCTeX? (Breitenloher) [need more information] @@ -471,43 +506,53 @@ This section will feature the main distributions of \TeX\ and related programs. \tonode(fptex)(3,\layer)<A free TeX distribution for Win32 based on teTeX, by Fabrice Popineau. Still active, provides up-to-date binaries for Windows. Special support for Japanese Typesetting.>{fp\TeX} \todraw(fptex)(tetex) + + \tonode(gnutex)(3,\layer)<A temporary attempt to distribute TeX and related programs according to the GPL. Not a change of teTeX, but a new approach inspired by teTeX. As most (La)TeX packages are not GPL compatible, it was quite "crippled" and never made it into the real world.>{GNU\TeX\ 0.x} + \todraw(gnutex)(tetex) + \steplayer[-2.5] \tonode[\histdistro](xemtex)(4,\layer)<A TeX distribution for Windows, based on fpTeX with XEmacs/AucTeX as IDE for (La)TeX. XemTeX was sponsored by the French government.>{XEm\TeX} \todraw(xemtex)(fptex) - \tonode[\histdistro](tlpre2008)(0,\layer)<First version 1996 (UNIX only, later also Windows binaries), and then a long story of ongoing work – see the documentation for a detailed history. Some of the binaries (still) identify themselfes as *TeXk. The “k” stands for “Karl” meaning that they were compiled with kpathsea.>{\TeX\ live 1996\,–\,2007} + \tonode[\histdistro](tlpre2008)(0,\layer)<First version 1996 (UNIX only, later also Windows binaries), and then a long story of ongoing work – see the documentation for a detailed history. Some of the binaries (still) identify themselfes as *TeXk. The “k” stands for “Karl” meaning that they were compiled with kpathsea.>{\TeX\ Live 1996\,–\,2007} \todraw(tetex)(tlpre2008) \todraw(4alltexcd)(tlpre2008) \todraw.(web2c)(tlpre2008) \steplayer - \tonode(tl2008)(0,\layer)<A new package manager and network installer are available. So installation via the net is possible as well as package updates. Missing packages are not installed on-the-fly. The last of the modern machines is added: LuaTeX>{\TeX\ live2008} + \tonode(tl2008)(0,\layer)<A new package manager and network installer are available. So installation via the net is possible as well as package updates. Missing packages are not installed on-the-fly. The last of the modern machines is added: LuaTeX>{\TeX\ Live 2008} \todraw.(tl2008)(tlpre2008) - \tonode[\histdistro](gwtex)(5,\layer)<A (re)distribution for Mac OS based on TeX live (earlier on teTeX) by Gerben Wierda. Provides TeX-related packages for the i-Installer. Unsupported from 2007 on.>{gw\TeX} + \tonode[\histdistro](gwtex)(5,\layer)<A (re)distribution for Mac OS based on TeX Live (earlier on teTeX) by Gerben Wierda. Provides TeX-related packages for the i-Installer. Unsupported from 2007 on.>{gw\TeX} \todraw(tlpre2008)(gwtex) \steplayer - \tonode(tl2009)(0,\layer)<Dropped Omega and Lambda. Aleph and Lamed are kept.>{\TeX\ live2009} + \tonode(tl2009)(0,\layer)<Dropped Omega and Lambda. Aleph and Lamed are kept.>{\TeX\ Live 2009} \todraw(tl2009)(tl2008) \steplayer - \tonode(tl2010)(0,\layer)<Release of 2010.>{\TeX\ live2010} + \tonode(tl2010)(0,\layer)<Release of 2010.>{\TeX\ Live 2010} \todraw(tl2010)(tl2009) - \tonode(tlcontrib)(-5,\layer)<An extension to TeX live that contains packages that TeX live cannot hold because: not-free lizence, binary update, not on CTAN or intermediate release. Useable via the TeX live manager.>{TLContrib} + \tonode(tlcontrib)(-5,\layer)<An extension to TeX Live that contains packages that TeX Live cannot hold because: not-free lizence, binary update, not on CTAN or intermediate release. Useable via the TeX Live manager. Latest version can handle several TL sources.>{TLContrib} \todraw.(tl2010)(tlcontrib) \steplayer - \tonode(tl2011)(0,\layer)<Latest release of TeX live, available since July 2011.>{\TeX\ live2011} + \tonode(tl2011)(0,\layer)<2011 release of TeX Live.>{\TeX~Live 2011} \todraw(tl2011)(tl2010) \todraw.(tl2011)(tlcontrib) - \tonode(mactex)(5,\layer)<Once based on teTeX, MacTeX is now TeX live-based. For Mac OS X only, it provides a native installer, the TeXShop editor and Mac-specific tools.>{Mac\TeX} - \todraw(tl2011)(mactex) + \steplayer + + \tonode(tl2012)(0,\layer)<Latest release of TeX Live for 2012.>{\TeX~Live 2012} + \todraw(tl2012)(tl2011) + \todraw.(tl2012)(tlcontrib) + + \tonode(mactex)(5,\layer)<Once based on teTeX, MacTeX is now TeX Live-based. For Mac OS X only, it provides a native installer, the TeXShop editor and Mac-specific tools.>{Mac\TeX} + \todraw(tl2012)(mactex) } \tograph(\tostruct(1)[MiK\TeX]{MiK\TeX}){ @@ -526,7 +571,7 @@ This section will feature the main distributions of \TeX\ and related programs. \todraw(mt28)(mt27) \steplayer - \tonode(mt29)(0,\layer)<Windows only (stable version). Beta version for GNU/Linux available. Featuring XeTeX 0.9997.4, pdftex 1.40.11, LuaTeX 0.60.2, mpost 1.211. Offers both LaTeX and ConTeXt (Mk IV) formats.>{MiK\TeX\ 2.9} + \tonode(mt29)(0,\layer)<Windows only (stable version). Beta version for GNU/Linux available. Featuring XeTeX 0.9997.4, pdftex 1.40.11, LuaTeX 0.60.2, mpost 1.211. Offers both LaTeX and ConTeXt (MK IV) formats.>{MiK\TeX\ 2.9} \todraw(mt29)(mt28) \steplayer @@ -535,15 +580,16 @@ This section will feature the main distributions of \TeX\ and related programs. } \tograph(\tostruct(1)[\TeX\ collection]{\TeX\ collection}){ - \tonode(texcollection)(0,\layer)<A meta-distribution. Provided on DVD by the TUG, this distribution ships with TeX live, MacTeX and ProTeX as well as with a full CTAN snapshot.>{\TeX\ Collection} + \tonode(texcollection)(0,\layer)<A meta-distribution. Provided on DVD by the TUG, this distribution ships with TeX Live, MacTeX and ProTeX as well as with a full CTAN snapshot.>{\TeX\ Collection} } -\tograph(\tostruct(1)[Con\TeX t minimals]{Con\TeX t minimals}){ - \tonode(minimals)(0,\layer)<ConTeXt minimals provides a distribution of latest (beta and stable) ConTeXt versions with binaries and formats. Efficient upgrading is possible as well as parallel use with another TeX distribution.>{Con\TeX t minimals} - \steplayer - \tonode(standalone)(0,\layer)<Renaming of minimals in 2011.>{Con\TeX t standalone} - \todraw(minimals)(standalone) +\tograph(\tostruct(1)[standalone Con\TeX t]{standalone Con\TeX t}){ + \tonode(minimals)(-3,\layer)<standalone ConTeXt provides a distribution of latest (beta and stable) ConTeXt versions with binaries and formats. Efficient upgrading is possible as well as parallel use with another TeX distribution. Was renamed from “minimals” into standalone in 2011.>{Standalone} +} + +\tograph(\tostruct(1)[Ker\TeX]{Ker\TeX}){ + \tonode(kertex)(0,\layer)<A lightweight TeX distribution including all of Don Knuth's programs and fonts, dvips, MetaPost, bibtex and more. It is pure C89 and under a BSD like license.>{Ker\TeX} } \tograph(\tostruct(1)[W32\TeX]{W32\TeX}){ @@ -585,22 +631,35 @@ The following pages will be a hodge-podge of many things that are related to \Te \tonode(metafont)(0,\layer)<The program for creating the fonts originally used by TeX.>{METAFONT} \steplayer - \tonode(metafog)(3,\layer)<A program to convert metafont shapes to Type1 contours. Uses mathematically correct transformations instead of autotracing.>{Metafog} + \tonode(metafog)(4,\layer)<A program to convert metafont shapes to Type1 contours. Uses mathematically correct transformations instead of autotracing.>{Metafog} \todraw(metafog)(metafont) - \tonode(metatype1)(-3,\layer)<A program to produce Type1 fonts from metafont source code.>{MetaType1} + \tonode(metatype1)(-4,\layer)<A program to produce Type1 fonts from METAFONT source code.>{MetaType1} \todraw(metatype1)(metafont) + \steplayer[-1] \tonode(metapost)(0,\layer)<A graphic generating program written by John Hobby, inspired by METAFONT. MetaPost can produce PostScript graphics as well as SVG. Latest (experimental) version is 1.750 as of spring 2011.>{MetaPost} \todraw(metapost)(metafont) - \steplayer[-3] + \steplayer[-1] + + \tonode[\normalimportant](mptopdf)(-4,\layer)<Actually a pdfTeX-generated format, this program can be used to compile MetaPost source code directly into PDF output. Metafun is supported, too.>{mptopdf} + \todraw.(metapost)(mptopdf) + + \tonode[\experimental](mflua)(4,\layer)<A (so far) experimental implementation of METAFONT with Lua embedded for better extraction of information from METAFONT.>{MFLua} + \todraw(mflua)(metafont) + \steplayer[-2] + + \tonode[\normalimportant](metappeal)(4,\layer)<"Metappeal is an extension to Plain MetaPost, providing a lightweight framework +for consistent development in MetaPost.">{Metappeal} + \todraw(metappeal)(metapost) + \steplayer[-1] \tonode[\experimental](megapost)(0,\layer)<A planned extension of MetaPost “that will extend the range and precision of the internal data types.”>{MegaPost} \todraw(metapost)(megapost) + \steplayer[-1] - \tonode[\normalimportant]%% to indicate that it is a format rather than a program … - (metafun)(3,\layer)<“MetaFun is Hans Hagen's extension to (or module for) the MetaPost language.” A format for MetaPost that is useable with ConTeXt.>{MetaFun} + \tonode[\normalimportant](metafun)(3,\layer)<“MetaFun is Hans Hagen's extension to (or module for) the MetaPost language.” A format for MetaPost that is useable with ConTeXt.>{MetaFun} \todraw(metafun)(metapost) } @@ -613,37 +672,46 @@ and precision of the internal data types.”>{MegaPost} \todraw(nbibtex)(bibtex) \steplayer[-0.5] - \tonode(bibtex8)(0,\layer)<The documentation says: “An 8-bit Implementation of BibTeX 0.99 with a Very Large Capacity”>{\BibTeX8} + \tonode(bibtex8)(0,\layer)<The documentation says: "An 8-bit Implementation of BibTeX 0.99 with a Very Large Capacity">{\BibTeX8} \todraw(bibtex8)(bibtex) - \tonode(mlbibtex)(-4,\layer)<Mentioned in the kpathsea-manual. No idea what it is – BibTeX for MLTeX?>{MlBibTeX} + \tonode(mlbibtex)(-4,\layer)<Mentioned in the kpathsea-manual. No idea what it is. BibTeX for MLTeX?>{MlBibTeX} \todraw(mlbibtex)(bibtex) \steplayer \tonode(bibtexu)(0,\layer)<A Unicode-aware version of BibTeX>{\BibTeX u} \todraw(bibtex8)(bibtexu) - \tonode(pbibtex)(-4,\layer)<No sure information found; a BibTeX-successor for pTeX?>{p\BibTeX} - \todraw(bibtex8)(pbibtex) + \tonode(jbibtex)(-4,\layer)<jBibTeX was developed by Shoichi Matsui around 1988. It is included in the p\TeX\ distribution since 1995.>{j\BibTeX} + \todraw(bibtex8)(jbibtex) \tonode(pybtex)(3,\layer)<A python implementation of BibTeX.>{Pybtex} \todraw(pybtex)(bibtexu) \steplayer + + \tonode(pbibtex)(-4,\layer)<Kind of a successor of jBibTeX, pBibTeX is a Japanese-aware version of BibTeX supporting Japanese bibliography lists. Special support for Japanese (input/output) encodings and punctiation.>{p\BibTeX} + \todraw(jbibtex)(pbibtex) + \steplayer + + \tonode(upbibtex)(-6,\layer)<Can be found in the development repositories, but no documentation found.>{up\BibTeX} + \todraw(pbibtex)(upbibtex) + \steplayer \tonode(biber)(0,\layer)<A perl implementation of a BibTeX-like program, designed as backend for BibLaTeX. “biber” is an animal handling bibliographies. (german for “beaver”, hence the beaver in the biber logo)>{biber} \todraw(bibtexu)(biber) - \tonode[\package](biblatex)(3,\layer)<A LaTeX package as frontend for biber (can also be used with BibTeXu/8).>{Bib\LaTeX} - \todraw(biber)(biblatex) - \todraw(bibtexu)(biblatex) \steplayer - \tonode[\package](librarian)(5,\layer)<A TeX file (useable with all formats) that typesets BibTeX-style bibliographies without the need of BibTeX. Therefore, it provides a format-independent typesetting of bibliographies.>{Librarian} + \tonode[\package](biblatex)(3,\layer)<A LaTeX package as frontend for biber (can also be used with BibTeXu/8).>{Bib\LaTeX} + \todraw.(biber)(biblatex) + \todraw.(bibtexu)(biblatex) + + \tonode[\package](librarian)(7,\layer)<A TeX file (useable with all formats) that typesets BibTeX-style bibliographies without the need of BibTeX. Therefore, it provides a format-independent typesetting of bibliographies.>{Librarian} } %%% dvipdfm and similar ones %%% \tograph(\tostruct(1)[{(x)dvipdf(m)(x)}]{(x)dvipdf(m)(x)}){ - \tonode(dvipdf)(0,0)<A shellscript from Ghostscript that uses dvips and and gs for converting.>{dvipdf} + \tonode(dvipdf)(0,0)<A shellscript from Ghostscript that uses dvips and gs for conversion.>{dvipdf} \tonode(xdv2pdf)(4,0)<No idea so far what this is, but it is mentioned in the fontspec manual as possible driver for XeTeX.>{xdv2pdf} \steplayer @@ -660,7 +728,7 @@ and precision of the internal data types.”>{MegaPost} \tograph(\tostruct(1)[Fonts]{Fonts}[\fonttechnology] \parbox{\textwidth}{\large -This section tries to cover the development of fonts – the most important thing for a typesetting system is it's font mechanism …\\[4ex]} +This section tries to cover the development of fonts – the most important thing for a typesetting system are font mechanism …\\[4ex]} ){ \tonode(bitmap)(0,\layer)<Bitmap fonts contain the shape of the letters as a number of dots. If you zoom in, a bitmap letter will show pixels. Hence one needs a special version for every resolution.>{Bitmap fonts} \steplayer[-3] @@ -683,6 +751,35 @@ This section tries to cover the development of fonts – the most important thin \todraw(aat)(gx) } +\newpage +\tograph(\tostruct(1)[Work Flow]{Work Flow – Under Construction!}[\vip] +{ +\flushleft +\large Ok, this section might never be ready, but I will leavi it here in the hope that someone will help out: I want to try to depict the typical work flow for working with \TeX. This will never be complete as there are many ways to work with any of the \TeX\ flavours, including helper programs etc. We will start with a simple \LaTeX\ document, and maybe we will extend this to different formats, engines etc. … + +The preliminary nomenclature is: +\begin{itemize} +\item[red] necessary files +\item[yellow] additional input files +\item[blue] automatically produced files +\item[green] program that is used – editor, processing tool, viewer, … +\end{itemize} + +%% yes, this is stupid, but for now that's how it is …: +\let\necessary\vip +\let\additional\experimental +\let\automatic\normalimportant +\let\program\package +} +){ + \tonode(texfile)(0,\layer)<The .tex file. A plain text file that typically contains all of the document information.>{.tex} + \steplayer[-5] + + \tonode(pdffile)(0,\layer)<The resulting, ready-compiled document is most often a PDF document. Production of DVI documents is also mostly possible, but seldom used.>{.pdf} + + \draw[->,very thick](texfile) to node{latex} (pdffile); +} + \topart{Text Views} \label{sec:text} @@ -696,30 +793,97 @@ This section tries to cover the development of fonts – the most important thin \addtocontents{toc}{\string\end{multicols}} \onecolumn +\tostruct[Program Names]{Program Names}[\normalimportant] +\flushleft %% centering was still active until here +The following list tries to explain what happens if a programm is called by a given name. E.\,g. calling the command \texttt{latex} on the command line will start the PDFε-\TeX\ engine\footnote{Actually it's only called PDF\TeX\ now, but it is always the version that includes ε-\TeX\ extensions. Here, always the full name is used for clearness.} in DVI mode with the format \LaTeX\,2\raisebox{-.5ex}ε. This will list the names used in the \emph{official} (upstream) \TeX~Live~2012 distribution, which should mostly (but not all) be the same in MiK\TeX. + +\begin{longtabu}{>{\ttfamily\large}lX} +\rowcolor[gray]{0.8}\LARGE \bfseries program \strut & \LARGE meaning\\ +\\[-2ex] +\totablesec{engines / no preloaded format} +initex & INI\TeX\ (same as \texttt{tex --ini})\\ +texlua & Lua\TeX\ in Lua mode\\ +texluac & Lua\TeX\ as byte compiler\\ + +\totablesec{plain formats} +tex & \TeX\ with the plain format\\ + +aleph & Aleph with the plain format\\ +csplain & PDFε-\TeX\ with the csplain format and DVI output\\ +dviluatex & Lua\TeX\ with the plain format and DVI output\\ +eplain & PDFε-\TeX\ with the eplain format and DVI output\\ +eptex & ε-p\TeX\ with the plain format\\ +euptex & ε-up\TeX\ with the plain format\\ +etex & PDFε-\TeX\ with the plain format and DVI output\\ +luatex & Lua\TeX\ with the plain format and PDF output\\ +mltex & PDFε-\TeX\ with ML\TeX\ extensions enabled, DVI output\\ +pdfcsplain & PDFε-\TeX\ with the csplain format and PDF output\\ +pdfetex & PDFε-\TeX\ with the plain format and PDF output\\ +pdftex & PDFε-\TeX\ with the plain format and PDF output\\ +ptex & p\TeX\ with the plain format\\ +xetex & \XeTeX\ with the plain format\\ + +\totablesec{\LaTeXe} +latex & PDFε-\TeX\ with the \LaTeXe\ format and DVI output\\ +dvilualatex & Lua\TeX\ with the \LaTeXe\ format and DVI output\\ +lamed & Aleph with the Lamed format\\ +lualatex & Lua\TeX\ with the \LaTeXe\ format and PDF output\\ +mllatex & PDFε-\TeX\ with ML\TeX\ extensions enabled, \LaTeXe\ format and DVI output\\ +pdflatex & PDFε-\TeX\ with the \LaTeXe\ format and PDF output\\ + +platex & ε-p\TeX\ with the p\LaTeX\ format and DVI output\\ +uplatex & ε-up\TeX\ with the up\LaTeX\ format and DVI output\\ +xelatex & \XeTeX\ with the \LaTeXe\ format\\ + +\totablesec{Con\TeX t} +texexec & PDFε-\TeX with Con\TeX t MKII format and PDF output\\ +texexec --interface = de & dito, with german interface (only an example, more languages available)\\ +texexec --xtx & \XeTeX with Con\TeX t MKII format\\ +context & Lua\TeX\ with Con\TeX t MKIV format and PDF output\\ +context --interface = de & dito, with german interface (only an example)\\ +\totablesec{other formats} +amstex & PDFε-\TeX\ with the \AMS\TeX\ format and DVI output\\ +jadetex & PDFε-\TeX\ with the Jade\TeX\ format and DVI output\\ +mex & PDFε-\TeX\ with the MeX format and DVI output\\ +pdfjadetex & PDFε-\TeX\ with the Jade\TeX\ format and PDF output\\ +pdfmex & PDFε-\TeX\ with the MeX format and PDF output\\ +pdfxmltex & PDFε-\TeX\ with the XML\TeX\ format\\%% FIXME: what output? … +texsis & PDFε-\TeX\ with the \TeX sis format and DVI output\\ +utf8mex & PDFε-\TeX\ with the UTF8MeX format and DVI output\\ +xmltex & PDFε-\TeX\ with the XML\TeX\ format \\%% FIXME: what output? … + +\totablesec{metafont} +mf & the METAFONT program\\ +mp & the METAPOST program\\ +mptopdf & PDFε-\TeX\ with the mptopdf format and PDF output\\ +\end{longtabu} + \appendix \topart{Appendix} %% -%% I've chosen to typeset the bibliography “by hand” for full control of formatting and behaviour. Also, I can choose my own syntax ☺ +%% This is kind-of a bibliography. %% \tostruct{References} \label{sec:refs} -\obeylines\flushleft %% centering was still active until here +\obeylines -The references are in order of occurance in the above document. i.\,e. if you want information about Lua\TeX, it will be below e.\,g. $\epsilon$\TeX. Everything that is not listet as ”book“ is freely available on the internet. +The references are in order of occurance in the above document. i.\,e. if you want information about Lua\TeX, it will be below e.\,g. ε\TeX. Everything that is not listet as ”book“ is freely available on the internet. (TUGboat articles will become freely accessible about one year after publication.) \tobibsection{Books} \tobib{D.E. Knuth, D.~Bibby, and I.~Makai. \textit{The \TeX book}\\ Addison-Wesley Reading, MA, 1986.} \tobib{F.~Mittelbach, M.~Goossens, J.~Braams, D.~Carlisle, C.~Rowley, C.~Detig, and J.~Schrod. \textit{The \LaTeX\ companion.} \\ Addison-Wesley, 2004.} - \tobibsection{Overview Articles} + \tobibsection{Overview Articles / Pages} \tobib{Arthur Reutenauer. \textit{A Brief History of \TeX}. Talk at EuroBacho\TeX\ 2007.}% <http://www.gust.org.pl/bachotex/EuroBachoTeX2007/presentations/bhot.pdf/view> \tobib{\textit{A Brief History of \LaTeX}}<http://www.xent.com/FoRK-archive/feb98/0307.html> \tobib{Hans Hagen: \textit{16 years of Con\TeX t}. Article in TUGboat Vol. 32, Number 1, 2011.} \tobib{Short Article About Omega And Aleph}<http://www.tex.ac.uk/cgi-bin/texfaq2html?label=omegaleph> \tobib{Interviews with Will Robertson, Hans Hagen et.\,al.}<http://www.tug.org/interviews> + \tobib{The levels of \TeX\ – explains shortly the differences between engines, distributions, front ends etc.}<http://tug.org/levels.html> + \tobib{Things with “\TeX” in the name – a page with a similar aim as this document, and many interesting links}<http://www.tex.ac.uk/cgi-bin/texfaq2html?label=texthings> \tobibsection{Archives} \tobib{CTAN – Comprehensive \TeX\ Archive Network:}<http://www.ctan.org> @@ -727,8 +891,10 @@ The references are in order of occurance in the above document. i.\,e. if you wa \tobibsection{Engines} \tobib{ANT project page}<http://ant.berlios.de> + \tobib{HeX project page}<http://luispedro.org/software/hex> \tobib{Yasuki S AITO. Report on JTEX: A Japanese TEX. TUGboat 8 (1987), no. 2, 103\,–\,116.}% <http://www.tug.org/TUGboat/Articles/tb08-2/tb18saito.pdf> + \tobib{p\TeX\ page}<http://ascii.asciimw.jp/pb/ptex/> \tobib{p\TeX\ sources and documentation}<http://dante.ctan.org/tex-archive/help/Catalogue/entries/ptex.html> \tobib{enc\TeX\ page}<http://www.olsak.net/enctex.html> \tobib{ML\TeX\ source (CH file)}<http://www.tex.ac.uk/tex-archive/systems/generic/mltex/mltex.ch> @@ -739,6 +905,7 @@ The references are in order of occurance in the above document. i.\,e. if you wa \tobib{$\epsilon\chi$\TeX\ project page}<http://www.extex.org> \tobib{ee\TeX\ project page}<http://tex.aanhet.net/eetex> \tobib{Lua\TeX\ project page}<http://www.luatex.org> + \tobib{\textit{i\TeX—Document formatting in an ereader world.} TUGboat 32 (2011), no. 2, 158\,–\,163.} \tobib{i\TeX\ announcement by Don Knuth at the TUG 2010}<http://river-valley.tv/tug-2010/an-earthshaking-announcement> \tobibsection{Formats} @@ -760,15 +927,17 @@ The references are in order of occurance in the above document. i.\,e. if you wa \tobib{PHYZZX on CTAN}<http://ctan.org/tex-archive/macros/phyzzx> \tobib{Star\TeX\ on CTAN}<http://www.ctan.org/tex-archive/macros/startex> \tobib{Texinfo project page}<http://www.gnu.org/software/texinfo> + \tobib{\TeX sis project page}<http://www.texsis.org> \tobib{XML\TeX\ manual}<http://www.dcarlisle.demon.co.uk/xmltex/manual.html> \tobib{Y\TeX\ on CTAN}<http://tug.ctan.org/tex-archive/macros/ytex> \tobib{Zz\TeX: Article in TUGboat 13 (1992), No. 4}<http://www.tug.org/TUGboat/tb13-4/tb37anag.pdf> \tobibsection{Distributions} \tobib{fp\TeX: Announcment at TUG 1999}<http://www.tug.org/tug99/program/node39.html> - \tobib{\TeX\ live development history}<http://tug.org/texlive/doc/texlive-en/texlive-en.html> + \tobib{\TeX\ Live development history}<http://tug.org/texlive/doc/texlive-en/texlive-en.html> \tobib{gw\TeX\ project page}<http://ii2.sourceforge.net/tex-index.html> \tobib{Brief History of gwTeX}<http://www.tug.org/twg/mactex/award/2007/gerben/aboutgwtex.html> + \tobib{Frank Mittelbach: \textit{Reflections on the history of the \LaTeX\ Project Public License (LPPL)—A software license for \LaTeX\ and more.} In: TUGboat Vol. 32 (2011) No.~1, p.~83~ff.}<http://www.tug.org/TUGboat/Contents/contents32-1.html> \tobib{TLContrib project page}<http://tlcontrib.metatex.org/> \tobib{Mac\TeX\ project page}<http://www.tug.org/mactex> \tobib{MiKTeX project page}<http://miktex.org/> @@ -776,6 +945,7 @@ The references are in order of occurance in the above document. i.\,e. if you wa \tobib{Pro\TeX t project page}<http://www.tug.org/protext> \tobib{\TeX Collection page}<http://www.tug.org/texcollection> \tobib{Con\TeX t minimals on Con\TeX t garden wiki}<http://wiki.contextgarden.net/ConTeXt_Minimals> + \tobib{Ker\TeX\ project page}<http://www.kergis.com/en/kertex.html> \tobib{Win32 project page}<http://w32tex.org/> \tobib{Oz\TeX\ project page}<http://www.trevorrow.com/oztex> \tobib{\TeX\ on Amiga}<http://serpens.de/~zza/amigafaq/AmigaFAQg_49.html> @@ -798,6 +968,14 @@ I have to thank some people for helping me to improve this document. Of course I \item Paul Isambert, for usefull discussions and testing. \item Heiko Oberdiek, for solving a bug that broke the document with Acrobat Reader. \item Peter Dyballa, for detailed historic information. +\item Mojca Miklavec, for many information, especially on Con\TeX t-related stuff. +\item Hironori Kitagawa, for information about Japanese-specific programs. + \item Many people that stumbled upon my questions on different mailinglist, mostly texhax. \end{itemize} + +\section{To do list} +\begin{itemize} +\item (maybe) Add copyright and licence mark to each software. +\end{itemize} \end{document}
\ No newline at end of file |