TeX (intended to be pronounced /ˈtɛx/ as in Greek Modern Greek refers to the varieties of Greek spoken in the modern era. The beginning of the "modern" period of the language is often symbolically assigned to the fall of the Byzantine Empire in 1453, even though that date marks no clear linguistic boundary and many characteristic modern features of the language had been present, but often simply pronounced /tɛk/ in English English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into South-East Scotland under the influence of the Anglian medieval kingdom of Northumbria. Following the economic, political, military, scientific, cultural, and colonial influence of Great Britain and the United Kingdom from the 18th century, and of) is a typesetting Typesetting is the composition of text material by means of types system designed and mostly written by Donald Knuth Donald Ervin Knuth (born January 10, 1938) is a renowned computer scientist and Professor Emeritus of the Art of Computer Programming at Stanford University.[1] Together with the METAFONT Metafont is a programming language used to define vector fonts. It is also the name of the interpreter that executes Metafont code, generating the bitmap fonts that can be embedded into e.g. PostScript. Metafont was devised by Donald Knuth as counterpart to his TeX typesetting system language for font description and the Computer Modern family of typefaces In typography, a typeface is a set of one or more fonts, in one or more sizes, designed with stylistic unity, each comprising a coordinated set of glyphs. A typeface usually comprises an alphabet of letters, numerals, and punctuation marks; it may also include ideograms and symbols, or consist entirely of them, for example, mathematical or map-, it was designed with two main goals in mind: to allow anybody to produce high-quality books using a reasonable amount of effort, and to provide a system that would give the exact same results on all computers, now and in the future.[2] Within the typesetting system, its name is formatted as TeX.

TeX is one popular means by which to typeset complex mathematical formulae; it has been noted as one of the most sophisticated digital typographical systems in the world.[3] TeX is popular in academia Academia, Acadème, or the Academy are collective terms for the community of students and scholars engaged in higher education and research, especially in mathematics Mathematics is the study of quantity, structure, space, and change. Mathematicians seek out patterns, formulate new conjectures, and establish truth by rigorous deduction from appropriately chosen axioms and definitions, computer science Computer science or computing science is the study of the theoretical foundations of information and computation, and of practical techniques for their implementation and application in computer systems. It is frequently described as the systematic study of algorithmic processes that create, describe, and transform information. Computer science, engineering Engineering is the discipline, art and profession of acquiring and applying technical, scientific, and mathematical knowledge to design and implement materials, structures, machines, devices, systems, and processes that safely realize a desired objective or invention, and physics Physics is a natural science that involves the study of matter and its motion through space-time, as well as all applicable concepts, such as energy and force. More broadly, it is the general analysis of nature, conducted in order to understand how the universe behaves. It has largely displaced Unix Unix is a computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna. Today's Unix systems are split into various branches, developed over time by AT&T as well as various commercial vendors and non-profit troff troff is a document processing system developed by AT&T for the Unix operating system, the other favored formatter, in many Unix installations, which use both for different purposes. It is now also being used for many other typesetting tasks, especially in the form of LaTeX Latex as found in nature is a milky sap-like fluid found in 10% of all flowering plants . It is a complex emulsion consisting of proteins, alkaloids, starches, sugars, oils, tannins, resins, and gums that coagulates on exposure to air. It is usually exuded after tissue injury. In most plants, latex is white, but some have yellow, orange, or and other template packages.

The widely-used MIME type An Internet media type, originally called a MIME type after MIME and sometimes a Content-type after the name of a header in several protocols whose value is such a type, is a two-part identifier for file formats on the Internet. The identifiers were originally defined in RFC 2046 for use in e-mail sent through SMTP, but their use has expanded to for TeX is application/x-tex. TeX is free software Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with minimal restrictions only to ensure that further recipients can also do these things and that manufacturers of consumer-.

Contents

History

When the first volume of Knuth's The Art of Computer Programming The Art of Computer Programming is a comprehensive monograph written by Donald Knuth that covers many kinds of programming algorithms and their analysis. At the end of 1999, it was named among the best twelve physical-science monographs of the century by American Scientist, along with: Dirac on quantum mechanics, Einstein on relativity, Mandelbrot was published in 1969, it was typeset using hot metal type set by a Monotype Corporation Monotype Imaging Holdings is a Delaware corporation based in Woburn, Massachusetts and specializing in typesetting and typeface design as well as text and imaging solutions for use with consumer electronics devices. Monotype Imaging Holdings is the owner of Monotype Imaging Inc., Linotype, International Typeface Corporation, among others. Monotype typecaster with a hot metal typesetting In printing and typography, hot metal typesetting refers to 19th-century technologies for typesetting text in letterpress printing. This method injects molten type metal into a mold that has the shape of one or more glyphs. The cast metal elements are later used to press ink onto paper machine from the 19th century which produced a "good classic style" appreciated by Knuth. When the second edition of the second volume was published, in 1976, the whole book had to be typeset again because the Monotype technology had been largely replaced by photographic techniques, and the original fonts were no longer available.[4] However, when Knuth received the galley proofs In printing and publishing, proofs are the preliminary versions of publications meant for review by authors, editors, and proofreaders. Galley proofs may be uncut and unbound, or in some cases electronic. They are created for proofreading and copyediting purposes, but may be used for promotional and review purposes also of the new book on 30 March 1977, he found them awful.[5] Around that time, Knuth saw for the first time the output of a high-quality digital typesetting system, and became interested in digital typography. The disappointing galley proofs gave him the final motivation to solve the problem at hand once and for all by designing his own typesetting system. On May 13, 1977, he wrote a memo to himself describing the basic features of TeX.[6]

He planned to finish it on his sabbatical Sabbatical or a sabbatical is a rest from work, or a hiatus, often lasting from two months to a year. The concept of sabbatical has a source in shmita, described several places in the Bible (Leviticus 25, for example, where there is a commandment to desist from working the fields in the seventh year). In the strict sense, therefore, sabbatical in 1978, but as it happened the language was frozen only in 1989, more than ten years later. Guy Steele Guy Lewis Steele Jr., , also known as "The Great Quux" and GLS (/ˈɡlɪs/), is an American computer scientist who has played an important role in designing and documenting several computer programming languages happened to be at Stanford The Leland Stanford Junior University, commonly referred to as Stanford University or Stanford, is a private research university located in Stanford, California, United States. The university was founded in 1891 by the Californian railroad tycoon Leland Stanford and named for his recently deceased son. Its alumni have founded the companies Hewlett- during the summer of 1978, when Knuth was developing his first version of TeX. When Steele returned to MIT The Massachusetts Institute of Technology is a private research university located in Cambridge, Massachusetts. MIT has five schools and one college, containing a total of 32 academic departments, with a strong emphasis on scientific and technological research. MIT is one of two private land-grant universities[b] and is also a sea-grant and space- that autumn, he rewrote TeX's I/O to run under the ITS ITS, the Incompatible Timesharing System , was an early, revolutionary, and influential time-sharing operating system from MIT; it was developed principally by the Artificial Intelligence Laboratory at MIT, with some help from Project MAC operating system. The first version of TeX was written in the SAIL programming language to run on a PDP-10 The PDP-10 is a mainframe computer manufactured by Digital Equipment Corporation from the late 1960s on; the name stands for "Programmed Data Processor model 10". The first model was delivered in 1966. It was the machine that made time-sharing common; it looms large in hacker folklore because of its adoption in the 1970s by many under Stanford's WAITS operating system. For later versions of TeX, Knuth invented the concept of literate programming, a way of producing compilable source code In computer science, source code is any collection of statements or declarations written in some human-readable computer programming language. Source code is the means most often used by programmers to specify the actions to be performed by a computer and cross-linked documentation typeset in TeX from the same original file. The language used is called WEB and produces programs in DEC PDP-10 Pascal Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.

A new version of TeX, rewritten from scratch and called TeX82, was published in 1982. Among other changes, the original hyphenation The hyphen is a punctuation mark used to join words and to separate syllables of a single word. It is often confused with dashes ( –, —, ― ), which are longer and have different uses, and with the minus sign ( − ) which is also longer. The use of hyphens is called hyphenation. In environments that are restricted to ISO 646 the hyphen-minus algorithm was replaced by a new algorithm written by Frank Liang. TeX82 also uses fixed-point arithmetic In computing, a fixed-point number representation is a real data type for a number that has a fixed number of digits after the radix point (e.g., after the decimal point '.' in English decimal notation). Fixed-point number representation can be compared to the more complicated (and more computationally demanding) floating point number instead of floating-point, to ensure reproducibility of the results across different computer hardware,[7] and includes a real, Turing-complete Turing completeness, named after Alan Turing, is significant in that every plausible design for a computing device so far advanced can be emulated by a universal Turing machine — an observation that has become known as the Church-Turing thesis. Thus, a machine that can act as a universal Turing machine can, in principle, perform any calculation programming language, following intense lobbying by Guy Steele.[8]

In 1989, Donald Knuth released new versions of TeX and METAFONT Metafont is a programming language used to define vector fonts. It is also the name of the interpreter that executes Metafont code, generating the bitmap fonts that can be embedded into e.g. PostScript. Metafont was devised by Donald Knuth as counterpart to his TeX typesetting system.[9] Despite his desire to keep the program stable, Knuth realised that 128 different characters for the text input were not enough to accommodate foreign languages; the main change in version 3.0 of TeX is thus the ability to work with 8-bits inputs, allowing 256 different characters in the text input.

Since version 3, TeX has used an idiosyncratic version numbering system, where updates have been indicated by adding an extra digit at the end of the decimal, so that the version number asymptotically In analytic geometry, an asymptote of a curve is a line such that the distance between the curve and the line approaches zero as they tend to infinity. Some sources include the requirement that the curve may not cross the line infinitely often, but this is unusual for modern authors. In some contexts, such as algebraic geometry, an asymptote is approaches π π is a mathematical constant whose value is the ratio of any circle's circumference to its diameter in Euclidean space; this is the same value as the ratio of a circle's area to the square of its radius. It is approximately equal to 3.141593 in the usual decimal notation. Many formulae from mathematics, science, and engineering involve π, which. This is a reflection of the fact that TeX is now very stable, and only minor updates are anticipated. The current version of TeX is 3.1415926; it was last updated in March 2008. The design was frozen after version 3.0, and no new feature or fundamental change will be added, so all newer versions will contain only bug A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, and a few are caused by fixes. Even though Donald Knuth himself has suggested a few areas in which TeX could have been improved, he indicated that he firmly believes that having an unchanged system that will produce the same output now and in the future is more important than introducing new features. For this reason, he has stated that the "absolutely final change (to be made after my death)" will be to change the version number to π, at which point all remaining bugs will become features.[10] Likewise, versions of METAFONT after 2.0 asymptotically approach e The mathematical constant e is the unique real number such that the value of the derivative of the function f(x) = ex at the point x = 0 is equal to 1. The function ex so defined is called the exponential function, and its inverse is the natural logarithm, or logarithm to base e. The number e is also commonly defined as the base of the natural, and a similar change will be applied after Knuth's death.

However, since the source code of TeX is essentially in the public domain Works are in the public domain if they are not covered by intellectual property rights at all, if the intellectual property rights have expired, and/or if the intellectual property rights are forfeited. Examples include the English language, the formulae of Newtonian physics, as well as the works of Shakespeare and the patents over powered flight (see below), other programmers are allowed (and explicitly encouraged) to improve the system, but are required to use another name to distribute the modified TeX, meaning that the source code can still evolve. For example, the Omega project was developed after 1991, primarily to enhance TeX's multilingual typesetting abilities. Donald Knuth himself created "unofficial" modified versions, such as TeX-XeT, which allows a user to mix texts written in left-to-right and right-to-left Bi-directional text is text containing text in both text directionalities, both right-to-left and left-to-right (LTR). It generally involves text containing different types of alphabets, but may also refer to boustrophedon, which is changing text directionality in each row writing systems Writing systems are distinguished from other possible symbolic communication systems in that one must usually understand something of the associated spoken language to comprehend the text. By contrast, other possible symbolic systems such as information signs, painting, maps and mathematics often do not require prior knowledge of a spoken language in the same document.[11]

Typesetting system

TeX commands commonly start with a backslash The backslash is a typographical mark (glyph) used chiefly in computing. It was first introduced to computers in 1960 by Bob Bemer. Sometimes called a reverse solidus or a slosh, it is the mirror image of the common slash and are grouped with curly braces Brackets are tall punctuation marks used in matched pairs within text, to set apart or interject other text. In the United States, "bracket" usually refers specifically to the "square" or "box" type; in British usage, it normally refers to a parenthesis mark. However, almost all of TeX's syntactic properties can be changed on the fly which makes TeX input hard to parse by anything but TeX itself. TeX is a macro A macro in computer science is a rule or pattern that specifies how a certain input sequence (often a sequence of characters) should be mapped to an output sequence (also often a sequence of characters) according to a defined procedure. The mapping process that instantiates (transforms) a macro into a specific output sequence is known as macro and token In computer science, lexical analysis is the process of converting a sequence of characters into a sequence of tokens. Programs performing lexical analysis are called lexical analyzers or lexers. A lexer is often organized as separate scanner and tokenizer functions, though the boundaries may not be clearly defined-based language: many commands, including most user-defined ones, are expanded on the fly until only unexpandable tokens remain which get executed. Expansion itself is practically side-effect free. Tail recursion In computer science, tail recursion is a special case of recursion in which the last operation of the function, the tail call, is a recursive call. Such recursions can be easily transformed to iterations. Replacing recursion with iteration, manually or automatically, can drastically decrease the amount of stack space used and improve efficiency of macros takes no memory, and if-then-else constructs are available. This makes TeX a Turing-complete Turing completeness, named after Alan Turing, is significant in that every plausible design for a computing device so far advanced can be emulated by a universal Turing machine — an observation that has become known as the Church-Turing thesis. Thus, a machine that can act as a universal Turing machine can, in principle, perform any calculation language even at expansion level.[12]

The system can be divided into four levels: in the first, characters are read from the input file and assigned a category code (sometimes called "catcode", for short). Combinations of a backslash (really: any character of category zero) followed by letters (characters of category 11) or a single other character are replaced by a control sequence token. In this sense this stage is like lexical analysis, although it does not form numbers from digits. In the next stage, expandable control sequences (such as conditionals or defined macros) are replaced by their replacement text. The input for the third stage is then a stream of characters (including ones with special meaning) and unexpandable control sequences (typically assignments and visual commands). Here characters get assembled into a paragraph. TeX's paragraph breaking algorithm works by optimizing breakpoints over the whole paragraph. The fourth stage breaks the vertical list of lines and other material into pages.

The TeX system has precise knowledge of the sizes of all characters and symbols, and using this information, it computes the optimal arrangement of letters per line and lines per page. It then produces a DVI file ("DeVice Independent") containing the final locations of all characters. This dvi file can be printed directly given an appropriate printer driver, or it can be converted to other formats. Nowadays, PDFTeX The computer program pdfTeX is an extension of Knuth's typesetting program TeX, and was originally written and developed into a publicly usable product by Hàn Thế Thành as a part of the work for his PhD thesis at the Faculty of Informatics, Masaryk University, Brno. The idea of making this extension to TeX was conceived during the early 1990s, is often used which bypasses DVI generation altogether.

The base TeX system understands about 300 commands, called primitives.[13] However, these low-level commands are rarely used directly by users, and most functionality is provided by format files (predumped memory images of TeX after large macro collections have been loaded). Knuth's original default format, which adds about 600 commands, is Plain TeX (available from CTAN). The most widely used format is LaTeX Latex as found in nature is a milky sap-like fluid found in 10% of all flowering plants . It is a complex emulsion consisting of proteins, alkaloids, starches, sugars, oils, tannins, resins, and gums that coagulates on exposure to air. It is usually exuded after tissue injury. In most plants, latex is white, but some have yellow, orange, or, originally developed by Leslie Lamport Leslie Lamport is an American computer scientist. A graduate of the Bronx High School of Science, he received a B.S. in mathematics from the Massachusetts Institute of Technology in 1960, and M.A. and Ph.D. degrees in mathematics from Brandeis University, respectively in 1963 and 1972. His dissertation was about singularities in analytic partial, which incorporates document styles for books, letters, slides, etc., and adds support for referencing and automatic numbering of sections and equations. Another widely used format, AMS-TeX, is produced by the American Mathematical Society The American Mathematical Society is an association of professional mathematicians dedicated to the interests of mathematical research and scholarship, which it does with various publications and conferences as well as annual monetary awards and prizes to mathematicians, and provides many more user-friendly commands, which can be altered by journals to fit with their house style. Most of the features of AMS-TeX can be used in LaTeX by using the AMS "packages". This is then referred to as AMS-LaTeX. Other formats include ConTeXt Context is the surroundings, circumstances, environment, background, or settings which determine, specify, or clarify the meaning of an event, used primarily for desktop publishing and written mostly by Hans Hagen at Pragma.

How TeX is run

A sample page produced using TeX with the LaTeX macros.

A sample Hello world program in plain TeX is:

Hello, World
\bye % marks the end of the file; not shown in the final output

This might be in a file myfile.tex, as .tex is a common file extension for plain TeX files.

By default, everything that follows a percent sign on a line is a comment, ignored by TeX. Running TeX on this file (for example, by typing tex myfile.tex in a command line interpreter, or by calling it from a graphical user interface) will create an output file called myfile.dvi, representing the content of the page in a device independent format (DVI). The results can either be printed directly from a DVI viewer or converted to a more common format such as PostScript using the dvips program. This was because TeX natively uses bitmap fonts, which are only designed to display well at one particular size, whereas PostScript typically uses scalable Type 1 fonts. It is now possible to make dvips output scalable fonts with a bit of tweaking (newer versions of Ghostscript support it). TeX variants such as PDFTeX produce PDF files directly.

Mathematical example

TeX provides a text syntax for mathematical formulae. For example, the well-known quadratic formula would appear as:

The quadratic formula is $-b \pm \sqrt{b^2 - 4ac} \over 2a$
\bye

and the output would resemble:

The formula is printed in a way a person would write by hand, or typeset the equation. In a document, entering mathematics mode is done by starting with a $, then entering a formula in TeX semantics and closing again with another $. Knuth explained in a jest that he chose the dollar sign to indicate the beginning and end of mathematical mode in plain TeX because typesetting mathematics was traditionally supposed to be expensive.[14] Display mathematics (mathematics presented centered on a new line) is similar but uses $$ instead of $. For example, the above with the quadratic formula in display math:

The quadratic formula is $$-b \pm \sqrt{b^2 - 4ac} \over 2a$$
\bye

renders as

Novel aspects

The TeX software incorporates several aspects that were not available, or were of lower quality, in other typesetting programs at the time when TeX was released. Some of the innovations are based on interesting algorithms, and have led to a number of theses for Knuth's students. While some of these discoveries have now been incorporated into other typesetting programs, others, such as the rules for mathematical spacing, are still unique.

Mathematical spacing

Mathematical text typeset using TeX and the AMS Euler font.

Since the primary goal of TeX was the high-quality typesetting of his book The Art of Computer Programming, Knuth gave a lot of attention to the choice of proper spacing rules for mathematical formulae. He took three bodies of work that he considered as standards of excellence for mathematical typography: the books typeset by Addison-Wesley, the publisher of The Art of Computer Programming, in particular the work done by Hans Wolf; editions of the mathematical journal Acta Mathematica dating from around 1910; and a copy of Indagationes Mathematicae, a Dutch mathematics journal. Knuth looked closely at these examples to derive a set of spacing rules for TeX.[15] While TeX provides some basic rules and the tools needed to specify proper spacing, the exact parameters depend on the font used to typeset the formula. For example, the spacing for Knuth's Computer Modern fonts has been precisely fine-tuned over the years and is now frozen, but when other fonts, such as AMS Euler, were used by Knuth for the first time, new spacing parameters had to be defined.[16]

Hyphenation and justification

In comparison with manual typesetting, the problem of justification is easy to solve with a digital system such as TeX, which, provided that good points for line breaking have been defined, can automatically spread the spaces between words to fill in the line. The problem is thus to find the set of breakpoints that will give the most pleasing result. Many line breaking algorithms use a first-fit approach, where the breakpoints for each line are determined one after the other, and no breakpoint is changed after it has been chosen.[17] Such a system is not able to define a breakpoint depending on the effect that it will have on the following lines. In comparison, the total-fit line breaking algorithm used by TeX and developed by Donald Knuth and Michael Plass considers all the possible breakpoints in a paragraph, and finds the combination of line breaks that will produce the most globally pleasing arrangement.

Formally, the algorithm defines a value called badness associated with each possible line break; the badness is increased if the spaces on the line must stretch or shrink too much to make the line the correct width. Penalties are added if a breakpoint is particularly undesirable: for example, if a word must be hyphenated, if two lines in a row are hyphenated, or if a very loose line is immediately followed by a very tight line. The algorithm will then find the breakpoints that will minimize the sum of squares of the badness (including penalties) of the resulting lines. If the paragraph contains n possible breakpoints, the number of situations that must be evaluated naively is 2n. However, by using the method of dynamic programming, the complexity of the algorithm can be brought down to O(n2) (see Big O notation). Further simplifications (for example, not testing extremely unlikely breakpoints such as a hyphenation in the first word of a paragraph) lead to an efficient algorithm whose running time is almost always of order n. A similar algorithm is used to determine the best way to break paragraphs across two pages, in order to avoid widows or orphans (lines that appear alone on a page while the rest of the paragraph is on the following or preceding page). However, in general, a thesis by Michael Plass shows how the page breaking problem can be NP-complete because of the added complication of placing figures.[18]

TeX's line breaking algorithm has been adopted by several other programs, such as Adobe InDesign, a desktop publishing application,[19] and the GNU fmt Unix command line utility.[20]

If no suitable line break can be found for a line, the system will try to hyphenate a word. The original version of TeX used a hyphenation algorithm based on a set of rules for the removal of prefixes and suffixes of words, and for deciding if it should insert a break between the two consonants in a pattern of the form vowelconsonantconsonantvowel (which is possible most of the time).[21] TeX82 introduced a new hyphenation algorithm, designed by Frank Liang in 1983, to assign priorities to breakpoints in letter groups. A list of hyphenation patterns is first generated automatically from a corpus of hyphenated words (a list of 50,000 words). If TeX must find the acceptable hyphenation positions in the word encyclopedia, for example, it will consider all the subwords of the extended word .encyclopedia., where . is a special marker to indicate the beginning or end of the word. The list of subwords include all the subwords of length 1 (., e, n, c, y, etc.), of length 2 (.e, en, nc, etc.), etc., up to the subword of length 14, which is the word itself, including the markers. TeX will then look into its list of hyphenation patterns, and find subwords for which it has calculated the desirability of hyphenation at each position. In the case of our word, 11 such patterns can be matched, namely 1c4l4, 1cy, 1d4i3a, 4edi, e3dia, 2i1a, ope5d, 2p2ed, 3pedi, pedia4, y1c. For each position in the word, TeX will calculate the maximum value obtained among all matching pattern, yielding en1cy1c4l4o3p4e5d4i3a4. Finally, the acceptable positions are those indicated by an odd number, yielding the acceptable hyphenations en-cy-clo-pe-di-a. This system based on subwords allows the definition of very general patterns (such as 2i1a), with low indicative numbers (either odd or even), which can then be superseded by more specific patterns (such as 1d4i3a) if necessary. These patterns find about 90% of the hyphens in the original dictionary; more importantly, they do not insert any spurious hyphen. In addition, a list of exceptions (words for which the patterns do not predict the correct hyphenation) are included with the Plain TeX format; additional ones can be specified by the user.[22][23]

METAFONT

Main article: METAFONT

METAFONT, not strictly part of TeX, is a font description system which allows the designer to describe characters algorithmically. It uses Bézier curves in a fairly standard way to generate the actual characters to be displayed, but Knuth devotes lots of attention to the rasterizing problem on bitmapped displays. Another thesis, by John Hobby, further explores this problem of digitizing "brush trajectories". This term derives from the fact that METAFONT describes characters as having been drawn by abstract brushes (and erasers).

It is possible to use TeX and LaTeX without METAFONT. Adobe PostScript ("Type 1") fonts may be used instead. Because (La)TeX expects fonts to be supplied as bitmaps at specific point sizes, and PostScript is a vector (outline) description scalable over a wide range, the mix of TeX and PostScript does introduce some minor complications. Nonetheless, with the help of some prewritten packages, (La)TeX can be made to use PostScript fonts. Further note that "Type 1" or "T1" can refer in documentation to two very different things: the TeX T1 character encoding scheme to map byte values to glyphs; and also to Adobe PostScript fonts.

Macro language

TeX provides an unusual macro language; the definition of a macro not only includes a list of commands but also the syntax of the call. Macros are completely integrated with a full-scale interpreted compile-time language that also guides processing.

TeX's macro level of operation is lexical, but it is a built-in facility of TeX, that makes use of syntax interpretation. Comparing with most widely used lexical preprocessors like M4, it differs slightly, as the body of a macro gets tokenized at definition time, that is, it is not completely raw text. Except for a few very special cases, this gives the same behaviour.

The TeX macro language has been successfully used to extend TeX to, for instance, LaTeX and ConTeXt.

Development

The original source code for the current TeX software is written in WEB, a mixture of documentation written in TeX and a Pascal subset in order to ensure portability. For example, TeX does all of its dynamic allocation itself from fixed-size arrays and uses only fixed-point arithmetic for its internal calculations. As a result, TeX has been ported to almost all operating systems, usually by using the web2c program to convert the source code into C instead of directly compiling the Pascal code.

Knuth has kept a very detailed log of all the bugs he has corrected and changes he has made in the program since 1982; as of 2008[update], the list contains 427 entries, not including the version modification that should be done after his death as the final change in TeX.[24][25] Donald Knuth offers monetary awards to people who find and report a bug in TeX. The award per bug started at $2.56 (one "hexadecimal dollar"[26]) and doubled every year until it was frozen at its current value of $327.68. Knuth, however, has lost relatively little money as there have been very few bugs claimed. In addition, recipients have been known to frame their check as proof that they found a bug in TeX rather than cashing it.[27][28] Due to scammers finding scanned copies of his checks on the internet and using them to try to drain his bank account, Knuth no longer sends out real checks, but those who submit bug reports can get credit at The Bank of San Serriffe instead.[29]

Packages

TeX is usually provided in the form of an easy-to-install bundle of TeX itself along with METAFONT and all the necessary fonts, documents formats, and utilities needed to use the typesetting system. On UNIX-compatible systems, including Linux and Mac OS X, TeX is distributed in the form of the teTeX distribution and more recently the TeX Live distribution. On Microsoft Windows, there is the MiKTeX distribution (enhanced by proTeXt) and the Windows version of TeX Live.

Several document processing systems are based on TeX, notably jadeTeX, which uses TeX as a backend for printing from James Clark's DSSSL Engine, the Arbortext publishing system, and Texinfo, the GNU documentation processing system. TeX has been the official typesetting package for the GNU operating system since 1984.

XeTeX is a new TeX engine that supports Unicode. Originally making use of advanced Mac OS X-specific font technologies, it now supports OpenType and is available on Linux and Microsoft Windows.

Numerous extensions and companion programs for TeX exist, among them BibTeX for bibliographies (distributed with LaTeX), pdfTeX, which bypasses dvi and produces output in Adobe Systems' Portable Document Format, and Omega, which allows TeX to use the Unicode character set. Most TeX extensions are available for free from CTAN, the Comprehensive TeX Archive Network.

Editors

See also: Comparison of TeX editors

There are a variety of editors designed to work with TeX.

The TeXmacs text editor is a WYSIWYG scientific text editor that is inspired by both TeX and Emacs. It uses Knuth's fonts, and can generate TeX output.

LyX is a WYSIWYG document processor which runs on a variety of platforms including Linux, Windows (newer versions require Windows 2000 or later) or Mac OS X (using a non-native Qt front-end).

TeXShop for Mac OS X, and WinShell for Windows are similar tools and provide integrated development environment (IDE) for working with LaTeX or TeX. For KDE, Kile provides such an IDE.

GNU Emacs has various built-in and third party packages with support for TeX, the major one being AUCTeX.

For Vim there is the Vim-LaTeX Suite.

License

Donald Knuth has indicated several times[30][31] that the source code of TeX has been placed into the "public domain," and he strongly encourages modifications or experimentations with this source code. However, since the code is still copyrighted, it is technically free/open-source software but is not in the public domain in the legal sense. In particular, since Knuth highly values the reproducibility of the output of all versions of TeX, any changed version must not be called TeX, TeX, or anything confusingly similar. To enforce this rule, any implementation of the system must pass a test suite called the TRIP test[32] before being allowed to be called TeX. The question of license is somewhat confused by the statements included at the beginning of the TeX source code,[33] which indicate that "all rights are reserved. Copying of this file is authorized only if (...) you make absolutely no changes to your copy". However, this restriction should be interpreted as a prohibition to change the source code as long as the file is called tex.web. This interpretation is confirmed later in the source code when the TRIP test is mentioned ("If this program is changed, the resulting system should not be called 'TeX'").

The American Mathematical Society has also claimed a trademark for TeX, which was rejected, because at the time this was tried (early 1980s), "TEX" (all caps) was registered by Honeywell for the "Text EXecutive" text processing system.[citation needed]

Use of TeX

In several technical fields, in particular, computer science, mathematics, engineering, and physics, TeX has become a de facto standard. Many thousands of books have been published using TeX, including books published by Addison-Wesley, Cambridge University Press, Elsevier, Oxford University Press and Springer. Numerous journals in these fields are produced using TeX or LaTeX, allowing authors to submit their raw manuscript written in TeX.[34]

While many publications in other fields, including dictionaries and legal publications, have been produced using TeX, it has not been as successful as in more technical fields, because TeX was primarily designed for mathematics. When he designed TeX, Donald Knuth did not believe that a single typesetting system would fit everyone's needs; instead, he designed many hooks inside the program so that it would be possible to write extensions, and released the source code, hoping that publishers would design versions tailored to their needs. While such extensions have been created (including some by Knuth himself[11]), most people have extended TeX only using macros and it has remained a system associated with technical typesetting.[35][36]

Pronouncing and writing "TeX"

The name TeX is intended by its developer to be pronounced /ˈtɛx/, with the final consonant of loch or Bach.[37] The letters of the name are meant to represent the capital Greek letters tau, epsilon, and chi, as TeX is an abbreviation of τέχνη (ΤΕΧΝΗ – technē), Greek for both "art" and "craft", which is also the root word of technical. English speakers often pronounce it /ˈtɛk/, like the first syllable of technical.

Donald Knuth instructs that it be typeset with the "E" below the baseline and reduced spacing between the letters. This is done, as Knuth mentions in his TeXbook, to distinguish TeX from other system names such as TEX, the Text EXecutive processor (developed by Honeywell Information Systems).[38] Fans like to proliferate names from the word "TeX"—such as TeXnician (user of TeX software), TeXhacker (TeX programmer), TeXmaster (competent TeX programmer), TeXhax, and TeXnique.

Community

Notable entities in the TeX community include the TeX Users Group, which publishes TUGboat and The PracTeX Journal, covering a wide range of topics in digital typography relevant to TeX. The Deutschsprachige Anwendervereinigung TeX is a large user group in Germany. The TeX Users Group was founded in 1980 for educational and scientific purposes, provides an organization for those who have an interest in typography and font design, and are users of the TeX typesetting system invented by Donald Knuth. The TeX Users Group represents the interests of TeX users worldwide. The TeX Users Group publishes the journal TUGboat three times per year

See also

Free software portal

Notes

  1. ^ "Per Bothner (assistant of Knuth) discusses authorship". http://gcc.gnu.org/ml/java/1999-q2/msg00419.html. "Knuth definitely wrote most of the code himself, at least for the Metafont re-write, for which I have personal knowledge. However, some of his students (such as Michael Plass and John Hobby) did work on the algorithms used in TeX and Metafont."
  2. ^ Alexia Gaudeul (March 27, 2006). "Do Open Source Developers Respond to Competition?: The (La)TeX Case Study". http://ssrn.com/abstract=908946.
  3. ^ Yannis Haralambous. Fonts & Encodings (Translated by P. Scott Horne). Beijing; Sebastopol, Calif: O’Reilly Media, 2007, pp. 235.
  4. ^ Donald E. Knuth. Digital Typography. Commemorative lecture for the Kyoto Prize, Kyoto, 1996. Reprinted as chapter 1 of the book Digital Typography.
  5. ^ Digital Typography, p. 5. "I had spent 15 years writing those books, but if they were going to look awful I didn't want to write any more."
  6. ^ Donald E. Knuth. TEXDR.AFT, chapter 24 of the book Digital Typography.
  7. ^ Knuth and Plass, p. 144
  8. ^ Donald E. Knuth, Knuth meets NTG members, NTG: MAPS. 16 (1996), 38–49. Reprinted as Questions and Answers, III, chapter 33 of Digital Typography, p. 648.
  9. ^ Donald E. Knuth. The New Versions of TeX and METAFONT, TUGboat 10 (1989), 325–328; 11 (1990), 12. Reprinted as chapter 29 of Digital Typography.
  10. ^ Donald E. Knuth. The future of TeX and METAFONT, NTG journal MAPS (1990), 489. Reprinted as chapter 30 of Digital Typography, p. 571.
  11. ^ a b Donald E. Knuth and Pierre MacKay. Mixing Right-to-Left Texts with Left-to-Right Texts, TUGboat 8 (1987), 14–25. Reprinted as chapter 4 of Digital Typography.
  12. ^ Alan Jeffrey. Lists in TeX's Mouth, TUGboat 11:2 (1990), 237–245.
  13. ^ The TeXbook, p. 9.
  14. ^ Donald E. Knuth, The TeXbook, Ch. 16: Typing Math Formulas, p. 127.
  15. ^ Donald E. Knuth. Questions and Answers II, TUGboat 17 (1996), 355–367. Reprinted as chapter 32 of Digital Typography, p. 620.
  16. ^ Donald E. Knuth. Typesetting Concrete Mathematics, TUGboat 10 (1989), 31–36, 342. Reprinted as chapter 18 of Digital Typography.
  17. ^ Michael P. Barnett. Computer Typesetting: Experiments and Prospects. Cambridge, Massachusetts: MIT Press, 1965.
  18. ^ Knuth and Plass
  19. ^ Advogato. Interview of Donald E. Knuth (PDF file, also available in HTML at [1]), TUGboat 21 (2000), 103–110.
  20. ^ GNU Project, GNU text utilities manual, 4.1 fmt: Reformat paragraph text. 2000.
  21. ^ Liang, p. 3
  22. ^ Liang, PhD thesis
  23. ^ The TeXbook, Appendix H: Hyphenation, pp. 449–455.
  24. ^ Donald E. Knuth, List of updates to the TeX82 listing published in September 1982, available on CTAN.
  25. ^ Donald E. Knuth, Appendix to the Errors of TeX paper, available on CTAN, last modified in January 2003.
  26. ^ Frequently Asked Questions on Don Knuth's webpage
  27. ^ Kara Platoni, Love at First Byte. Stanford Magazine, May-June 2006
  28. ^ The History of TeX
  29. ^ http://sunburn.stanford.edu/~knuth/news08.html
  30. ^ The future of TeX and METAFONT, p. 572 of the book Digital Typography.
  31. ^ Donald E. Knuth. Computers and Typesettings (available online split into 2 files: [2] [3]), TUGboat 7 (1986), 95–98. Reprinted as chapter 28 of Digital Typography, p. 560.
  32. ^ available on CTAN
  33. ^ Donald E. Knuth, TeX: The Program.
  34. ^ Beebe, p.10
  35. ^ Donald E. Knuth. Questions and Answers I, TUGboat 17 (1996), 7–22. Reprinted as chapter 31 of Digital Typography, p. 598.
  36. ^ Donald E. Knuth. Questions and Answers II, TUGboat 17 (1996), 355–367. Reprinted as chapter 32 of Digital Typography, p. 616–617.
  37. ^ Donald E. Knuth, The TeXbook, Ch. 1: The Name of the Game, p. 1.
  38. ^ Donald E. Knuth. The TeX Logo in Various Fonts, TUGboat 7 (1986), 101. Reprinted as chapter 6 of Digital Typography.

References

External links

Find more about TeX on Wikipedia's sister projects:
Definitions from Wiktionary
Textbooks from Wikibooks
Quotations from Wikiquote
Source texts from Wikisource
Images and media from Commons
News stories from Wikinews
Learning resources from Wikiversity
TeX editors
Open source AUCTEX · GNU TeXmacs · Gummi · Kile · LyX · MeWa · TeXShop · TeXnicCenter · Texmaker · TeXworks · Winefish
Freeware LaTeX-Editor (LEd) · proTeXt · WinShell
Retail Scientific WorkPlace · WinEdt
CategoryComparison

Categories: Desktop publishing software | Digital typography | Free TeX software | Macro programming languages | Typesetting | TeX | Donald Knuth | Typesetting software

 

The above information uses material from Wikipedia and is licensed under the GNU Free Documentation License.
Some facts may not have been fully verified for accuracy. [Disclaimers]
This page was last archived by our server on Sun Aug 1 05:26:59 2010. [ refresh local cache ]
Displaying this page or its contents does not use any Wikimedia Foundation's resources.
The owners of this site proudly support the Wikimedia Foundation.


Tex Gives Yanks a Reason to Celebrate - Wall Street Journal
online.wsj.com
Tex Gives Yanks a Reason to Celebrate - Wall Street Journal
Mon, 21 Jun 2010 02:38:00 GMT+00:00
Gives Yanks a Reason to Celebrate Wall Street Journal I mean, we had one huge hit today, and it came from Tex .'' Entering this season, Mr. Teixeira had averaged 33 homers and 114 RBIs in his seven previous ... Yanks pick up finale from Mets River Ave. Blues Memo to Yankee fans: No need to worry about Sabathia or Teixeira SILive.com (blog) Teixeira, Yankees Rise Above Tabloid Drama, to Majors' Best Record FanHouse NBC New York
Google News Search: TeX,
Sat Jul 17 13:07:47 2010
tex jpg
macgamer.net
tex jpg
768px x 549px | 146.00kB

[source page]

Tex Not available in demo A rootin tootin cowboy and a gentleman too Watch out for the six shooters though Stun Gun Spinning six shooters fire off paddle stunning rounds

Yahoo Images Search: TeX,
Sat Apr 3 21:25:30 2010
Smokin Tex Pro Series 1400 Stainless Steel Electric Smoker | Weber ...
weberelectricgrills.com
Smokin Tex Pro Series 1400 Stainless Steel Electric Smoker | Weber ...

admin

Sun, 11 Jul 2010 18:42:29 GM

Find the best BBQ in Weber electric grills, propane gas grills and smoky by Weber, Ducane, Napoleon, Solaire, BeefEater and Coleman. .

Google Blogs Search: TeX,
Sun Jul 25 16:51:22 2010
Can you wash a gore-tex jacket with normal washing powder in a normal washing machine or will it ruin it?
Q. I know that you can get special tech wash for goretex but its expensive and I wanted to know whether normal washing powder would do.
Asked by The sheep expert - Mon Dec 10 11:07:47 2007 - - 4 Answers - 0 Comments

A. My gore-tex jacket has been washed many times with standard laundry powdered detergent and is still in great shape. I followed the cleaning instructions sewn into the garment. Look for care instructions sewn into the neck , waist, or side seam.
Answered by Jane P - Mon Dec 10 11:37:11 2007

Yahoo Answers Search: TeX,
Sat Jul 17 13:09:10 2010