Browsed by
Category: LaTeX

Exams/problem sets with individual student names in LaTeX

Exams/problem sets with individual student names in LaTeX

Usually my exams have a large blank space for students to write their names in.

If, instead, I wanted to generate individualised exams with their names printed in that space, this code will do that for you. It uses the pgffor package to loop over the list of names you provide.

\documentclass{article}
\usepackage{pgffor}
\def\classlist{Enda Hargaden,
George Akerlof,
Joe Stiglitz,
Don Bruce}
\pagenumbering{gobble}
\begin{document}
\foreach \studentname in \classlist{

Econ 381 Problem Set: \studentname's Copy

\begin{enumerate}
\item What is OLS?
\item What's the square root of 25?
\item More questions yadda yadda
\end{enumerate}

\newpage}

\end{document}
Colouring table cells to indicate statistical significance

Colouring table cells to indicate statistical significance

Over on Twitter, Gray Kimbrough suggests using colour to indicate statistical significance/p-values instead of the traditional stars. This was part of a broader argument for Powerpoint over Beamer.

I much prefer Beamer to Powerpoint, and I knew it would be very easy to implement coloured cells in regression tables directly from Stata into LaTeX/beamer.

Significant colours

I use the wonderful estout to produce regression tables (and have modified it in the past) so here’s how to produce the table above with one extra line in your do-file.

clear
sysuse auto

** This line generates a local named siggreen, defining significance with green opacity
local siggreen "star(\cellcolor{green!10} 0.10 \cellcolor{green!35} 0.05 \cellcolor{green!95} 0.01) nonotes"

** Run a few sample regressions
qui eststo: reg price foreign mpg weight
qui eststo: reg price foreign mpg weight turn
qui eststo: reg price foreign mpg weight turn gear_ratio displacement headroom

** Using esttab, produce the output with Enda's preferred options
esttab using myoutput.tex, replace booktabs nodepvars nomtitle se label ar2 `siggreen' title("Green Regression")

Then, to include that table into your TeX document:

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{booktabs}
\begin{document}
\input{myoutput}
\end{document} 

If you want to include this tables in your Beamer slides, see this post.

Making Stata tables smaller (fit on slide) in beamer

Making Stata tables smaller (fit on slide) in beamer

I’ve discussed in the past how to indicate statistical significance with colour rather than stars. Another concern people have about using Beamer is that it can be hard to squish results into one slide. In my opinion, that is solved very easily with my tinytable command.

\documentclass[xcolor={table}]{beamer}
\usepackage{booktabs}

\newcommand{\tinytable}[1]{\textcolor{black}{\tiny \input{#1} }}

\begin{document}
\begin{frame}
\frametitle{Fascinating}
\input{myoutput}
\end{frame}

\begin{frame}
\frametitle{Still fascinating, but smaller}
\tinytable{myoutput}
\end{frame}
\end{document} 

This generates the following:

Fitting table to one slide

Fix for LaTeX references in economics bibliography styles

Fix for LaTeX references in economics bibliography styles

The economic package includes old commands that are now deprecated within LaTeX. This caused me a problem using the AER bibliography style (aer.bst), and likely causes problems with other BibTeX styles too. My particular problem was with scrartcl refusing to recognise the \bf command rather than the newer \textbf version.

Very specifically, the problem was “Class scrartcl Error: undefined old font command `\bf’.”

The fix for this is simple. Just include the following two lines in the preamble of your document.

\DeclareOldFontCommand{\bf}{\normalfontbfseries}{\textbf}
\DeclareOldFontCommand{\it}{\normalfont\itshape}{\textit}

You could alternatively open up your *.bst file and manually change the code, but the two lines above should fix it.

LaTeX problem sets with hidden answers

LaTeX problem sets with hidden answers

I like being able to hide content in documents, for example including but not revealing the answers in a problem set. That makes it very easy to then produce the problem set solutions, simply by revealing the answers. I made this easier with a \hide{} command, that can be “turned off” so the answers are revealed.

This is the basic code I use for producing problem sets. The only change needed to convert a problem set into a solution set is to redefine the \showanswers variable to equal 1 rather than 0.

\documentclass{article}

% Set this =0 to hide, =1 to show
\def\showanswers{0}

\newcommand{\hide}[1]{
   \ifnum\showanswers=1

   #1 \vspace{\baselineskip}
   \fi

   \ifnum\showanswers=0
   \vspace{2\baselineskip} \hspace{2cm}
   \fi
}

\begin{document}

\begin{enumerate}
   \item This is question 1.
   \hide{Here is a hidden solution.}

   \item What is the answer to question 2?
   \hide{The answer is here.}
\end{enumerate}

\end{document} 
University of Tennessee beamer theme

University of Tennessee beamer theme

I’m teaching econometrics next semester, and did not want to simply regurgitate the textbook’s lecture slides. However, the University of Tennessee has a branding website, so I made a beamer theme that replicates the official UT PowerPoint template.

There is a little page for the theme here. You can download the files needed to install the theme here.

Cleaner euro symbol for LaTeX

Cleaner euro symbol for LaTeX

I typeset the euro symbol (€) regularly and I’ve always thought the version produced in LaTeX sticks out a bit like a sore thumb. (I re-assure myself that noticing these things is evidence that I adequately proof-read my prose.) The code below makes a new command \yuro that (in my opinion) fits in better with the surrounding text.

\documentclass[12pt]{article}
\usepackage{eurosym}
\usepackage{graphicx}
\newcommand{\yuro}{\scalebox{0.95}{\euro}}
\begin{document}
This is the size with the \euro 1,000 original configuration.

This is the size with the \yuro 1,000 newer configuration.
\end{document}

The code shrinks the size of the symbol to make it fit better with other characters. Similarities to the status of the eurozone are unintentional.

Petty’s “Taxes and Contributions” PDF

Petty’s “Taxes and Contributions” PDF

I have generated an easy-to-read PDF of William Petty’s Taxes and Contributions. You can download it here.

Hard copies of the book, comprising poor photocopies of older editions, make difficult work on the eyes. This edition is typeset as a modern document. I did write a script to generate it though, so it’s likely that there are some errors in there. Please let me know if you find any.

Due credit to the nice people from McMaster University who transcribed the plain-text copy.

Lagrange multiplier symbol code

Lagrange multiplier symbol code

Economists often denote a Lagrangian maximization problem with a scripted L. Unless you exert a little bit of effort, this looks poorly when produced by LaTeX. The code below allows you to easily typeset the symbol in a larger font-size.

The code creates four new commands: \lagrange1, \lagrange2, \lagrange3, and \lagrange4. They produce the “Lagrangian L” with increasing size.

\documentclass{article}

\usepackage{relsize}
\usepackage{mathrsfs}
\usepackage{xstring}

\newcommand{\lagrange}[1]{\IfEqCase{#1}{{1}{\mathscr{L}}{2}{\mathlarger{\mathscr{L}}}{3}{\mathlarger{\mathlarger{\mathscr{L}}}}{4}{\mathlarger{\mathlarger{\mathlarger{\mathscr{L}}}}}}}

\begin{document}
$$ \lagrange1 $$
$$ \lagrange2 $$
$$ \lagrange3 $$
$$ \lagrange4 $$
\end{document}
Fitting tables to the width of a page

Fitting tables to the width of a page

Ever have the problem of Stata regression output being a little too wide? Worry no more.

I use Ben Jann’s excellent esttab to export Stata regressions into LaTeX documents.

My only problem with esttab is that the tables can be too wide, i.e. wider than the width of the text in the PDF. So I made a few edits to esttab that automatically scale the tables to the text-width.

I have called this program estwide. You can download it here. As it is based on estout, Ben Jann should be considered a co-author. Click here to see an example of its effect. (If you wish to replicate the above example, you can download the associated do-file here and the TeX file here.)

To use estwide:
1. Make sure estout is installed. To do this, in Stata type ssc inst estout, replace
2. Save estwide.ado to the same folder that estout is now installed in. You can check the folder by typing which estout
3. Restart Stata.
4. Rather than exporting your tables using the esttab command, simply replace esttab with estwide, e.g. estwide using hello.tex, style(tex) replace
5. Make sure you have both the adjustbox and booktabs LaTeX packages installed.
6. Make sure you have called both of these packages up by including \usepackage{booktabs} and \usepackage{adjustbox} in the header of your LaTeX file.
7. Include your tables as normal. You can copy and paste the output into your TeX file, or have the tables update automatically when you make changes by using \input{myfilename}.

Update, September 2017: after some emails from people, I have two things to add. Firstly, estwide seems to work much better if you include a caption to the table.

Secondly, if you have a problem with the caption appearing on one page and the table itself on another, wrap the input in a LaTeX table. For example, this code works well for me:
\begin{table}[ht]
\input{myfilename}
\end{table}