2016-06-25 12:22:18 -04:00
|
|
|
%
|
|
|
|
% Copyright 2016 (c) Anna Schumaker.
|
|
|
|
%
|
|
|
|
\ProvidesClass{recipe}
|
|
|
|
\LoadClass[letterpaper]{letter}
|
|
|
|
|
2016-06-25 14:07:18 -04:00
|
|
|
\RequirePackage{gensymb}
|
2016-06-25 12:22:18 -04:00
|
|
|
\RequirePackage[top=1in,bottom=1in,left=1in,right=1in]{geometry}
|
|
|
|
\RequirePackage{multicol}
|
|
|
|
\RequirePackage{newcent}
|
|
|
|
\RequirePackage{ragged2e}
|
|
|
|
|
|
|
|
\pagestyle{empty}
|
|
|
|
|
|
|
|
% Macros for setting recipe variables
|
2016-06-27 10:19:34 -04:00
|
|
|
\def\recipe@serves{ }
|
|
|
|
\def\recipe@servingsize{ }
|
2016-06-25 14:07:18 -04:00
|
|
|
\def\recipe@source{ }
|
2016-06-25 12:22:18 -04:00
|
|
|
\newcommand{\recipeName}[1] {\def\recipe@name{#1}}
|
2016-06-27 10:19:34 -04:00
|
|
|
\newcommand{\recipeServes}[1] {\def\recipe@serves{Serves: \textbf{#1}}}
|
|
|
|
\newcommand{\recipeServingSize}[1]
|
|
|
|
{
|
|
|
|
\def\recipe@servingsize{, serving size: \textbf{#1}}
|
|
|
|
}
|
2016-06-28 08:13:42 -04:00
|
|
|
\newcommand{\recipeMakes}[2] {\def\recipe@serves{Makes: \textbf{#1} #2}}
|
2016-06-25 14:07:18 -04:00
|
|
|
\newcommand{\recipeSource}[1] {\def\recipe@source{\footnote{#1}}}
|
2016-06-26 11:16:14 -04:00
|
|
|
\newcommand{\recipeSourceBook}[2] {\recipeSource{{\em #1}. Page: #2.}}
|
2016-06-29 11:57:53 -04:00
|
|
|
\newcommand{\recipeSourcePerson}[2]{\recipeSource{{\em #1}. From: #2.}}
|
2016-06-26 11:16:14 -04:00
|
|
|
\newcommand{\recipeSourceWeb}[2] {\recipeSource{{\em #1}. Source: #2.}}
|
2016-06-25 12:22:18 -04:00
|
|
|
|
|
|
|
% Preformatted fractions
|
2016-06-25 14:30:11 -04:00
|
|
|
\newcommand{\fraction}[2] {\(\mathbf{\frac{#1}{#2}}\)\ }
|
2016-06-26 10:11:02 -04:00
|
|
|
\newcommand{\third} {\fraction{1}{3}}
|
2016-06-25 14:30:11 -04:00
|
|
|
\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}}
|
2016-06-25 14:07:18 -04:00
|
|
|
|
|
|
|
% Format a Fahrenheit temperature
|
|
|
|
\newcommand{\ftemp}[1] {#1\degree F}
|
2016-06-25 12:22:18 -04:00
|
|
|
|
2016-06-28 09:25:51 -04:00
|
|
|
\newcommand{\newsection}[1]
|
2016-06-25 12:22:18 -04:00
|
|
|
{
|
2016-06-26 09:53:51 -04:00
|
|
|
\vspace{0.5em}\flushleft{\Large{\textbf{#1:}}}
|
2016-06-25 12:22:18 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% Extend the \begin{document} command
|
|
|
|
\AtBeginDocument
|
|
|
|
{
|
|
|
|
\centering{
|
2016-06-25 14:07:18 -04:00
|
|
|
\Huge{\textbf{\recipe@name}}\LARGE{\recipe@source} \\
|
2016-06-26 09:53:51 -04:00
|
|
|
\vspace{0.25em}
|
2016-06-27 10:19:34 -04:00
|
|
|
\LARGE{\em{\recipe@serves\recipe@servingsize}}
|
|
|
|
}
|
2016-06-26 09:53:51 -04:00
|
|
|
\vspace{1em}
|
2016-06-25 12:22:18 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
% Add an environment and commands for ingredients
|
|
|
|
\newenvironment{ingredients}
|
|
|
|
{
|
2016-06-28 09:25:51 -04:00
|
|
|
\newsection{Ingredients}
|
2016-06-25 12:22:18 -04:00
|
|
|
\begin{multicols}{2}
|
|
|
|
\begin{itemize}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
\end{itemize}
|
|
|
|
\end{multicols}
|
|
|
|
}
|
|
|
|
|
2016-06-27 10:25:51 -04:00
|
|
|
\newenvironment{ingredientsSmall}
|
|
|
|
{
|
2016-06-28 09:25:51 -04:00
|
|
|
\newsection{Ingredients}
|
2016-06-27 10:25:51 -04:00
|
|
|
\begin{itemize}
|
|
|
|
}
|
|
|
|
{
|
|
|
|
\end{itemize}
|
|
|
|
}
|
|
|
|
|
2016-06-25 12:22:18 -04:00
|
|
|
\newcommand{\addIngredient}[2] {\large{\item{\textbf{#1} #2}}}
|
|
|
|
\newcommand{\addIngredientName}[1] {\large{\item{#1}}}
|
|
|
|
|
|
|
|
|
|
|
|
% Add an environment and commands for steps
|
2016-06-28 09:25:51 -04:00
|
|
|
\newenvironment{section}[1]
|
2016-06-25 12:22:18 -04:00
|
|
|
{
|
2016-06-28 09:25:51 -04:00
|
|
|
\newsection{#1}
|
2016-06-25 12:22:18 -04:00
|
|
|
\begin{enumerate}
|
2016-06-26 09:53:51 -04:00
|
|
|
\setlength\itemsep{0.75em}
|
2016-06-25 12:22:18 -04:00
|
|
|
}
|
|
|
|
{
|
|
|
|
\end{enumerate}
|
|
|
|
}
|
|
|
|
|
2016-06-28 09:25:51 -04:00
|
|
|
\newenvironment{steps} {\begin{section}{Steps}} {\end{section}}
|
2016-06-25 12:22:18 -04:00
|
|
|
\newcommand{\addStep}[1] {\large{\item{#1}}}
|
|
|
|
\newcommand{\ingredient}[1] {\underline{\smash{#1}}}
|
2016-06-26 09:53:51 -04:00
|
|
|
|
|
|
|
|
2016-06-26 10:11:02 -04:00
|
|
|
% Add a command for other recipe notes
|
|
|
|
\newcommand{\addNote}[2]
|
2016-06-26 09:53:51 -04:00
|
|
|
{
|
2016-06-28 09:25:51 -04:00
|
|
|
\newsection{#1}
|
2016-06-26 09:53:51 -04:00
|
|
|
\begin{itemize}
|
2016-06-26 10:11:02 -04:00
|
|
|
\item[]\large{#2}
|
2016-06-26 09:53:51 -04:00
|
|
|
\end{itemize}
|
|
|
|
}
|
2016-06-26 10:11:02 -04:00
|
|
|
|
|
|
|
\newcommand{\addReheating}[1] {\addNote{Reheating}{#1}}
|
|
|
|
\newcommand{\addSuggestion}[2] {\addNote{Suggested #1}{#2}}
|