ABSTRACT

The basic idea behind dynamic documents stems from literate programming, a programming paradigm conceived by Donald Knuth. The original idea was mainly for writing software: mix the source code and documentation together; we can either extract the source code out or execute the code to get the compiled results. A dynamic document is not entirely different from a computer program: for a dynamic document, we need to run software packages to compile our ideas into numeric or graphical output, and insert the output into our literal writings. The spirit of dynamic documents may best be described by the philosophy of the ESS project for the S language. Generating reports dynamically by integrating computer code with narratives is not only easier, but also closely related to reproducible re-search.