Last Updated on July 8, 2023
4. A Gentle Introduction to TeX by Michael Doob
A Gentle Introduction to TeX is billed as a manual for self-study.
The purpose of this manual is to start from the very beginning and to move towards these more complicated situations.
No previous knowledge of TeX is assumed by the author. By proceeding a section at a time, greater varieties of text can be produced.
The contents of the book:
- Getting Started.
- Characters requiring special input such as { } % &, accents, typesetting letters from languages other than English, quotes, different fonts.
- Make text have different shapes or sizes – examines units, page shape, paragraph shape, line shape, footnotes, headlines and footlines, overfull and underfull boxes.
- Groups.
- Provides the basic for creating beautiful typeset mathematics – symbols, fractions, subscripts and superscripts, roots, lines, delimiters and more.
- Aligning text – tabbing environment, horizontal alignment environment.
- Create new control words.
- Debugging – looks at some typical errors and the messages generated.
- Topics that allow TeX to be used with more flexibility or efficiency.
- List of the control words used in this book.
The book is published under a free license.
5. Getting Started with Plain TeX by D. R. Wilkins
This is an introductory text to the world of TeX.
Chapters explore:
- Introduction to Plain TeX.
- Producing Simple Documents using Plain TeX.
- Mathematical Formulae using Plain TeX.
- Further Features of Plain TeX.
No license is specified.
6. The Computer Science of TeX and LaTeX by Victor Eijkhout
The Computer Science of TeX and LaTeX uses the TeX and LaTeX system to provide an introduction to a number of computer science topics.
This book is based on the lecture notes of a course taught at the University of Tennessee in the fall of 2004. This is a ‘topics’ course in computer science, using TeX and LaTeX as motivation and examples.
The content of the book covers:
- The use of LaTeX for document preparation, LaTeX style file programming, and TeX programming.
- Learn the basic of language theory and parsing, and apply this to parsing TeX and LaTeX.
- Looks at dynamic programming, TeX paragraph breaking, TeX’s line breaking algorithm, nondetermininistic polynomial time (NP) completeness, basics, complexity classes, NP-completeness, page breaking, TeX’s page breaking algorithm, theory of page breaking
- Fonts, explores Bezier curves, Parametric curves, piecewise curves, curve plotting with gnuplot, raster graphics, rasterizing type, anti-aliasing.
- TeX’s macro language – this is an unfinished chapter.
- Character encoding including ISO 10646, Unicode, UTF-8, font encoding, aesthetics, the fontenc package, and more.
- Software engineering.
- Literate programming.
The book is released under a Creative Commons Attribution 3.0 Unported (CC BY 3.0) license.
Pages in this article:
Page 1 – TeX for the Impatient and more books
Page 2 – A Gentle Introduction to TeX and more books
All books in this series:
Free Programming Books | |
---|---|
Ada | ALGOL-like programming language, extended from Pascal and other languages |
Agda | Dependently typed functional language based on intuitionistic Type Theory |
Arduino | Inexpensive, flexible, open source microcontroller platform |
Assembly | As close to writing machine code without writing in pure hexadecimal |
Awk | Versatile language designed for pattern scanning and processing language |
Bash | Shell and command language; popular both as a shell and a scripting language |
BASIC | Beginner’s All-purpose Symbolic Instruction Code |
C | General-purpose, procedural, portable, high-level language |
C++ | General-purpose, portable, free-form, multi-paradigm language |
C# | Combines the power and flexibility of C++ with the simplicity of Visual Basic |
Clojure | Dialect of the Lisp programming language |
ClojureScript | Compiler for Clojure that targets JavaScript |
COBOL | Common Business-Oriented Language |
CoffeeScript | Transcompiles into JavaScript inspired by Ruby, Python and Haskell |
Coq | Dependently typed language similar to Agda, Idris, F* and others |
Crystal | General-purpose, concurrent, multi-paradigm, object-oriented language |
CSS | CSS (Cascading Style Sheets) specifies a web page’s appearance |
D | General-purpose systems programming language with a C-like syntax |
Dart | Client-optimized language for fast apps on multiple platforms |
Dylan | Multi-paradigm language supporting functional and object-oriented coding |
ECMAScript | Best known as the language embedded in web browsers |
Eiffel | Object-oriented language designed by Bertrand Meyer |
Elixir | Relatively new functional language running on the Erlang virtual machine |
Erlang | General-purpose, concurrent, declarative, functional language |
F# | Uses functional, imperative, and object-oriented programming methods |
Factor | Dynamic stack-based programming language |
Forth | Imperative stack-based programming language |
Fortran | The first high-level language, using the first compiler |
Go | Compiled, statically typed programming language |
Groovy | Powerful, optionally typed and dynamic language |
Haskell | Standardized, general-purpose, polymorphically, statically typed language |
HTML | HyperText Markup Language |
Icon | Wide variety of features for processing and presenting symbolic data |
J | Array programming language based primarily on APL |
Java | General-purpose, concurrent, class-based, object-oriented, high-level language |
JavaScript | Interpreted, prototype-based, scripting language |
Julia | High-level, high-performance language for technical computing |
Kotlin | More modern version of Java |
LabVIEW | Designed to enable domain experts to build power systems quickly |
LaTeX | Professional document preparation system and document markup language |
Lisp | Unique features - excellent to study programming constructs |
Logo | Dialect of Lisp that features interactivity, modularity, extensibility |
Lua | Designed as an embeddable scripting language |
Markdown | Plain text formatting syntax designed to be easy-to-read and easy-to-write |
Objective-C | Object-oriented language that adds Smalltalk-style messaging to C |
OCaml | The main implementation of the Caml language |
Pascal | Imperative and procedural language designed in the late 1960s |
Perl | High-level, general-purpose, interpreted, scripting, dynamic language |
PHP | PHP has been at the helm of the web for many years |
PostScript | Interpreted, stack-based and Turing complete language |
Prolog | A general purpose, declarative, logic programming language |
PureScript | Small strongly, statically typed language compiling to JavaScript |
Python | General-purpose, structured, powerful language |
QML | Hierarchical declarative language for user interface layout - JSON-like syntax |
R | De facto standard among statisticians and data analysts |
Racket | General-purpose, object-oriented, multi-paradigm, functional language |
Raku | Member of the Perl family of programming languages |
Ruby | General purpose, scripting, structured, flexible, fully object-oriented language |
Rust | Ideal for systems, embedded, and other performance critical code |
Scala | Modern, object-functional, multi-paradigm, Java-based language |
Scheme | A general-purpose, functional language descended from Lisp and Algol |
Scratch | Visual programming language designed for 8-16 year-old children |
SQL | Access and manipulate data held in a relational database management system |
Standard ML | General-purpose functional language characterized as "Lisp with types" |
Swift | Powerful and intuitive general-purpose programming language |
Tcl | Dynamic language based on concepts of Lisp, C, and Unix shells |
TeX | Markup and programming language - create professional quality typeset text |
TypeScript | Strict syntactical superset of JavaScript adding optional static typing |
Vala | Object-oriented language, syntactically similar to C# |
VHDL | Hardware description language used in electronic design automation |
VimL | Powerful scripting language of the Vim editor |
XML | Rules for defining semantic tags describing structure ad meaning |