PV126 Typographic Programming

Fakulta informatiky
podzim 2008
Rozsah
2/0/1. 3 kr. (plus ukončení). Ukončení: k.
Vyučující
Johannes Hagen, M.Sc. (přednášející), doc. RNDr. Petr Sojka, Ph.D. (zástupce)
Garance
prof. Ing. Jiří Sochor, CSc.
Katedra vizuální informatiky – Fakulta informatiky
Kontaktní osoba: doc. RNDr. Petr Sojka, Ph.D.
Předpoklady
In the course we will use luatex, a successor to pdftex developed at this university. The macropackage we use is ConTeXt. Here are a few url's that can help you prepare for this course: > http://www.pragma-ade.com/general/magazines/mag-0012.pdf > http://www.luatex.org binaries and reference manual > http://contextgarden.net information about CONTEXT > http://www.lua.org/ information about the Lua language In depth TeX macro language knowledge is not needed since we will use mostly wrapper macros as provided by ConTeXt. However, it makes sense to play a while with the Lua interpreter beforehand. Documentation can be found at http://www.tecgraf.puc-rio.br/~lhf/ftp/doc/hopl.pdf http://www.inf.puc-rio.br/~roberto/lpeg.html You also need to think about a possible application for instance a small pretty printing subsystem (in that case you can use Lua for parsing and preparation and tex for the typesetting).
Omezení zápisu do předmětu
Předmět je nabízen i studentům mimo mateřské obory.
Předmět si smí zapsat nejvýše 35 stud.
Momentální stav registrace a zápisu: zapsáno: 0/35, pouze zareg.: 0/35, pouze zareg. s předností (mateřské obory): 0/35
Mateřské obory/plány
předmět má 41 mateřských oborů, zobrazit
Cíle předmětu
At the end of this course, students should be able to: understand and be able to explain principles of typographic programming using LuaTeX, Context; prepare applications taking advantage of mixing scripting language Lua and advanced features of TeX.
Osnova
  • There will be a series of meetings where the following topics will be covered.
  • TeX as language, the road from input to output, tokens and nodes.
  • Lua as language, what can it do and what not, why and how do we use it as embedded language.
  • LuaTeX as system, how does the two languages work together in opening up the typesetting engine.
  • CONTEXT MKIV as application, what kind of code is needed to permit the use of advanced font technologies, how to get away with some of TeX's limitations, what kind of technologies are needed to fulfil today's typesetting demands.
  • Typographic programming, what is it and how can it be applied in automated typesetting workflows.
  • In addition one of the computer rooms will be reserved so that we can practice the above and work on the products needed for the exam.
Literatura
  • Programming in Lua, Second Edition by Roberto Ierusalimschy,English Edition, Published by Lua.org, March 2006, ISBN13 9788590379829
  • R. Ierusalimschy, L. H. de Figueiredo, W. Celes: Programming in Lua -- Reference, Lua.org, August 2006, ISBN 85-903798-3-3, http://www.lua.org/manual/5.1/
Metody hodnocení
The student has to deliver the following products:
Lua code that transfers a source into directives for TeX.
Code that integrates the code into TeX.
A basic style that presents the pretty printed source on paper and on screen, including a table of contents and index.
During the course we will provide the tools to handle the typesetting. There will be a framework for pretty printing available that students may use.
Vyučovací jazyk
Angličtina
Informace učitele
Teaching will be done during the week December 8--12th. Day 1 (Monday, Dec 8) 12:00--13:30 D2 independent motivating lecture Typographic programming with LuaTeX Abstract: - what is involved in typographic programming - why and when do we need it - an introduction in luatex (successor of pdftex) - commented examples of luatex applications 14:30--17:00 in lab (B206): - running tex - some basic manuals - setting up a simple document style Day 2 (Tuesday, Dec 9) 9:00-11:00 [&16-18 if needed] B517 lecture - introduction to mplib - introduction to the lua scripting language - how does it fit together - examples of documents and coding in lab (B206, 11:30-13:00, 14-17): - embedding an mp graphic - using lua to handle data Day 3 (Wednesday, Dec 10) 9:00-11:00 B517 lecture - setting up a style - questions and answers session in lab (B206, 11:30-13:00, 14-17): - working on personal project Day 4 (Thursday, Dec 11) in lab (B206, 9-17): - working on personal project Day 5 (Friday, Dec 12) 9:00-[?16:00] either in C517 or B206 - students present and discuss results/proposals - suggestions for improvements/implementation
Další komentáře
Studijní materiály
Předmět je dovoleno ukončit i mimo zkouškové období.
Předmět je vyučován jednorázově.
Výuka probíhá blokově.
Poznámka k četnosti výuky: blokově s distančními konzultacemi.
Předmět je zařazen také v obdobích podzim 2007, podzim 2009.