Upgrade to Pro — share decks privately, control downloads, hide ads and more …

TeX - The ultimate Yakshave

Florian Gilcher
March 05, 2015
4.7k

TeX - The ultimate Yakshave

Florian Gilcher

March 05, 2015
Tweet

Transcript

  1. Donald Ervin Knuth Born 1938 Professor at Stanfort “father of

    the analysis of algorithms” Known both as a theoretical and a practical computer scientist Gives a christmas lecture about trees Patron saint of yakshaving
  2. The art of computer programming First released in 1968 Describes

    programming a theoretical, but practical computer.
  3. In 1976, Knuth prepared a second edition of Volume 2,

    requiring it to be typeset again, but the style of type used in the first edition (called hot type) was no longer available. In 1977, he decided to spend some time creating something more suitable. Eight years later, he returned with TEX, which is currently used for all volumes.
  4. Implementation strategy and language TEX is implemented in WEB, a

    dialect of PASCAL, that allows for literate programming, an idea invented by Donald Knuth. In literate programming, normal text is interleaved with specially marked code, putting Documentation first.
  5. More Problems Layout algorithms lay out objects of several sizes

    (characters). Characters are provided by font files. Free fonts were few and far between.
  6. Community shaving is best shaving Leslie Lamport implemented a macro

    set for TEX, called L A TEX Others came up with ConTeXt
  7. Community shaving is best shaving Before UTF-8, another encoding (T1)

    was invented, to work with characters beyond ASCII
  8. Changes We’d like to work with semi-modern formats, e.g. PostScript

    or PDF. And how about scripting the whole thing? And use modern font formats and UTF-8?
  9. You cannot reimplement TEX TEX is free software, but any

    modification must not be called TEX.
  10. You cannot reimplement TEX TEX is free software, but any

    modification must not be called TEX. Their output might differ.
  11. You cannot reimplement TEX TEX is free software, but any

    modification must not be called TEX. Their output might differ. On the plus side, TEX is really just the layouter.
  12. Frustrations TEX is OLD TEX is ODD TEX has legacy

    TEX is HUGE Backwards-compatibility trumps everything
  13. TEX is not a programming language Lots of vocabulary is

    from typesetting Primitives for logic are bad Do you know what a strut is? A quad, etc?
  14. Distribution: texlive 2.8 GB never removes things renames on breaking

    changes compiles everything under the sun huge toolchain for document management
  15. A system with documentation culture The documentation is the test

    case From TEX on. A predictable learning curve
  16. High quality Exact, repeatable, layout Font support even for weird

    scripts is great Lots of support for drawings
  17. Featureful Lots of special symbols Support for all fields of

    science Support for References and Bibliography (through packages)
  18. What can you learn from TEX? The drawbacks and merits

    of strict backwards compatibility How software was written 40 years ago The amount of effort necessary to replace this. Actual typography
  19. Earn money with TEX Both TEX and “TAOCP” offer bounties

    for bugs. Typesetting bugs are bugs. http://en.wikipedia.org/wiki/Knuth_reward_check The checks are rare.