The computer science of TeX and LaTeX [web draft, lecture notes ed.]

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 t

333 38 1MB

English Pages 206 Year 2004

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
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

The computer science of TeX and LaTeX [web draft, lecture notes ed.]

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up