cookbook/recipe.cls

93 lines
2.1 KiB
TeX

%
% Copyright 2016 (c) Anna Schumaker.
%
\ProvidesClass{recipe}
\LoadClass[letterpaper]{letter}
\RequirePackage{gensymb}
\RequirePackage[top=1in,bottom=1in,left=1in,right=1in]{geometry}
\RequirePackage{multicol}
\RequirePackage{newcent}
\RequirePackage{ragged2e}
\pagestyle{empty}
% Macros for setting recipe variables
\def\recipe@source{ }
\newcommand{\recipeName}[1] {\def\recipe@name{#1}}
\newcommand{\recipeServes}[1] {\def\recipe@serves{#1}}
\newcommand{\recipeServingSize}[1] {\def\recipe@servingsize{#1}}
\newcommand{\recipeSource}[1] {\def\recipe@source{\footnote{#1}}}
\newcommand{\recipeSourceBook}[2] {\recipeSource{{\em #1}. Page: #2}}
\newcommand{\recipeSourceWeb}[2] {\recipeSource{{\em #1}. Source: #2}}
% Preformatted fractions
\newcommand{\fraction}[2] {\(\mathbf{\frac{#1}{#2}}\)\ }
\newcommand{\half} {\fraction{1}{2}}
\newcommand{\twothirds} {\fraction{2}{3}}
\newcommand{\quarter} {\fraction{1}{4}}
\newcommand{\threequarters} {\fraction{3}{4}}
\newcommand{\eighth} {\fraction{1}{8}}
% Format a Fahrenheit temperature
\newcommand{\ftemp}[1] {#1\degree F}
\newcommand{\section}[1]
{
\vspace{0.5em}\flushleft{\Large{\textbf{#1:}}}
}
% Extend the \begin{document} command
\AtBeginDocument
{
\centering{
\Huge{\textbf{\recipe@name}}\LARGE{\recipe@source} \\
\vspace{0.25em}
\LARGE{\em{Serves: \textbf{\recipe@serves}, %
serving size: \textbf{\recipe@servingsize}}}
} \\
\vspace{1em}
}
% Add an environment and commands for ingredients
\newenvironment{ingredients}
{
\section{Ingredients}
\begin{multicols}{2}
\begin{itemize}
}
{
\end{itemize}
\end{multicols}
}
\newcommand{\addIngredient}[2] {\large{\item{\textbf{#1} #2}}}
\newcommand{\addIngredientName}[1] {\large{\item{#1}}}
% Add an environment and commands for steps
\newenvironment{steps}
{
\section{Steps}
\begin{enumerate}
\setlength\itemsep{0.75em}
}
{
\end{enumerate}
}
\newcommand{\addStep}[1] {\large{\item{#1}}}
\newcommand{\ingredient}[1] {\underline{\smash{#1}}}
% Add a command for reheating instructions
\newcommand{\addReheating}[1]
{
\section{Reheating}
\begin{itemize}
\item[]\large{#1}
\end{itemize}
}