dyndoc
and markstat
Here is a comparison based on the first example in my paper “Literate Data Analysis with Stata and Markdown”
available here.
You’ll first see the equivalent script using Stata 15’s dyndoc
, which produces the output shown here. (The style could be changed by including a header with a CSS file.)
If you click on the markstat
tab you will see the original script, using plain Stata and Markdown code with the simple indentation rule.
This produces the output shown here, which uses a built-in CSS.
(More complex examples requiring hiding commands would use the strict
rule.) .
IMHO the markstat
version is closer to the spirit of Markdown, easy to read and easy to write, “without looking like it’s been marked up with tags or formatting instructions” (Gruber, 2004)
<<dd_version: 1.0>> Stata Markdown ============== Let us read the fuel efficiency data that is shipped with Stata ~~~~ <<dd_do>> sysuse auto, clear <</dd_do>> ~~~~ To study how fuel efficiency depends on weight it is useful to transform the dependent variable from "miles per gallon" to "gallons per 100 miles" ~~~~ <<dd_do>> gen gphm = 100/mpg <</dd_do>> ~~~~ We then obtain a more linear relationship ~~~~ <<dd_do>> twoway scatter gphm weight || lfit gphm weight /// , ytitle(Gallons per Mile) legend(off) <</dd_do>> ~~~~ <<dd_graph: saving(auto.png) width(500) replace>> The regression equation estimated by OLS is ~~~~ <<dd_do>> regress gphm weight <</dd_do>> ~~~~ Thus, a car that weighs 1,000 lbs more than another requires on average an extra <<dd_display: %5.1f 1000*_b[weight]>> gallons to travel 100 miles. That's all for now!
Stata Markdown ============== Let us read the fuel efficiency data that is shipped with Stata sysuse auto, clear To study how fuel efficiency depends on weight it is useful to transform the dependent variable from "miles per gallon" to "gallons per 100 miles" gen gphm = 100/mpg We then obtain a more linear relationship twoway scatter gphm weight || lfit gphm weight /// , ytitle(Gallons per Mile) legend(off) graph export auto.png, width(500) replace ![Fuel Efficiency](auto.png) The regression equation estimated by OLS is regress gphm weight Thus, a car that weighs 1,000 lbs more than another requires on average an extra `s %5.1f 1000*_b[weight]` gallons to travel 100 miles. That's all for now!