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.
Relative to the documentation on the package page, descriptions of some options are easier to find in the old documentation, including at the “Advanced” page
Estimation can be separated from table creation by saving estimates (as .ster files) using Stata’s estimates save command; this supercedes the older estwritepackage
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
parmestpackage can produce Stata datasets of estimated parameters
“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).
Stata’s built-in dyntextcommand (text, including tex source) or dyndoccommand (markdown)
Convert regression output from Stata log files to tex using extract-from-stata (package page)
Use r instead of Stata (perhaps with the stargazerpackage for LaTeX output)
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.
请发表评论