summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/tex-overview
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2010-10-02 23:48:34 +0000
committerKarl Berry <karl@freefriends.org>2010-10-02 23:48:34 +0000
commit6e8cd7b8fb3ad0a50a751fdeeb9ecb790a5ffab0 (patch)
tree4a0a879d9b8fdae471cce88ed9e9ffdae495ead7 /Master/texmf-dist/doc/latex/tex-overview
parente52a33b0468d54becb65fff6c79dc6fc2fe8823e (diff)
new doc tex-overview (2oct10)
git-svn-id: svn://tug.org/texlive/trunk@19974 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/README14
-rw-r--r--Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdfbin0 -> 91197 bytes
-rw-r--r--Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex579
3 files changed, 593 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/tex-overview/README b/Master/texmf-dist/doc/latex/tex-overview/README
new file mode 100644
index 00000000000..722345eb9fe
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tex-overview/README
@@ -0,0 +1,14 @@
+# a small TeX-overview
+
+This document gives a short overview of TeX and its children, as well as the macro packages LaTeX and ConTeXt.
+Compile the tex-overview.tex with luaLaTeX to get the pdf-file. The pdf contains tooltips, so make sure your pdf viewer can display them – or you will miss most of the information.
+
+Mail me any suggestions and corrections: arno dot trautmann at gmx dot de
+
+# 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 (at your option) any later version. All (including the latest version) of this license can be accessed online [on the homepage of the LaTeX-project](http://www.latex-project.org/lppl/), but you can also find a local copy of version 1.3 in the LICENCE file.
+
+This work has the LPPL maintenance status “*maintained*” and the Current Maintainer of this work is Arno Trautmann.
+
+This work consists of the file tex-overview.tex and the derived file tex-overview.pdf.
diff --git a/Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdf b/Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdf
new file mode 100644
index 00000000000..9e15fd5d0b0
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tex-overview/tex-overview.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex b/Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex
new file mode 100644
index 00000000000..f4976e573b1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/tex-overview/tex-overview.tex
@@ -0,0 +1,579 @@
+%% Engine needed: luaTeX > 0.60
+%% Format needed: LaTeX2ε
+%% Packages needed: see list below …
+%% just use an up-to-date TeXlive2010 and the lualatex program to typeset
+
+% this document has version number 0.1
+
+\documentclass{scrartcl}
+
+\usepackage{
+ cooltooltips,
+ dtklogos,
+ fontspec,
+ geometry,
+ hyperref,
+ lmodern,
+ natbib,
+ tikz,
+ xparse
+}
+
+\hypersetup{
+ colorlinks=true,
+ linkcolor=blue,
+ urlcolor=blue,
+ pdfborder=0 0 0
+}
+
+\ExplSyntaxNamesOn
+
+\tl_set:Nn\XeT{XET}
+\tl_set:Nn\Aleph{Aleph}
+\tl_set:Nn\ConTeXt{Con\TeX{}t}
+
+\tl_set:Nn\vip{1 0 0}
+\tl_set:Nn\other{0 0 0}
+\tl_set:Nn\normalimportant{0 0.5 0}
+\tl_set:Nn\experimental{0 .7 .7}
+
+\tl_set:Nn\program{0 0 0}
+\tl_set:Nn\package{0 .5 0}
+\tl_set:Nn\distro{0 .5 0}
+
+\dim_new:N\layer
+\dim_new:N\layerdist
+\dim_set:Nn\layer{0cm}
+\dim_set:Nn\layerdist{1cm}
+
+\bool_new:N\short
+\bool_gset_true:N\short
+
+\NewDocumentCommand\mynode{O{\normalimportant}mmmm}{
+%% test if we are in the short or full view
+ \bool_if:NTF\short{
+ %% short view
+ \tl_if_eq:NNT#1{\vip}{ %% then check if this is an important node
+ \node (#2) at (#3) {
+ \cooltooltip[#1]{#2}{#4}{#4}{}{#5\strut}
+ };
+ }
+ }{
+ %% long view
+ \node (#2) at (#3) {
+ \cooltooltip[#1]{#2}{#4}{#4}{}{#5\strut}
+ };
+ %% and the text view, to be added only once!
+ \AtEndDocument{\subsubsection*{\color{blue}#5}\parbox{\textwidth}{#4}}
+ }
+}
+
+\NewDocumentCommand{\setlayer}{m}{
+ \dim_set:Nn\layer{#1cm}
+}
+\NewDocumentCommand{\steplayer}{O{-1}}{
+ \dim_add:Nn\layer{\layerdist}
+}
+
+\NewDocumentCommand{\drawfull}{u{;}}{
+ \bool_if:NF\short{\draw #1;}
+}
+\NewDocumentCommand{\drawshort}{u{;}}{
+ \bool_if:NT\short{\draw #1;}
+}
+
+\NewDocumentCommand{\overviewsection}{m}{
+ \clearpage
+ \dim_set:Nn\pdfpagewidth{9cm} %% make a small paper so the header won’t be lost on the big, big paper
+ \dim_set:Nn\pdfpageheight{2.5cm}
+ \section{#1\bool_if:NT\short{ – short view}}
+ \clearpage
+ \dim_set:Nn\pdfpagewidth{21cm} %% back to a4
+ \dim_set:Nn\pdfpageheight{29.7cm}
+}
+\NewDocumentCommand{\overviewsubsection}{om}{
+\IfNoValueTF{#1}{\subsection{#2}}{\subsection[#1]{#2}}
+ \bool_if:NF\short{\AtEndDocument{\subsection[#1]{#2}}}
+}
+
+\ExplSyntaxNamesOff
+\title{A short overview of \TeX, its children and their friends~\dots}
+\author{Arno Trautmann \thanks{arno.trautmann@gmx.de}}
+\date{\today}
+\pagestyle{empty}
+
+\begin{document}
+\maketitle
+
+\begin{abstract}
+In the world of \TeX, there are many developments and ambiguos names. This paper tries to give an overview of the development of \TeX\ and related programs. Contributions are welcome!\footnote{The current source 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!}
+\end{abstract}
+
+The base frame of this document is taken from the article \textsf{A brief history of \TeX, volume II} by Arthur Reutenauer in the proceedings of \textsf{EuroBacho\TeX 2007} and his talk there (see references). Additional information is taken from original documentations (see references on page \pageref{sec:refs}) and some review articles. For old, historic information, the \textsf{historic archive} maintained by Ulrik Vieth and hosted on ftp.tug.org (see refs) was very useful. Many thanks for that great archive!
+
+All information is up to the date of the generated pdf. Everything here is without guarantee – this is just to get an overview. Consult the references for further (and/or correct) information!
+
+In the tree views (page \pageref{sec:tree}), every node has a tooltip that shows up when you hover the mouse over it. If your pdf viewer does not support this, go to the end of the document, where every tooltip is written in normal text (page \pageref{sec:text}). I tried to make the graph more readable by using colors:
+
+\begin{description}
+\item[{\color[rgb]{\normalimportant} normal}] (whatever that means)
+\item[{\color[rgb]{\vip} important}] developments (only in my opinion) – i.\,e. engines or distributions that had or have a great impact on (everyday) typesetting for a large community
+\item[{\color[rgb]{\experimental} experimental}] developments that might still be under construction or were never used by a large community. Nevertheless, these might be very important to the development of other enginges or for use of special typesetting. \item[{\color[rgb]{\other} other}] programs that are not directly connected to \TeX\ but are interesting in the overview, are given in black.
+\end{description}
+
+Furthermore, there are two versions of the important graphs: A short version mentioning only the most important things and a full one with everything I could find.
+
+In most cases I did not mention the authors of the programs/packages. This is not to diminish their effort but only for clarity (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.
+
+\clearpage
+\tableofcontents
+\clearpage
+
+\newgeometry{margin=1cm} %% to save space
+\NewDocumentCommand{\typesetwholecontent}{}{ %% begin all stuff
+
+\overviewsection{Tree Views}
+
+\overviewsubsection[\TeX]{\TeX\ – the program, and extensions/derivatives}
+\label{sec:tree}
+\Large
+\centering
+%%% TEX %%%
+\begin{tikzpicture}
+ \setlayer2
+ \mynode[\vip]{tex}{7,\layer}{born in 1978}{\TeX}
+
+ \steplayer[-0.5]
+ \mynode[\other]{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};
+ \drawfull[dotted] (tex) to (ant);
+
+ \steplayer
+ \mynode{xet-tex}{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}
+ \drawfull (tex) to (xet-tex);
+
+ \steplayer[-2]
+ \mynode{xet--tex}{3,\layer}{TeX--XeT was able to really put the glyphs on the right place in the dvi.}{\TeX-{}-\XeT}
+ \drawfull (xet-tex) to (xet--tex);
+
+ \mynode[\vip]{tex3}{7,\layer}{Ability to handle 8-bit input. 1989. TeX development was frozen in 1991 and only bugfixes were made. Now it in version 3.1415926, getting closer to pi with every bugfix ...}{\TeX3};
+ \drawfull (tex) to (tex3);
+ \drawshort (tex) to (tex3);
+
+ \steplayer[-2]
+ \mynode{enctex}{5.4,\layer}{A small extension to TeX, started 1997. Adds 10 new primitives relating input re-encoding}{enc\TeX};
+ \drawfull (tex3) to (enctex);
+
+ \mynode{mltex}{7.5,\layer}{Extension (started 1990) to TeX that allows hyphenation of words with accented letters. (Therefore the name: MultiLinual TeX.) Distributed as a change file to the original WEB sources of TeX.}{ML\TeX};
+ \drawfull (tex3) to (mltex);
+
+ \steplayer[-2]
+ \mynode{tex2pdf}{7,\layer}{Early name for pdfTeX.}{\TeX2PDF};
+ \drawfull (enctex) to (tex2pdf);
+ \drawfull (mltex) to (tex2pdf);
+
+ \steplayer[-2]
+ \mynode{omega}{1,\layer}{Support for 16bit-unicode-input. Still constrained on the output}{$\Omega$};
+ \drawfull (tex3) to (omega);
+
+ \mynode[\vip]{etex}{4,\layer}{*the* extension to TeX.}{$\varepsilon$-\TeX};
+ \drawfull (xet--tex) to (etex);
+ \drawshort (tex3) to (etex);
+
+ \mynode[\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.}{pdf\TeX};
+ \drawfull (tex2pdf) to (pdftex);
+ \drawshort (tex3) to (pdftex);
+
+ \mynode{texgx}{10,\layer}{GX stands for Graphic eXtension, a font technologie TeXGX was able to handle. Only on Mac OS.}{\TeX{}gX};
+ \drawfull (tex3) to (texgx);
+
+ \mynode{nts}{12,\layer}{A project to completely reimplement TeX in Java. Now NTS is officially declared dead.}{\NTS};
+ \drawfull (tex3) to (nts);
+
+ \steplayer[-2]
+ \mynode[\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$};
+ \drawfull (omega) to (omega2);
+
+ \mynode[\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};
+ \drawfull (etex) to (vtex);
+
+ \steplayer[-2]
+ \mynode[\experimental]{aleph}{1,\layer}{originally named epsilon-Omega, an attempt to stabilize Omega while merging epsilon extensions.}{$\aleph$ (\Aleph)};
+ \drawfull (omega) to (aleph);
+ \drawfull (etex) to (aleph);
+
+ \mynode[\vip]{xetex}{8,\layer}{This extension enables full multilingual support for left-to-right typesetting, right-to-left and almost any other possible direction. XeTeX also features support for OpenType and AAT-fonts.}{\XeTeX};
+ \drawfull (texgx) to (xetex);
+ \drawfull (etex) to (xetex);
+ \drawshort (etex) to (xetex);
+
+ \mynode[\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};
+ \drawfull (nts) to (extex);
+ \drawfull (omega) to (extex);
+ \drawfull (etex) to (extex);
+ \drawfull (pdftex) to (extex);
+
+ \mynode[\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};
+ \drawfull (etex) to (pdfetex);
+ \drawfull (pdftex) to (pdfetex);
+ \drawshort (etex) to (pdfetex);
+ \drawshort (pdftex) to (pdfetex);
+
+ \steplayer[-2]
+ \mynode[\experimental]{eetex}{6,\layer}{Experimental extension to pdfeTeX by Taco Hoekwater, created 2000. Distributed as change file.}{ee\TeX};
+ \drawfull (pdfetex) to (eetex);
+
+ \steplayer[-2]
+ \mynode[\other]{lua}{0,\layer}{Script language; has nothing to do with TeX!}{Lua};
+
+ \mynode[\vip]{luatex}{4,\layer}{LuaTeX will support unicode, OpenType and totally everything. TeXlive 2010 ships version 0.60.2. luaTeX features an embedded scripting language, lua, making it easy to extend so most of the programming can be done in lua instead of TeX-hackery.}{lua\TeX};
+ \drawfull (aleph) to (luatex);
+ \drawfull (pdfetex) to (luatex);
+ \drawfull[dashed] (lua) to (luatex);
+ \drawshort (pdfetex) to (luatex);
+
+ \steplayer[-2]
+ \mynode[\experimental]{itex}{7,\layer}{iTeX is the official successor of TeX89, announced by Don Knuth at the TUG conference 2010.}{i\TeX};
+\end{tikzpicture}
+
+
+\newpage
+\overviewsubsection[\LaTeX]{\LaTeX\ (Lamport's \TeX) – a format and large macro package for \TeX}
+\vspace*{2em}
+%%% LATEX %%%
+\begin{tikzpicture}
+ \setlayer{2}
+ \mynode{latex090}{-5.5,\layer}{First version still on web (historic archive, see refs) is 0.9, for use with TeX 0.95. No installation help found. Apparently one needs the files lplain.tex and latex.tex to create the format.}{\LaTeX\ 0.9};
+
+ \steplayer[-0.4]
+ \mynode{latex091}{-2,\layer}{Version 0.91 for use with TeX 0.97 (C) 1983 by Leslie Lamport. Most changes to previous version are in the file lplain.tex.}{\LaTeX\ 0.91};
+ \drawfull (latex090) to (latex091);
+
+ \steplayer[-0.4]
+ \mynode{latex092}{2,\layer}{First version with the @ as letter for internal names. Seemlingy first version with a manual. For use with TeX Version 0.999999. (no joke, that's the version number given in the latex.tex file!) (C) 1983 by Leslie Lamport, conversion to 0.92 from 0.91 by Arthur Keller.}{\LaTeX\ 0.92};
+ \drawfull (latex091) to (latex092);
+
+ \steplayer[-0.4]
+ \mynode{latex09210}{6,\layer}{Adaption of 0.92 for TeX version 1.0. (C) 1983 by Leslie Lamport, conversion to 0.92 from 0.91 by Arthur Keller.}{\LaTeX\ 0.92 - 1.0};
+ \drawfull (latex092) to (latex09210);
+
+ \steplayer[-1.5]
+ \mynode{latex2010}{-5,\layer}{Seemingly heavy changes compared to 0.92. Version for TeX 1.0. Release of 11 Dec 1983. There were never official versions 1.x }{\LaTeX\ 2.0 - 1.0};
+ \drawfull (latex09210) to (latex2010);
+
+ \steplayer[-.4]
+ \mynode{latex205}{0,\layer}{No sure information found so far.}{\LaTeX\ 2.05};
+ \drawfull (latex2010) to (latex205);
+
+ \steplayer[-.4]
+ \mynode{latex206a}{5,\layer}{Release of version 2.06a of the LaTeX macros. September 1984.}{\LaTeX\ 2.06a};
+ \drawfull (latex205) to (latex206a);
+
+ \steplayer[-2.3]
+ \mynode[\vip]{latex209}{0,\layer}{The first official version by Leslie Lamport, 1985.}{\LaTeX\ 2.09};
+ \drawfull (latex206a) to (latex209);
+
+ \steplayer[-2]
+ \mynode{slitex}{2,\layer}{A variation of LaTeX2.09 to provide an easy way for producing presentations. In LaTeX2e absorbed as a documentclass (slides).}{SLI\TeX};
+ \drawfull (latex209) to (slitex);
+
+ \mynode{amslatex11}{6,\layer}{A port of Spivak’s AMS-\TeX to LaTeX 2.09, released 1990}{\AMS\LaTeX\ 1.1};
+ \drawfull (latex209) to (amslatex11);
+
+ \steplayer[-1.7]
+ \mynode[\vip]{latex2ε}{0,\layer}{June 1994: New release of LaTeX to avoid incompatible dialects of LaTeX 2.09. Introduced by the LaTeX3-Team.}{\LaTeXe};
+ \drawfull (latex209) to (latex2ε);
+ \drawfull[dashed] (slitex) to (latex2ε);
+ \drawfull[dashed] (amslatex11) to (latex2ε);
+ \drawshort (latex209) to (latex2ε);
+
+ \steplayer[-1.3]
+ \mynode{amslatex12}{6,\layer}{A port of version 1.1 to LaTeX 2e by Downes and Jones.}{\AMS\LaTeX 1.2}
+ \drawfull (amslatex11) to (amslatex12);
+ \drawfull (latex2ε) to (amslatex12);
+
+ \steplayer[-1.5]
+ \mynode[\vip]{pdflatex}{2,\layer}{The standard LaTeX. If anyone talks about "LaTeX" it is nearly shure to be this package. pdfLaTeX2e produces pdf or dvi output.}{pdf\LaTeXe};
+ \drawfull (latex2ε) to (pdflatex);
+ \drawshort (latex2ε) to (pdflatex);
+
+ \mynode[\vip]{xelatex}{5,\layer}{Using the XeTeX engine. There are some special packages that provide easy access to the modern features of XeTeX.}{\XeLaTeX};
+ \drawfull (latex2ε) to (xelatex);
+ \drawshort (latex2ε) to (xelatex);
+
+ \mynode{lualatex}{-2,\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!}{(dvi)Lua\LaTeX};
+ \drawfull (latex2ε) to (lualatex);
+
+ \mynode{lambda}{-5,\layer}{A LaTeX-package for the omega-engine.}{$\Lambda$}
+ \drawfull (latex209) to (lambda);
+
+ \steplayer[-1]
+ \mynode{lamed}{-6,\layer}{A LaTeX-package for the aleph-engine.}{Lamed}
+ \drawfull (lambda) to (lamed);
+
+ \steplayer[-1]
+ \mynode{latex25}{0,\layer}{Will Robertson suggested in an interview (see refs) an interim unstable version on the way to LaTeX3 with version number 2.5 that should bring package authors towards using LaTeX3 syntax. This version should be backwards incompatible to LaTeX2e. (This version does not exist in any official plannings, but I liked the idea, so it is mentioned here :) )}{\LaTeX2.5};
+ \drawfull (latex2ε) to (latex25);
+
+ \steplayer[-2]
+ \mynode{latex3}{0,\layer}{The planned successor of LaTeX2e. It is planned to implement a very elaborate low-level programming language. The expl3-package provides an implemantation that can be used on top of LaTeX2e. Several LaTeX packages already make heavy use of expl3.}{\LaTeX{}3};
+ \drawfull (latex25) to (latex3);
+ \drawfull[dotted] (xelatex) to (latex3);
+ \drawfull[dotted] (pdflatex) to (latex3);
+ \drawfull[dotted] (lualatex) to (latex3);
+\end{tikzpicture}
+
+
+\newpage
+\overviewsubsection[\ConTeXt]{\ConTeXt\ (Context = con tex t – text with tex; formerly pragmatex) – the other major format and \TeX\ macro package}
+%%% CONTEXT %%%
+\begin{tikzpicture}
+ \mynode{mki}{0,0}{Original ConTeXt with Dutch low level interface.}{\ConTeXt MkI};
+ \mynode[\vip]{mkii}{0,-3}{ConTeXt with English low level interface. Works with any TeX-engine, like LaTeX: TeX, e-TeX, pdfTeX, Aleph, XeTeX, ...}{\ConTeXt MkII};
+ \drawfull (mki) to (mkii);
+
+ \mynode{mkiii}{4,-4.5}{Reserved for future use for files supporting XeTeX. Was "skipped" for "practical reasons" (Hans Hagen)}{\ConTeXt\ MkIII};
+ \drawfull (mkii) to (mkiii);
+
+ \mynode[\vip]{mkiv}{0,-6}{Specially designed for LuaTeX.}{\ConTeXt MkIV};
+ \drawfull (mkii) to (mkiv);
+ \drawshort (mkii) to (mkiv);
+\end{tikzpicture}
+} %% end all stuff
+%% and set it twice, with changing from short to full version
+%% the text version below only comes in fully because there is no need for better overview
+\typesetwholecontent
+\ExplSyntaxNamesOn
+\bool_gset_false:N\short
+\ExplSyntaxNamesOff
+\typesetwholecontent
+
+\newpage
+\overviewsection{Distributions}
+\parbox{\textwidth}{\normalsize
+This section will feature the main distributions of \TeX\ and related programs. Of course, not every Linux Distribution’s \TeX\ package can be listed here, but only official upstream distributions. So far, only \TeX live and Mik\TeX\ are listed, but I’ll add others if they are/were important.
+}
+\ExplSyntaxOn
+\dim_set:Nn\layerdist{-1.5cm}
+\ExplSyntaxOff
+\overviewsubsection{\TeX live}
+\begin{tikzpicture}
+ \mynode[\distro]{teTeX}{2,\layer}{The (vague) past ... (?)}{te\TeX};
+ \mynode[\distro]{4AllTeX CD}{-2,\layer}{The (vague) past ... (?)}{4All\TeX CD };
+ \steplayer
+ \mynode[\distro]{tlpre2009}{0,\layer}{First version 1996, and then a long story of ongoing work -- see documentation for a detailed history.}{\TeX live 1996 – 2008};
+ \draw(teTeX) to (tlpre2009);
+ \draw(4AllTeX CD) to (tlpre2009);
+ \steplayer
+ \mynode[\distro]{tl2009}{0,\layer}{TeXlive now features package updating like MikTeX!}{\TeX live2009};
+ \draw(tl2009) to (tlpre2009);
+ \steplayer
+ \mynode[\distro]{tl2010}{0,\layer}{Up to now, latest release of TeXlive.}{\TeX live2010};
+ \draw(tl2010) to (tl2009);
+\end{tikzpicture}
+
+\overviewsubsection{Mik\TeX}
+\begin{tikzpicture}
+ \mynode[\distro]{mt26}{0,\layer}{featuring pdftex 1.40.4, mpost 1.000 }{Mik\TeX\ 2.6};
+ \steplayer
+ \mynode[\distro]{mt27}{0,\layer}{featuring xetex 0.999.6, pdftex 1.40.9, mpost 1.005 }{Mik\TeX\ 2.7};
+ \draw(mt27) to (mt26);
+ \steplayer
+ \mynode[\distro]{mt28}{0,\layer}{featuring xetex 0.9995.1, pdftex 1.40.10, mpost 1.005 }{Mik\TeX\ 2.8};
+ \draw(mt28) to (mt27);
+ \steplayer
+ \mynode[\distro]{mt29}{0,\layer}{featuring xetex 0.9997.4, pdftex 1.40.11, LuaTeX 0.60.2, mpost 1.211}{Mik\TeX\ 2.9};
+ \draw(mt29) to (mt28);
+\end{tikzpicture}
+
+\newpage
+\overviewsection{Pandora’s Box}
+\parbox{\textwidth}{\normalsize
+The following pages will be a hodge-podge of many things that are related to \TeX\ and used in the process of generating documents in different file formats, i.\,e. conversion tools, bibliography tools etc. Feel free to contribute, I’ll choose case-by-case if I’ll add something or won’t include it. Text editors or viewers will \emph{not} be included!
+}
+
+\overviewsubsection[META*]{META*}
+%%% META* %%%
+\begin{tikzpicture}
+ \mynode[\program]{metafont}{0,0}{The program for creating the fonts originally used by TeX.}{METAFONT};
+
+ \mynode[\program]{metapost}{0,-2}{A graphic generating program inspired by METAFONT. MetaPost can produce PostScript graphics as well as SVG.}{MetaPost};
+ \draw (metapost) to (metafont);
+
+ \mynode[\program]{metafun}{0,-4}{"MetaFun is Hans Hagen's extension to (or module for) the MetaPost language."}{MetaFun};
+ \draw (metafun) to (metapost);
+\end{tikzpicture}
+
+\overviewsubsection[Bib\TeX]{Bib\TeX}
+%%% BIBTEX %%%
+\begin{tikzpicture}
+ \mynode[\program]{bibtex}{0,0}{A helper program to generate a bibliography list.}{\BibTeX};
+
+ \mynode[\program]{nbibtex}{4,-1}{"NbibTeX helps authors take better advantage of BibTeX data" says the homepage.}{NbibTeX};
+ \draw (nbibtex) to (bibtex);
+
+ \mynode[\program]{bibtex8}{0,-2}{The documentation says: „An 8-bit Implementation of BibTeX 0.99 with a Very Large Capacity“}{\BibTeX8};
+ \draw (bibtex8) to (bibtex);
+
+ \mynode[\program]{bibtexu}{0,-4}{A unicode-aware version of BibTeX}{\BibTeX u};
+ \draw (bibtex8) to (bibtexu);
+
+ \mynode[\program]{pybtex}{3,-4}{A python implementation of BibTeX.}{Pybtex};
+ \draw (pybtex) to (bibtexu);
+
+ \mynode[\program]{biber}{0,-6}{A cooler version of unicode-aware BibTeX, designed for (?) use with BibLaTeX}{biber};
+ \draw (bibtexu) to (biber);
+
+ \mynode[\package]{biblatex}{3,-6}{A LaTeX package as frontend for biber.}{Bib\LaTeX};
+ \draw (biber) to (biblatex);
+ \draw (bibtexu) to (biblatex);
+\end{tikzpicture}
+
+%%% dvipdfm %%%
+\overviewsubsection[(x)dvipdf(m)(x)]{(x)dvipdf(m)(x)}
+\begin{tikzpicture}
+ \mynode[\program]{dvipdf}{0,0}{Converts dvi files to pdf files.}{dvipdf};
+
+ \mynode[\program]{dvipdfm}{0,-2}{Converts dvi files to pdf files. Does not build on dvipdf, but is an independent implementation.}{dvipdfm};
+
+ \mynode[\program]{dvipdfmx}{0,-4}{Extended version of dvipdfm. Support for multi-byte encodings and more pdfTeX features. Still active. Combined work of dvipdfm-jpn and dvipdfm-kor.}{dvipdfmx};
+ \draw (dvipdfm) to (dvipdfmx);
+
+ \mynode[\program]{xdvipdfmx}{0,-6}{Converts xdvi files produced by XeTeX to pdf files. Normally always executed after a XeTeX run, so the user won’t notice that an xdvi document was created in between.}{xdvipdfmx};
+
+ \draw (dvipdfmx) to (xdvipdfmx);
+
+\end{tikzpicture}
+
+
+%%
+%% I've chosen to typeset the bibliography "by hand" as to avoid problems regarding formatting. And this way I only need one file.
+%%
+
+\clearpage
+\normalsize
+\begin{thebibliography}{10}
+\label{sec:refs}
+
+ \bibitem[{Annotations}()]{}{\quad 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.}
+ \vspace{2ex}
+ \bibitem[{Books}()]{}{\LARGE\textbf{\textsf{Books}}}
+ \vspace{1ex}
+ \bibitem[Knuth et~al.(1986)Knuth, Bibby, and Makai]{knuth1986texbook}
+ D.E. Knuth, D.~Bibby, and I.~Makai.
+ \newblock \emph{{The \TeX book}}.
+ \newblock Addison-Wesley Reading, MA, 1986.
+
+ \bibitem[Mittelbach et~al.(2004)Mittelbach, Goossens, Braams, Carlisle, Rowley,
+ Detig, and Schrod]{mittelbach2004latex}
+ F.~Mittelbach, M.~Goossens, J.~Braams, D.~Carlisle, C.~Rowley, C.~Detig, and
+ J.~Schrod.
+ \newblock \emph{{The \LaTeX\ companion}}.
+ \newblock Addison-Wesley, 2004.
+
+ \vspace{2ex}
+ \bibitem[{Web}()]{}{\LARGE\textbf{\textsf{Web Sources}}}
+ \bibitem[{this document}()]{tex-overview}{This document on github}
+ \newblock \url{http://github.com/alt/tex-overview}
+
+ \vspace{1ex}
+ \bibitem[{OrigDoc}()]{}{\Large\textbf{\textsf{Original Documentation – Engines}}}
+ \vspace{1ex}
+
+
+ \bibitem[{ANT project page}()]{ant}{ANT project page}
+ \newblock \url{http://ant.berlios.de}
+
+ \bibitem[{ML\TeX\ source}()]{mltex}{ML\TeX\ source (CH file)}
+ \newblock \url{http://www.tex.ac.uk/tex-archive/systems/generic/mltex/mltex.ch}
+
+ \bibitem[{enc\TeX\ page}()]{enctex}
+ {enc\TeX\ page}
+ \newblock \url{http://www.olsak.net/enctex.html}
+
+ \bibitem[{\NTS\ project page}()]{nts}
+ {\NTS\ project page}
+ \newblock \url{http://nts.tug.org}
+
+ \bibitem[{v\TeX}()]{vtex official}
+ {V\TeX\ – official homepage of micropress-inc}
+ \newblock \url{http://www.micropress-inc.com/}
+
+ \bibitem[{$\epsilon\chi$\TeX\ project page}()]{extex}
+ {$\epsilon\chi$\TeX\ project page}
+ \newblock \url{http://www.extex.org}
+
+ \bibitem[{ee\TeX\ project page}()]{eetex}
+ {ee\TeX\ project page}
+ \newblock \url{http://tex.aanhet.net/eetex}
+
+ \bibitem[{Lua\TeX\ project page}()]{luatex}
+ {Lua\TeX\ project page}
+ \newblock \url{http://www.luatex.org}
+
+ \vspace{2ex}
+ \bibitem[{WebMakro}()]{}{\Large\textbf{\textsf{Original Documentation – Makro Packages/Formats}}}
+ \vspace{1ex}
+ \bibitem[wiki()]{contextgarden}
+ \ConTeXt\ wiki
+ \newblock \url{http://wiki.contextgarden.net}
+
+ \bibitem[{\LaTeX\ project page}()]{latexproject}
+ {\LaTeX\ project page}
+ \newblock \url{http://www.latex-project.org}
+
+ \bibitem[{\LaTeX3 project}()]{latexprojectiii}
+ {\LaTeX3 project}
+ \newblock \url{http://www.latex-project.org/latex3.html}
+
+ \vspace{2ex}
+ \bibitem[{WebDistro}()]{}{\Large\textbf{\textsf{Original Documentation – Distributions}}}
+ \vspace{1ex}
+ \bibitem[{TeXlive}()]{TeXlive}
+ {TeXlive development history}
+ \newblock \url{http://tug.org/texlive/doc/texlive-en/texlive-en.html#}
+
+ \bibitem[{MikTeX}()]{MikTeX}
+ {MikTeX project site}
+ \newblock \url{http://miktex.org/}
+
+ \vspace{2ex}
+ \bibitem[{WebMakro}()]{}{\Large\textbf{\textsf{Original Documentation – Everything Else}}}
+ \vspace{1ex}
+ \bibitem[{dvipdfmx}()]{dvipdfmx}
+ {dvipdfmx project page}
+ \newblock \url{http://project.ktug.or.kr/dvipdfmx/}
+
+ \vspace{2ex}
+ \bibitem[{WebMakro}()]{}{\Large\textbf{\textsf{Overview Articles}}}
+ \vspace{1ex}
+ \bibitem[{A Brief History of TeX}()]{abriefhistoftex}{Arthur Reutenauer. A Brief History of \TeX.}
+ \newblock Talk at EuroBacho\TeX\ 2007.\\
+ \newblock \url{http://www.gust.org.pl/bachotex/EuroBachoTeX2007/presentations/bhot.pdf/view}
+
+ \bibitem[{A Brief History of \LaTeX}()]{abriefhistoflatex}
+ {A Brief History of \LaTeX}
+ \newblock \url{http://www.xent.com/FoRK-archive/feb98/0307.html}
+
+ \bibitem[{omega and aleph}()]{omegaleph}
+ {Short Article About Omega And Aleph}
+ \newblock \url{http://www.tex.ac.uk/cgi-bin/texfaq2html?label=omegaleph}
+
+ \bibitem[{interview}()]{interviews}
+ {Interviews with Will Robertson, Hans Hagen et.\,al.}
+ \newblock \url{http://www.tug.org/interviews}
+
+ \vspace{2ex}
+ \bibitem[{WebArchive}()]{}{\Large\textbf{\textsf{Web Archives}}}
+ \vspace{1ex}
+
+ \bibitem[{CTAN}()]{ctan}{Comprehensive TeX Archive Network}
+ \newblock \url{http://www.ctan.org}
+
+ \bibitem[{historic archive}()]{histarch}{Historic Archive of TeX Distributions}
+ \newblock \url{ftp://ftp.tug.org/historic}
+\end{thebibliography}
+
+\overviewsection{Text Views} %% these are generated automatically by the code above.
+\label{sec:text}
+\end{document}
+