Code Monkey home page Code Monkey logo

stata-latex-workflows's Introduction

Packages for generating LaTeX output from Stata code

Stata Table Gallery (sample tables with code; contributions welcome!)

A variety of packages (and manual techniques) are available for programmatically generating LaTeX output using Stata.

Generally, more automated approaches such as estout/esttab make it easy to quickly generate nearly-production-ready output, but make it more difficult (if not impossible) to implement significant customization. (That is, costs may be convex.) Automated approaches may also work best with interactive and exploratory analysis, since attractively formatted results can also be displayed as Stata output or exported as simple text or csv files.

Semi-automated approaches such as json-this/coeftable and stata-tex generally require manually creating LaTeX code to generate even simple tables, but their output is fully customizable. (That is, costs may be concave.)

Semi-automated approaches often involve saving calculated values in an external file before generating LaTeX output. (This is also possible with automated approaches using Stata’s estimates save command.) While slightly more complicated, this separation of analysis from table generation has real advantages. For example, saving calculated values

  • Allows restructured tables to be generated without re-running estimation commands;
  • Makes it easy to generate identically-structured tables with different samples, variable definitions, etc.;
  • Allows easy generation of alternate table versions, such as for a paper vs. a presentation;
  • Allows calculated values to be accessed by other scripts (e.g., for plotting);
  • Works well with version control.

Automated table creation

These packages generate tex files (and perhaps other formats) with customization via Stata command options.

estout/esttab

Package page

outreg2

Package page

tabout

Package page

For descriptive statistics and tabulations, not regression results

orth_out

Package pages: github, RePEc

For summary statistics and orthogonality tables, not regression results

  • Install using ssc install orth_out, replace

frmttable

"A programmer's command to write formatted Word or TeX tables from a matrix of statistics," frmttable is the command that underlies outreg, but can also be used directly to generate more customized output

Semi-automated table creation

These packages typically fill in a manually created tex template with calculated values.

json-this/coeftable

Package pages: json-this and coeftable

Calculated values are saved as json and then inserted into an external tex template

  • Install manually from github pages (requires Python)

stata-tex

Package page

Calculated values are saved as csv and then inserted into an external tex template

texresults

Package page

Calculated values are saved as a set of tex macros

regsave/texsave

Package pages: regsave and texsave

Calculated values are saved as Stata datasets and then exported as tex

  • Install using ssc install regsave, replace and ssc install texsave, replace
  • Latest (developer) builds can be installed manually from github package pages (regsave and texsave)
  • sortobs package can help with ordering variables for tex output
  • Slides with examples by Julian Reif

texdoc

Package page

Calculated values are inserted directly into a tex template included in the do file

write_mats

Package page

Calculated values are saved as .ster files, desired values are arranged as a Stata matrix, and then exported as tex

listtab

Package page

Tables are set up as a Stata dataset and then exported as tex

“Dynamic Document”-based approaches

These approaches are usually used to more fully integrate analysis into document creation, but can also be used to generate LaTeX output (perhaps requiring a tool like pandoc to convert from markdown or HTML to LaTeX).

Other methods

Note

I created this page in response to Twitter discussions suggesting there’s interest in learning more about the wide range of techniques researchers use to work with Stata and LaTeX. I also wanted to learn more about how to use github (where this page is hosted).

I added the resources I was aware of, and quickly characterized them as best I could. Please feel free to suggest additions or updates, either by submitting pull requests to the github respository (if you know how to do so), or by contacting me directly.

stata-latex-workflows's People

Contributors

lukestein avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.