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
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
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
These packages generate tex files (and perhaps other formats) with customization via Stata command options.
ssc install estout, replace
.sterfiles) using Stata’s
estimates savecommand; this supercedes the older
ssc install outreg2, replace
For descriptive statistics and tabulations, not regression results
ssc install tabout, replace
For summary statistics and orthogonality tables, not regression results
ssc install orth_out, replace
"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
These packages typically fill in a manually created tex template with calculated values.
Calculated values are saved as json and then inserted into an external tex template
Calculated values are saved as csv and then inserted into an external tex template
Calculated values are saved as a set of tex macros
ssc install texresults, replace
Calculated values are saved as Stata datasets and then exported as tex
ssc install regsave, replaceand
ssc install texsave, replace
sortobspackage can help with ordering variables for tex output
Calculated values are inserted directly into a tex template included in the do file
ssc install texdoc, replace
Calculated values are saved as
.ster files, desired values are arranged as a Stata matrix, and then exported as tex
Tables are set up as a Stata dataset and then exported as tex
ssc install listtab, replace
parmestpackage can produce Stata datasets of estimated parameters
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).
dyntextcommand (text, including tex source) or
markstatpackage by Germán Rodríguez
outsheet(per Damon Jones’ Twitter thread)
file write(per Paul Goldsmith-Pinkham’s example)
stargazerpackage for LaTeX output)
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.