%% Engine needed: LuaTeX ≥ 0.65 %% Format needed: LaTeX2ε %% Packages needed: see list in the -aux.tex file … %% use an up-to-date TeX live2011 (with tl-contrib updates) % this document has version number 0.1e-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!} \end{abstract} \section*{Introduction} This document is for people that have stumbled upon different term icluding something related to \TeX\ and are confused by the many different terms – at least I was, so mabye others are, too … The base frame and main idea for this overview was taken from the article \textit{A brief history of \TeX,~volume~II} by Arthur Reutenauer in the proceedings of \textsf{EuroBacho\TeX 2007} and his talk there (see~references on page~\pageref{sec:refs}). Additional information is taken from original documentations and some review articles. For old, historic information, the \textsf{historic~archive} maintained by Ulrik Vieth and hosted on \url{ftp.tug.org} (see~refs) was very useful, especially in the reconstruction of \LaTeX\ versions. Many thanks for that great archive! All information is up to the date of this generated PDF and up to the information I found. 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, every node has a tooltip that shows up when you hover the mouse over it. For the case that your PDF viewer does not support this, there is a list of all the descriptions on page~\pageref{sec:text}. \setlength{\columnsep}{1.5cm} \newpage \tableofcontents \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. \begin{description} \item[{\let\nodecolor\normalimportant \tikz \node[coolnode]{normal};}] That is, not very important in my opinion, no huge user group, but still maybe important for special needs. Was used by a major community at least some time back, but is not of great impact nowadays. \item[{\let\nodecolor\vip \tikz \node[coolnode]{important};}] Engines or formats that had or have a great impact on (everyday) typesetting for a large community. \item[{\let\nodecolor\experimental \tikz \node[coolnode]{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 engines or for use of special typesetting. \item[{\let\nodecolor\planned \tikz \node[coolnode]{planned};}] Things that are planned to raise one day and are in the phase of preparation, i.\,e. there may be some code but not in the final form yet. \item[{\let\nodecolor\package \tikz \node[coolnode]{package};}] \LaTeX-packages or single \TeX-files (useable as packages or modules) that seemed worth mentioning. There won't be many of this; most very important packages won’t be mentioned. \item[{\let\nodecolor\distro \tikz \node[coolnode]{distribution};}] Software bundles that bring \TeX\ and friends to the normal user. \item[{\let\nodecolor\histdistro \tikz \node[coolnode]{hist. dist.};}] Historical distributions that have no use today but were important for bringing TeX to older computer systems. \item[{\let\nodecolor\program \tikz \node[coolnode]{program};}] Programs that are not directly connected to \TeX\ (but interesting in the context of using \TeX) or are separate helper programs. \item[{\let\nodecolor\fonttechnology \tikz \node[coolnode]{font};}] Something related to a font. Neither a program nor libraries that provide access to fonts nor the actual files, but rather the abstract definition or specification. \end{description} Some of the graphs are quite complex, which is the reason why there are two versions of them: A short one mentioning only the most important things and a full version 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 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. To get to this point, I need some help of people who know more about the \TeX\ world than I do. At the moment, special help is needed for: \begin{itemize} \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: \begin{description} \item[evince] Shows the document correct and complete. Tested using 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[TeXworks] The built-in PDF viewer of the TeXworks editor does not break lines of tooltips, therefore long annotations are not shown completely. \item[okular] also does not break the lines. \item[xpdf] shows only very short tooltips. Most of the information is not visible in the graphs. \item[gv] shows no tooltips, but the annoying green boxes. (Linux) \end{description} \subsection*{About this document} This document is typeset in the \TeX\ Gyre Pagella font using the Lua\LaTeXe\ format with \verb|expl3| and \verb|xpackages| based on Lua\TeX\ 0.\the\luatexversion.\luatexrevision. \addtocontents{toc}{\string\begin{multicols}{2}} \topart{Tree Views} \newgeometry{margin=1cm} %% to save space; no need for margins if only a tree is shown \label{sec:tree} \Large \centering %%% TEX %%% \label{textextview} \tograph*({\tostruct[\TeX]{\TeX\ – the program}}){ \setlayer0 \tonode[\vip](tex)(7,\layer){\TeX} \tonode[\program](ant)(13,\layer){ANT} \todraw[dotted](tex)(ant) \steplayer[-1.5] \tonode(tex-xet)(3,\layer){\TeX-\XeT} \todraw(tex)(tex-xet) \tonode(nihongo)(10,\layer){Nihongo \TeX} \todraw(tex)(nihongo) \tonode(jtex)(15,\layer){j\TeX} \todraw(tex)(jtex) \steplayer[-1.5] \tonode(ptex)(10,\layer){p\TeX} \todraw(nihongo)(ptex) \steplayer[-1.5] \tonode(tex--xet)(3,\layer){\TeX-{}-\XeT} \todraw(tex-xet)(tex--xet) \tonode[\vip](tex3)(7,\layer){\TeX3} \todraw*(tex)(tex3) \tonode(eptex)(13,\layer){e-p\TeX} \todraw(ptex)(eptex) \steplayer[-2] \tonode(enctex)(5.9,\layer){enc\TeX} \todraw(tex3)(enctex) \tonode(mltex)(8,\layer){ML\TeX} \todraw(tex3)(mltex) \tonode[\experimental](uptex)(11,\layer){up\TeX} \todraw(tex3)(uptex) \todraw(ptex)(uptex) \steplayer[-2] \tonode(tex2pdf)(7,\layer){\TeX2PDF} \todraw(enctex)(tex2pdf) \todraw(mltex)(tex2pdf) \steplayer[-2] \tonode(omega)(1,\layer){$\Omega$} \todraw(tex3)(omega) \tonode[\vip](etex)(4,\layer){$\varepsilon$-\TeX} \todraw(tex--xet)(etex) \todraw'(tex3)(etex) \tonode[\vip](pdftex)(7,\layer){pdf\TeX} \todraw(tex2pdf)(pdftex) \todraw'(tex3)(pdftex) \tonode(texgx)(9.5,\layer){\TeX{}gX} \todraw(tex3)(texgx) \tonode(nts)(12,\layer){\NTS} \todraw(tex3)(nts) \steplayer[-2] \tonode[\experimental](omega2)(0,\layer){$\Omega_2$} \todraw(omega)(omega2) \tonode[\experimental](vtex)(3.6,\layer){V\TeX} \todraw(etex)(vtex) \steplayer[-2] \tonode[\experimental](aleph)(1,\layer){$\aleph$ (Aleph)} \todraw(omega)(aleph) \todraw(etex)(aleph) \tonode[\vip](XeTeX)(8,\layer){\XeTeX} \todraw(texgx)(XeTeX) \todraw*(etex)(XeTeX) \tonode[\experimental](extex)(12,\layer){$\epsilon\chi$\TeX} \todraw(nts)(extex) \todraw(omega)(extex) \todraw(etex)(extex) \todraw(pdftex)(extex) \tonode[\vip](pdfetex)(5,\layer){pdf($\epsilon$)-\TeX} \todraw*(etex)(pdfetex) \todraw*(pdftex)(pdfetex) \steplayer[-2] \tonode[\experimental](eetex)(6,\layer){ee\TeX} \todraw(pdfetex)(eetex) \steplayer[-2] \tonode[\program](lua)(0,\layer){Lua} \tonode[\vip](luatex)(4,\layer){Lua\TeX} \todraw(aleph)(luatex) \todraw*(pdfetex)(luatex) \todraw[dashed](lua)(luatex) \steplayer[-2] \tonode[\experimental](itex)(7,\layer){i\TeX} } \clearpage %%% plain TeX %%% \tograph(\tostruct[plain\TeX]{plain\TeX\ – the first format}){ \tonode(plaintex)(0,\layer){plain\TeX} \steplayer[-2] \tonode(ecplain)(-2,\layer){ec-plain} \tonode(eplain)(2,\layer){eplain} \todraw(plaintex)(ecplain) \todraw(plaintex)(eplain) } \clearpage %%% LATEX %%% \tograph*(\tostruct[\LaTeX]{\LaTeX\ – Lamport's \TeX\ format}){ \tonode(latex090)(-5.5,\layer){\LaTeX\ 0.90} \tonode(latex091)(-2,\layer){\LaTeX\ 0.91} \todraw(latex090)(latex091) \tonode(latex092)(2,\layer){\LaTeX\ 0.92} \todraw(latex091)(latex092) \tonode(latex09210)(6,\layer){\LaTeX\ 0.92 - 1.0} \todraw(latex092)(latex09210) \steplayer[-2.3] \tonode(latex2010)(-5,\layer){\LaTeX\ 2.0 - 1.0} \todraw(latex09210.south)(latex2010.north) \tonode(latex205)(0,\layer){\LaTeX\ 2.05} \todraw(latex2010)(latex205) \tonode(latex206a)(5,\layer){\LaTeX\ 2.06a} \todraw(latex205)(latex206a) \steplayer[-2.5] \tonode[\vip](latex209)(0,\layer){\LaTeX\ 2.09} \todraw(latex206a)(latex209) \steplayer[-2] \tonode(slitex)(2,\layer){SLI\TeX} \todraw(latex209)(slitex) \tonode(amslatex11)(6,\layer){\AMS\LaTeX\ 1.1} \todraw(latex209)(amslatex11) \steplayer[-1.7] \tonode[\vip](latex2ε)(0,\layer){\LaTeX\,2\raisebox{-.5ex}ε} \todraw*(latex209)(latex2ε) \todraw[dashed](slitex)(latex2ε) \todraw[dashed](amslatex11)(latex2ε) \tonode[\experimental](lambda)(-7.5,\layer){$\Lambda$} \todraw(latex209)(lambda) \steplayer[-1.5] \tonode[\experimental](lamed)(-7.5,\layer){Lamed} \todraw(lambda)(lamed) \steplayer[+1] \tonode(amslatex12)(6,\layer){\AMS\LaTeX 1.2} \tonode[\experimental](alatex)(-4.2,\layer){A\LaTeX} \todraw(amslatex11)(amslatex12) \todraw(latex2ε)(amslatex12) \todraw(latex2ε)(alatex) \steplayer[-1.5] \tonode(amslatex21)(8,\layer){\AMS\LaTeX 2.2} \todraw(amslatex12)(amslatex21) \steplayer[-1.5] \tonode[\vip](pdflatex)(2,\layer){pdf\LaTeX} \todraw*(latex2ε)(pdflatex) \tonode[\vip](xelatex)(5,\layer){\XeLaTeX} \todraw*(latex2ε)(xelatex) \tonode(platex)(-4.6,\layer){p\LaTeX} \todraw(latex2ε)(platex) \tonode[\vip](lualatex)(-1.8,\layer){Lua\LaTeX} \todraw*(latex2ε)(lualatex) \steplayer[-1.5] \tonode[\package](expl3)(1.5,\layer){expl3} \tonode[\package](xpackages)(4.5,\layer){xpackages} \steplayer[-1.5] \tonode[\planned](latex2x)(0,\layer){\LaTeX2x} \todraw(latex2x)(latex2ε) \todraw(latex2x)(expl3) \todraw(latex2x)(xpackages) \steplayer[-2] \tonode[\planned](latex22)(0,\layer){\LaTeX2.2} \todraw(latex2x)(latex22) \steplayer[-2] \tonode[\planned](latex25)(0,\layer){\LaTeX2.5} \todraw(latex22)(latex25) \steplayer[-3] \tonode[\planned](latex3)(0,\layer){\LaTeX{}3} \todraw(latex25)(latex3) \steplayer[-3] \tonode[\experimental](timeslatex)(-5,\layer){times\LaTeX} } %%% CONTEXT %%% \clearpage \tograph*(\tostruct[\ConTeXt]{\ConTeXt: con\,tex\,t – text with tex}){ \tonode(inrstex)(-3,\layer)<“Extended Plain TeX for use with MLTeX.”>{INRS\TeX} \steplayer[-2] \tonode(pragmatex)(0,\layer){pragmatex} \todraw(inrstex)(pragmatex) \steplayer[-2] \tonode(mki)(0,\layer){\ConTeXt MkI} \todraw(mki)(pragmatex) \steplayer[-2] \tonode[\vip](mkii)(0,\layer){\ConTeXt MkII} \todraw(mki)(mkii) \steplayer[-2] \tonode(mkiii)(4,\layer){\ConTeXt\ MkIII} \todraw(mkii)(mkiii) \steplayer[-2] \tonode[\vip](mkiv)(0,\layer){\ConTeXt MkIV} \todraw*(mkii)(mkiv) } %% go on with the rare formats \clearpage %%%% formats %%%% \tostruct[Other Formats]{Other Formats} %%% AMSTeX %%% \tograph(\tostruct(1)[\AMS-\TeX]{\AMS-\TeX}){ \tonode(amstex20)(0,\layer){\AMS-\TeX 2.0} \steplayer[-1] \tonode(lamstex)(5,\layer)<“LamSTeX{} is an extension of AmSTeX, and thus almost completely compatible with plain TeX”, as the documentation says. See references for details.>{\LamSTeX 2.0} \todraw(amstex20)(lamstex) \steplayer[-1] \tonode(amstex21)(0,\layer){\AMS-\TeX 2.1} \todraw(amstex20)(amstex21) \steplayer[-2] \tonode(amstex22)(0,\layer)< Latest version is 2.2 from 2001.>{\AMS-\TeX 2.2} \todraw(amstex21)(amstex22) } %%% BLUe' Format %%% \tograph(\tostruct(1)[BLUe]{BLUe}){ \tonode(blue)(0,0){BLUe} } %%% HP TeX %%% \tograph(\tostruct(1)[HP\TeX]{HP\TeX}){ \tonode(hptex)(0,0){HP \TeX} } %%% JadeTeX %%% \tograph(\tostruct(1)[Jade\TeX]{Jade\TeX}){ \tonode(jadetex)(0,0){Jade\TeX} } %%% Lollipop %%% \tograph(\tostruct(1)[Lollipop]{Lollipop}){ \tonode(lollipop09)(0,0){Lollipop 0.9} \steplayer \tonode(lollipop095)(0,0){Lollipop 0.95} } %%% MacroTeX %%% \tograph(\tostruct(1)[Macro\TeX]{Macro\TeX}){ \tonode(macrotex)(0,0){Macro\TeX} } %%% PHYS(E) %%% \tograph(\tostruct(1)[PHYS(E)]{PHYS(E)}){ \tonode(physe)(0,0){PHYS(E)} } %%% PHYZZX %%% \tograph(\tostruct(1)[PHYZZX]{PHYZZX}){ \tonode(phyzzx)(0,0){PHYZZX} } %%% StarTeX %%% \tograph(\tostruct(1)[Star\TeX]{Star\TeX\ – Starter's \TeX}){ \tonode(startex)(0,0) instead of \ command>{Star\TeX} } %%% Texinfo %%% \tograph(\tostruct(1)[Texinfo]{Texinfo}[\normalimportant]){ \tonode(texinfo)(0,0){Texinfo} } %%% XMLTeX %%% \tograph(\tostruct(1)[XML\TeX]{XML\TeX}){ \tonode(xmltex)(0,\layer){XML\TeX} } %%% YTeX %%% \tograph(\tostruct(1)[Y\TeX]{Y\TeX}[\experimental]){ \tonode(ytex)(0,0){Y\TeX} } %%% ZzTeX %%% \tograph(\tostruct(1)[Zz\TeX]{Zz\TeX}[\normalimportant]){ \tonode(zztex)(0,0)<“a macro package for producing books, jour- nals, and technical documentation”, named “after a rock group from Texas.” The author Paul C. Anagnostopoulos found LaTeX too unflexible. Appeared around 1992. >{Zz\TeX} } \clearpage \tostruct[Distributions]{Distributions}[\distro] \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. } \ExplSyntaxOn \fp_gset:Nn\layerdist{-1.5} \ExplSyntaxOff \tograph(\tostruct(1)[\TeX\ live]{\TeX\ live}){ \tonode(web2c)(0,\layer){Web2C} \steplayer %% PCTeX? (Breitenloher) [need more information] %% True TeX (MS DOS) [need more information] \tonode[\histdistro](emtex)(3,\layer){em\TeX} %% d-latex, latex … (trennmuster) \todraw.(web2c)(emtex) \steplayer \tonode[\histdistro](tetex)(3,\layer){te\TeX} \tonode[\histdistro](4alltexcd)(-3,\layer){4All\TeX CD } \todraw.(web2c)(tetex) \todraw.(web2c)(4alltexcd) \steplayer \tonode(fptex)(3,\layer){fp\TeX} \todraw(fptex)(tetex) \steplayer[-2.5] \tonode[\histdistro](xemtex)(4,\layer){XEm\TeX} \todraw(xemtex)(fptex) \tonode[\histdistro](tlpre2008)(0,\layer){\TeX\ live 1996\,–\,2007} \todraw(tetex)(tlpre2008) \todraw(4alltexcd)(tlpre2008) \todraw.(web2c)(tlpre2008) \steplayer \tonode(tl2008)(0,\layer){\TeX\ live2008} \todraw.(tl2008)(tlpre2008) \tonode[\histdistro](gwtex)(5,\layer){gw\TeX} \todraw(tlpre2008)(gwtex) \steplayer \tonode(tl2009)(0,\layer){\TeX\ live2009} \todraw(tl2009)(tl2008) \steplayer \tonode(tl2010)(0,\layer){\TeX\ live2010} \todraw(tl2010)(tl2009) \tonode(tlcontrib)(-5,\layer){TLContrib} \todraw.(tl2010)(tlcontrib) \steplayer \tonode(tl2011)(0,\layer){\TeX\ live2011} \todraw(tl2011)(tl2010) \todraw.(tl2011)(tlcontrib) \tonode(mactex)(5,\layer){Mac\TeX} \todraw(tl2011)(mactex) } \tograph(\tostruct(1)[MiK\TeX]{MiK\TeX}){ \tonode(mt)(0,\layer){MiK\TeX} \steplayer \tonode(mt26)(0,\layer){MiK\TeX\ 2.6} \todraw(mt)(mt26) \steplayer \tonode(mt27)(0,\layer){MiK\TeX\ 2.7} \todraw(mt27)(mt26) \steplayer \tonode(mt28)(0,\layer){MiK\TeX\ 2.8} \todraw(mt28)(mt27) \steplayer \tonode(mt29)(0,\layer){MiK\TeX\ 2.9} \todraw(mt29)(mt28) \steplayer \tonode(protext)(2,\layer){ProTeXt} \todraw(protext)(mt29) } \tograph(\tostruct(1)[\TeX\ collection]{\TeX\ collection}){ \tonode(texcollection)(0,\layer){\TeX\ Collection} } \tograph(\tostruct(1)[Con\TeX t minimals]{Con\TeX t minimals}){ \tonode(minimals)(0,\layer){Con\TeX t minimals} \steplayer \tonode(standalone)(0,\layer){Con\TeX t standalone} \todraw(minimals)(standalone) } \tograph(\tostruct(1)[W32\TeX]{W32\TeX}){ \tonode(w32tex)(0,\layer){W32\TeX} } \tograph(\tostruct(1)[OzTeX]{OzTeX}){ \tonode[\histdistro](oztex)(0,\layer){Oz\TeX} } \tograph(\tostruct(1)[For Amiga]{For Amiga}){ \tonode[\histdistro](amigatex)(-2,\layer){Amiga-TeX} \tonode[\histdistro](pastex)(2,\layer){pasTeX} } \tograph(\tostruct(1)[N\TeX]{N\TeX}){ \tonode[\histdistro](ntex)(0,\layer){N\TeX} } \newpage \ExplSyntaxOn \dim_set:Nn\pdfpagewidth{13cm} %% make a smaller paper so the header won’t feel so alone on the big, cold paper \dim_set:Nn\pdfpageheight{6cm} \newgeometry{left=1cm,top=1cm,width=11cm} \ExplSyntaxOff \newpage \tostruct[Pandora's Box]{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! } \restoregeometry \ExplSyntaxOn \dim_set:Nn\pdfpagewidth{21cm} %% back to a4 \dim_set:Nn\pdfpageheight{29.7cm} \ExplSyntaxOff %%% META* %%% \tograph(\tostruct(1)[META*]{META*}[\program]){ \tonode(metafont)(0,\layer){METAFONT} \steplayer \tonode(metafog)(3,\layer){Metafog} \todraw(metafog)(metafont) \tonode(metatype1)(-3,\layer){MetaType1} \todraw(metatype1)(metafont) \tonode(metapost)(0,\layer){MetaPost} \todraw(metapost)(metafont) \steplayer[-3] \tonode[\experimental](megapost)(0,\layer){MegaPost} \todraw(metapost)(megapost) \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} \todraw(metafun)(metapost) } %%% BIBTEX %%% \tograph(\tostruct(1)[Bib\TeX]{Bib\TeX}){ \tonode(bibtex)(0,0){\BibTeX} \steplayer[-1] \tonode(nbibtex)(4,\layer)<“NbibTeX helps authors take better advantage of BibTeX data” says the homepage.>{NbibTeX} \todraw(nbibtex)(bibtex) \steplayer[-0.5] \tonode(bibtex8)(0,\layer){\BibTeX8} \todraw(bibtex8)(bibtex) \tonode(mlbibtex)(-4,\layer){MlBibTeX} \todraw(mlbibtex)(bibtex) \steplayer \tonode(bibtexu)(0,\layer){\BibTeX u} \todraw(bibtex8)(bibtexu) \tonode(pbibtex)(-4,\layer){p\BibTeX} \todraw(bibtex8)(pbibtex) \tonode(pybtex)(3,\layer){Pybtex} \todraw(pybtex)(bibtexu) \steplayer \tonode(biber)(0,\layer){biber} \todraw(bibtexu)(biber) \tonode[\package](biblatex)(3,\layer){Bib\LaTeX} \todraw(biber)(biblatex) \todraw(bibtexu)(biblatex) \steplayer \tonode[\package](librarian)(5,\layer){Librarian} } %%% dvipdfm and similar ones %%% \tograph(\tostruct(1)[{(x)dvipdf(m)(x)}]{(x)dvipdf(m)(x)}){ \tonode(dvipdf)(0,0){dvipdf} \tonode(xdv2pdf)(4,0){xdv2pdf} \steplayer \tonode(dvipdfm)(0,\layer){dvipdfm} \steplayer \tonode(dvipdfmx)(0,\layer){dvipdfmx} \todraw(dvipdfm)(dvipdfmx) \steplayer \tonode(xdvipdfmx)(0,\layer){xdvipdfmx} \todraw(dvipdfmx)(xdvipdfmx) } \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]} ){ \tonode(bitmap)(0,\layer){Bitmap fonts} \steplayer[-3] \tonode(type1)(-2,\layer){PostScript Type 1} \tonode(truetype)(2,\layer){TrueType} \tonode(freetype)(6,\layer){FreeType} \todraw(freetype)(truetype) \steplayer[-3] \tonode(gx)(6,\layer)<“Graphis eXtension”. A font format only available for Mac OS.>{TrueType GX} \todraw(truetype)(gx) \steplayer[-3] \tonode(opentype)(-2,\layer){OpenType} \todraw(truetype)(opentype) \todraw(type1)(opentype) \tonode(aat)(6,\layer)<“Apple Advanced Typography” fonts are succesors of the GX fonts. Only available for Mac OS, too.>{AAT} \todraw(aat)(gx) } \topart{Text Views} \label{sec:text} \large \addtokomafont{section}{\huge} \addtokomafont{subsection}{\LARGE} \addtokomafont{subsubsection}{\Large} \newgeometry{margin=1.5cm,twocolumn} %% a bit more space for text views, but not too much … \settextviews %% these are generated automatically by the code above, see the -aux.tex document \addtocontents{toc}{\string\end{multicols}} \onecolumn \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 ☺ %% \tostruct{References} \label{sec:refs} \obeylines\flushleft %% centering was still active until here 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. \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} \tobib{Arthur Reutenauer. \textit{A Brief History of \TeX}. Talk at EuroBacho\TeX\ 2007.}% \tobib{\textit{A Brief History of \LaTeX}} \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} \tobib{Interviews with Will Robertson, Hans Hagen et.\,al.} \tobibsection{Archives} \tobib{CTAN – Comprehensive \TeX\ Archive Network:} \tobib{Historic Archive of \TeX\ Distributions:} \tobibsection{Engines} \tobib{ANT project page} \tobib{Yasuki S AITO. Report on JTEX: A Japanese TEX. TUGboat 8 (1987), no. 2, 103\,–\,116.}% \tobib{p\TeX\ sources and documentation} \tobib{enc\TeX\ page} \tobib{ML\TeX\ source (CH file)} \tobib{pdf\TeX\ project page} \tobib{\NTS\ project page} \tobib{V\TeX\ – official homepage of micropress-inc} \tobib{\XeTeX\ project page} \tobib{$\epsilon\chi$\TeX\ project page} \tobib{ee\TeX\ project page} \tobib{Lua\TeX\ project page} \tobib{i\TeX\ announcement by Don Knuth at the TUG 2010} \tobibsection{Formats} \tobib{Eplain homepage} \tobib{EC plain on CTAN} \tobib{\LaTeX\ project page} \tobib{\AMS\LaTeX: Documentation on CTAN} \tobib{\LaTeX2.2 – mail from Philipp Stephani on LuaLaTeX-dev list (last paragraph)} \tobib{\LaTeX3 project} \tobib{\ConTeXt\ wiki} \tobib{A\LaTeX: Discussion in TUGboat Vol. 16 (1995), No. 3, p. 269ff.} \tobib{BLUe on CTAN} \tobib{\AMS-\TeX\ on CTAN} \tobib{INRS\TeX\ on CTAN} \tobib{L\AMS\TeX: Short description} \tobib{HP \TeX\ on CTAN} \tobib{Jade\TeX\ project page} \tobib{PHYSE and PHYS on CTAN} \tobib{PHYZZX on CTAN} \tobib{Star\TeX\ on CTAN} \tobib{Texinfo project page} \tobib{XML\TeX\ manual} \tobib{Y\TeX\ on CTAN} \tobib{Zz\TeX: Article in TUGboat 13 (1992), No. 4} \tobibsection{Distributions} \tobib{fp\TeX: Announcment at TUG 1999} \tobib{\TeX\ live development history} \tobib{gw\TeX\ project page} \tobib{Brief History of gwTeX} \tobib{TLContrib project page} \tobib{Mac\TeX\ project page} \tobib{MiKTeX project page} \tobib{Christian Schenk about the name of MiKTeX (mailing list archive)} \tobib{Pro\TeX t project page} \tobib{\TeX Collection page} \tobib{Con\TeX t minimals on Con\TeX t garden wiki} \tobib{Win32 project page} \tobib{Oz\TeX\ project page} \tobib{\TeX\ on Amiga} \tobib{N\TeX\ project page} \tobibsection{Fonts} \tobib{Type1 Fonts specifications} \tobib{The FreeType project} \tobib{OpenType specifications} \tobibsection{Everything Else} \tobib{MetaPost developments in TUGboat Vol. 29 (2008), No. 3, p. 380ff.} \tobib{dvipdfmx project page} \clearpage \section{List of Contributors} I have to thank some people for helping me to improve this document. Of course I thank all the people provinding the above-mentioned programs and references. \begin{itemize} \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 Many people that stumbled upon my questions on different mailinglist, mostly texhax. \end{itemize} \end{document}