These are the lecture notes of a course I taught in the fall of 2004. This was the first time I taught the course, and the first time this course was taught, period. These lecture notes, therefore, are probably full of inaccuracies, mild fibs, and gross errors. Ok, make that 'are definitely full of &c\ because I know of several errors that time has prevented me from addressing.
Author(s): Eijkhout V.
Edition: web draft, lecture notes
Year: 2004
Language: English
Pages: 206
About this book......Page 2
TeX and LaTeX......Page 6
Document markup......Page 7
The absolute basics of LaTeX......Page 9
The TeX conceptual model of typesetting......Page 11
Text elements......Page 12
Math......Page 20
References......Page 22
Customizing LaTeX......Page 24
Extensions to LaTeX......Page 28
TeX programming......Page 30
TeX visuals......Page 31
Projects for this chapter......Page 32
Parsing......Page 34
Very short introduction......Page 35
Lexical analysis......Page 37
Finite state automata and regular languages......Page 38
Lexical analysis with FSAs......Page 42
Syntax parsing......Page 43
Context-free languages......Page 44
Parsing context-free languages......Page 46
Lex......Page 55
Structure of a lex file......Page 57
Rules section......Page 58
Remarks......Page 61
Examples......Page 62
Yacc......Page 64
Motivating example......Page 66
Lex Yacc interaction......Page 68
Operators; precedence and associativity......Page 70
Further remarks......Page 71
Examples......Page 74
Hashing......Page 77
Hash functions......Page 80
Collisions......Page 83
Other applications of hashing......Page 87
Projects for this chapter......Page 88
Breaking things into pieces......Page 90
Some examples......Page 91
TeX paragraph breaking......Page 97
The elements of a paragraph......Page 99
TeX's line breaking algorithm......Page 103
NP completeness......Page 109
Introduction......Page 111
Basics......Page 112
Complexity classes......Page 113
NP-completeness......Page 115
Page breaking......Page 117
TeX's page breaking algorithm......Page 119
Theory of page breaking......Page 121
Projects for this chapter......Page 128
Fonts......Page 130
Introduction to curve approximation......Page 131
Parametric curves......Page 136
Curve plotting with `#=12 `_=12 `=12 `&=12 =gnuplot......Page 144
Introduction......Page 146
Raster graphics......Page 147
Basic raster graphics......Page 148
Rasterizing type......Page 151
Anti-aliasing......Page 155
Projects for this chapter......Page 157
TeX's macro language -- unfinished chapter......Page 160
Logic with TeX......Page 161
Character encoding......Page 172
History and context......Page 173
Unicode......Page 176
More about character sets and encodings......Page 179
Character issues in TeX / LaTeX......Page 181
Font encoding......Page 183
Basic terminology......Page 184
Æsthetics......Page 186
Font technologies......Page 187
Font handling in TeX and LaTeX......Page 190
Input and output encoding in LaTeX......Page 191
Projects for this chapter......Page 192
Software engineering......Page 194
Software engineering......Page 195
TeX's development......Page 196
Markup......Page 198
History......Page 199
Projects for this chapter......Page 200