\documentclass[letterpaper]{article}
\usepackage[top=.5in,bottom=0.5in,left=1in,right=0.5in]{geometry}

%%%
%%% Boilerplate
%%%
\usepackage[english]{babel}
\usepackage{ucs}
\usepackage[utf8x]{inputenc}
\usepackage{pslatex}
\usepackage[T1]{fontenc}


%% Packages
%%
\usepackage{array}
\usepackage{calc}
\usepackage{colortbl}
\usepackage[nice]{nicefrac}
\usepackage{tabularx}
\usepackage{xspace}


%% Header
%%
\usepackage{fancyhdr}
\pagestyle{fancy}
\lhead{\textsf{\bfseries \huge \BeerName\\
    \normalsize Brewers: \BrewerName}}
\rhead{\textsf{\bfseries \Large \BeerNumber\\
    \normalsize Brew date: \BrewDate}}
\cfoot{}
\geometry{headheight=30.5pt,headsep=8pt,includehead}


%% Headings
%%
\usepackage[it,bf,small]{titlesec}
\titlespacing*{\section}{0pt}{.8\baselineskip}{4pt}
%% titlesec doesn't work with \addvspace, but \@startsection doesn't know
%% how to suppress the indentation of the first paragraph that follows the
%% heading.
%\makeatletter
%\renewcommand{\section}{\@startsection
%  {section}{1}{0pt}{.8\baselineskip}{4pt}{\itshape\bfseries\large}}
%\makeatother
\setcounter{secnumdepth}{-2} % highest level of heading to number


%% Notes Column
%%
%\usepackage{multicol}
%\setlength\columnseprule{0.4pt}


%% Symbols
%%
\newcommand\degree        {$^{\circ}$}
\newcommand\onehalf       {\nicefrac{1}{2}\xspace}
\newcommand\onethird      {\nicefrac{1}{3}\xspace}
\newcommand\twothirds     {\nicefrac{2}{3}\xspace}
\newcommand\onequarter    {\nicefrac{1}{4}\xspace}
\newcommand\threequarters {\nicefrac{3}{4}\xspace}
\newcommand\onefifth      {\nicefrac{1}{5}\xspace}
\newcommand\twofifths     {\nicefrac{2}{5}\xspace}
\newcommand\threefifths   {\nicefrac{3}{5}\xspace}
\newcommand\fourfifths    {\nicefrac{4}{5}\xspace}
\newcommand\oneeighth     {\nicefrac{1}{8}\xspace}
\newcommand\threeeighths  {\nicefrac{3}{8}\xspace}
\newcommand\fiveeighths   {\nicefrac{5}{8}\xspace}
\newcommand\seveneighths  {\nicefrac{7}{8}\xspace}
\newcommand\textalpha     {\ensuremath{\alpha}\xspace}
\newcommand\textbeta      {\ensuremath{\beta}\xspace}


%% Blanks
%%
\newcommand\blank[1][1.5in]{\rule[-.1em]{#1}{0.4pt}\xspace}


%% Measures
%%
\newcommand\degrees[2]{#1\degree #2}


%% Misc Markup
%%
\newcommand\booktitle[1]{\emph{#1}}


%% Section Macros
%%
% ingredients
\newlength\substitutionscolwidth
\setlength\substitutionscolwidth{.38\textwidth} % width of substitutions column

\newlength\substitutionsskip
\newcommand\substitutestitle
  {\setlength\substitutionsskip{\substitutionscolwidth+\arraycolsep}
   \hfill\mbox{\rlap{\footnotesize\sffamily\bfseries\upshape\strut substitutions\strut}\hspace*{\substitutionsskip}}}

\newenvironment{Ingredients}
  {\vspace*{-\baselineskip}\substitutestitle\vspace*{1.4pt}
   \par\noindent
   \tabularx{\textwidth}
            {@{}>{\footnotesize\sffamily\bfseries}l
             >{\hspace{3pt}\itshape}r
             @{ }>{\itshape}l
             X
             >{\columncolor[gray]{0.9}}p{\substitutionscolwidth}}}
  {\endtabularx}

% brewline
\newlength{\spwid}
\settowidth{\spwid}{ }
\newlength{\brewlinepwid}
\setlength{\brewlinepwid}{.93\textwidth-\spwid}
\newcommand{\brewline}[2][]{\noindent\begin{minipage}{\textwidth}
\rule[-1pt]{0.07\textwidth}{0.4pt}\hspace*{-0.07\textwidth}\makebox[0.07\textwidth]{#1}%
\hspace{\spwid}%
\parbox[t]{\brewlinepwid}{\strut#2\strut}
\end{minipage}\par\nointerlineskip}

% brewstats
\newenvironment{BrewStats} {\vspace{1em}} {}
\newcommand{\brewstat}[2][]{
  \vspace{2pt}
  \par\noindent\makebox[.195\textwidth][r]{#2: }%
\rule[-1pt]{.195\textwidth}{0.4pt}\hspace*{-.195\textwidth}\makebox[.195\textwidth]{#1}}


%% Titling
%%
\newcommand\BeerName   {Sky Bison Pale Ale}
\newcommand\BeerNumber {SB-42}
\newcommand\BrewerName {Jim \& John Foerch}
\newcommand\BrewDate   {2011-08-03}

\setlength\substitutionscolwidth{.35\textwidth}

\begin{document}

\noindent This is a repeat of SB35.  See also SB39, SB41.  Substitutions,
based on availability of ingredients, are listed below.

\section{ingredients}

\begin{Ingredients}  
grains       &              8&oz    & crystal malt                               & \\
malt extract &              6&lb    & plain light DME                            & \\
hops         &              1&oz    & Centennial whole hops (bittering)          & \\
             &              1&oz    & Santiam whole hops (aroma, dryhop)         & \\
             &              1&oz    & Amarillo pellet hops (flavor, aroma)       & \threequarters~oz Centennial whole hops (AA 11.4\%) \\
             &       \onehalf&oz    & Cascade whole hops (starter \& flavor)     & \\
yeast        &              1&tube  & White Labs WLP060 American Ale Yeast Blend & White Labs WLP001 California Ale Yeast \\
misc         &              1&tsp   & Irish moss                                 & \\
             &              1&tbsp  & yeast energizer                            & \\
             & \threequarters&cup   & DME (priming)                              & \\
\end{Ingredients}


\section{starter}

\noindent Make a 1~quart starter.  4~oz light DME, \onequarter~oz Cascade whole leaf
hops, \onehalf~tsp yeast energizer.  Boil 30~min, then cool to about
\degrees{70}{F}, add yeast, and store in a warm place overnight.


\section{brew}

\brewline[19:13]{Heat 4 gal water to \degrees{150}{F}\@. Steep grains 15 min.}
\brewline[19:28]{Sparge grains with 2 gal hot water.}
\brewline[19:57]{Bring to boil and add bittering hops.}
\brewline[20:17]{20 min into boil begin to mix in DME (slowly to avoid losing the boil).}
\brewline[20:37]{40 min into boil, \onequarter oz Cascade whole hops.}
\brewline[20:42]{45 min into boil, \onehalf oz Amarillo pellet hops, Irish moss, yeast energizer.}
\brewline[20:55]{58 min into boil, \onehalf oz Santiam whole hops.}
\brewline[20:55]{59 min into boil, \onehalf oz Amarillo pellet hops.}
\brewline[20:57]{60 min into boil, turn off heat, rest for 20 min, partially covered.}
\brewline[21:17]{cool and aerate.}
\brewline[]{pour yeast starter into primary fermenter, and rack wort to primary, through strainer.}

\begin{BrewStats}
\brewstat[5\threeeighths~gal]{volume}
\brewstat[1.056]{initial specific gravity}
\end{BrewStats}


\section{secondary fermentation}

\noindent Dryhop, \onehalf~oz Santiam whole hops.

\begin{BrewStats}
\brewstat[]{date}
\brewstat[]{specific gravity}
\end{BrewStats}


\section{bottle}

\noindent Use \threequarters~cup DME for priming.

\begin{BrewStats}
\brewstat[]{date}
\brewstat[]{specific gravity}
\brewstat[]{volume}
\brewstat[]{number of bottles}
\end{BrewStats}

\end{document}
