Dynamic documents

Jump to: navigation, search

Dynamic documents are document that contain both text and output from a programming language in a format where the output gets updated automatically every time the code is run. Using dynamic documents goes a long way in promoting research transparency because the code and the output are well-documented.

Read First

  • Understanding dynamic documents will require a basic understanding of programming languages like Stata, R, or Python.
  • There are various tools that allow users to create dynamic documents for publishing data and output, such as Overleaf and Jupyter Notebook.
  • Dynamic documents also make it easier to visualize and document the impact of changes in model parameters - which is particularly useful in development research.


There are a wide range of tools that are available for creating dynamic documents. Each of them allows users create and edit the reports using various programming languages like R, Stata, and Python.

  • R. This language has a feature called R Markdown, which allows users to perform analysis using different programming languages, and print the results in the final document along with text to explain the results.
  • Stata. New versions of Stata (version 15 onwards) allow users to create dynamic documents. The output is usually a PDF file, which contains text, tables and graphs. Whenever there are changes to raw data or in the analysis, the research team only needs to execute one do-file to create a new document. This improves reproducibility since users do not have to make changes manually every time.
  • LaTeX. LaTeX is a widely used publication tool. It is a typesetting system that allows users to reference lines of code and outputs such as tables and graphs, and easily update them in a text document. Users can export the results into .tex format after analyzing the data in their preferred software – using stargazer in R, and packages like esttab and outreg2 in Stata. Whenever there are new graphs and tables in the analysis, simply recompile the LaTeX document with the press of a button in order to include the new graphs and tables.
  • Overleaf. Overleaf is a web-based platform that allows users to collaborate on LaTeX, and receive feedback from other researchers.
  • Jupyter Notebook. Jupyter Notebook can create dynamic documents in various formats like HTML and LaTeX.

Related Pages

Click here for pages that link to this topic.

Additional Resources