markstat
2.0 lets you take advantage of Pandoc's new syntax for
columns, as illustrated in the following example using slides that show
code and graphs side-by-side. Let us start with the script, which
defines two slides. In both cases there is a left column with Stata code
using the strict syntax, and a right column with a figure. I also change
the delimiter to ;
to allow the code to stretch over several lines
without continuation comments.
deck2.stmd
% Two-Column Slides % Germán Rodríguez % November 10, 2017 # An Economist Graph {.fragile} The [Stata Tutorial](https://data.princeton.edu/stata) has a plot of U.S. Life Expectancy over time using the Economist scheme. Here's the code and graph side-by-side: :::::: {.columns} ::: {.column} ```s #delimit ; quietly sysuse uslifeexp, clear; graph twoway line le_wmale le_bmale year, clcolor(blue red) title("U.S. Life Expectancy") subtitle("Males") legend( order(1 "white" 2 "black") ring(0) pos(5) ) yscale(log range(25 80) ) scheme(economist); quietly graph export economist.png, width(500) replace; ``` ::: ::: {.column} ![](economist.png){width="90%"} ::: :::::: # Visualizing Regression Models {.fragile} Dawn Koffman gave a [workshop](https://goo.gl/8tWr7e) on visualizing regression models using Ben Jann's `coefplot`. After reading the data, running a regression model, and storing the estimates, she plots the coefficients: ```s/ #delimit ; webuse nhanes2, clear; quietly tab region, gen(reg); quietly logit diabetes female age bmi reg1-reg4; estimates store fem_age_bmi_reg; ``` :::::: {.columns} ::: {.column} ```s #delimit ; coefplot fem_age_bmi_reg, eform drop (_cons) xscale(log) xline(1, lwidth(vthin)) omitted cismooth grid(none) coeflabels( female="female" age="age (years)" bmi="bmi" reg1="Northest" reg2="Midwest" reg3="South" reg4="(reference cat) West", notick labsize(medlarge)) title(Diabetes Risk Factors, color(black)); quietly graph export coefplot.png, width(500) replace; ``` ::: ::: {.column} ![](coefplot.png){width="100%"} ::: ::::::
The new syntax here is the use of colon fences, which are similar to
code fences. The outer fences define columnar output, and the inner
fences define the columns, which here default to equal width. For
clarity I used six colons for the outer fences and three colons for the
inner ones, but all that's required is three or more colons. Pandoc can
distinguish opening and closing fences because openers always have
attributes, here {.columns}
for the outer one and {.column}
for each
of the inner ones. Inside these divisions we can use Markdown and Stata
code as usual.
Save the script as deck2.stmd
in the current working directory. Or
download the script from this website using the Stata command:
copy https://grodri.github.io/markstat/deck2.stmd .
Issuing the command markstat using deck2, strict slides(santiago)
will produce the HTML presentation using the S5 engine with the Santiago
theme shown here and embedded below:
If you have a LaTeX installation you can use the command
markstat using deck2, strict beamer(madrid)
to generate a PDF
presentation via LaTeX using Beamer with the Madrid theme, as shown
here.
You can see screen captures of these slides in the carousel below.
Of course you can use any of the many Beamer themes available.
New in markstat
2.0