%% %% This is file `cuisine.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% cuisine.dtx %% %% IMPORTANT NOTICE: %% %% For the copyright see the source file. %% %% Any modified versions of this file must be renamed %% with new filenames distinct from cuisine.sty. %% %% For distribution of the original source see the terms %% for copying and modification in the file cuisine.dtx. %% %% This generated file may be distributed as long as the %% original source files, as listed above, are part of the %% same distribution. (The sources need not necessarily be %% in the same archive or directory.) %% %% Recipe typesetting package `cuisine' by Ben Cohen. %% cuisine.dtx %% Copyright 2000 Ben Cohen \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{cuisine}[2000/08/01 v0.5 recipe typesetting] \RequirePackage{nicefrac} \newcounter{r@cipenumber} \DeclareRobustCommand{\ResetRecipeCounter}{% \setcounter{r@cipenumber}{0}% } \newcounter{st@pnumber}[r@cipenumber] \newcounter{ingr@dnumber}[st@pnumber] \newif\ifnumb@ring \newif\ifind@xing \newif\iffr@eforming \newif\ifn@wpaging \newlength{\R@cipeWidth} \newlength{\R@cipeNumberWidth} \newlength{\R@cipeTitleWidth} \newlength{\R@cipeServingsWidth} \newlength{\R@cipeTandSWidth} \newlength{\R@cipeOutdent} \newlength{\R@cipeTitleVerticalAdjustTop} \newlength{\R@cipeTitleVerticalAdjustBot} \newlength{\R@cipeIngredientWidth} \newlength{\R@cipeQuantityWidth} \newlength{\R@cipeUnitsWidth} \newlength{\R@cipeQandUWidth} \newlength{\R@cipeIandUWidth} \newlength{\R@cipeIQUWidth} \newlength{\R@cipeMethodWidth} \newlength{\R@cipeStepWidth} \DeclareRobustCommand*{\R@cipeMethodWidths}[3]{% \setlength{\R@cipeIngredientWidth}{#1}% \setlength{\R@cipeQuantityWidth}{#2}% \setlength{\R@cipeUnitsWidth}{#3}% \setlength{\R@cipeQandUWidth}{\R@cipeQuantityWidth}% \addtolength{\R@cipeQandUWidth}{\R@cipeUnitsWidth}% \setlength{\R@cipeIQUWidth}{\R@cipeQandUWidth}% \addtolength{\R@cipeIQUWidth}{\R@cipeIngredientWidth}% \addtolength{\R@cipeIQUWidth}{0.5cm}% \setlength{\R@cipeIandUWidth}{\R@cipeIQUWidth}% \addtolength{\R@cipeIandUWidth}{-\R@cipeQuantityWidth}% \setlength{\R@cipeStepWidth}{\R@cipeWidth}% \addtolength{\R@cipeStepWidth}{-\R@cipeNumberWidth}% \setlength{\R@cipeMethodWidth}{\R@cipeStepWidth}% \addtolength{\R@cipeMethodWidth}{-\R@cipeIngredientWidth}% \addtolength{\R@cipeMethodWidth}{-\R@cipeQandUWidth}% \addtolength{\R@cipeMethodWidth}{-0.5cm}% \addtolength{\R@cipeIngredientWidth}{-\R@cipeOutdent} \addtolength{\R@cipeUnitsWidth}{-\R@cipeOutdent} \addtolength{\R@cipeQandUWidth}{-\R@cipeOutdent} }% \DeclareRobustCommand*{\R@cipeTitleWidths}[2]{% \setlength{\R@cipeNumberWidth}{#1}% \setlength{\R@cipeServingsWidth}{#2}% \setlength{\R@cipeTitleWidth}{\R@cipeWidth}% \addtolength{\R@cipeTitleWidth}{-\R@cipeNumberWidth}% \addtolength{\R@cipeTitleWidth}{-\R@cipeServingsWidth}% \setlength{\R@cipeTandSWidth}{\R@cipeServingsWidth}% \addtolength{\R@cipeTandSWidth}{\R@cipeTitleWidth}% \R@cipeMethodWidths{\R@cipeIngredientWidth}{\R@cipeQuantityWidth}% {\R@cipeUnitsWidth}% } \DeclareRobustCommand*{\RecipeWidths}[6]{% \setlength{\R@cipeWidth}{#1}% \R@cipeTitleWidths{#2}{#3}% \R@cipeMethodWidths{#4}{#5}{#6}% }% \setlength{\R@cipeOutdent}{0.3cm}% \setlength{\R@cipeTitleVerticalAdjustTop}{-0.25cm} \setlength{\R@cipeTitleVerticalAdjustBot}{-0.04cm} \RecipeWidths{\textwidth}{0.8cm}{3cm}{3.5cm}{1cm}{1.7cm} \newcommand*\recipefont{\normalfont} \newcommand*\recipetitlefont{\recipefont} \newcommand*\recipenumberfont{\recipefont} \newcommand*\recipestepnumberfont{\recipefont} \newcommand*\recipequantityfont{\recipefont} \newcommand*\recipeunitfont{\recipefont} \newcommand*\recipeingredientfont{\recipefont} \newcommand*\recipemethodfont{\recipefont} \newcommand*\recipeservingsfont{\recipefont} \newcommand*\recipetimefont{\recipefont} \newcommand*\recipefreeformfont{\recipefont} \newsavebox{\st@pingrbox} \newsavebox{\st@pingrtmpbox} \newsavebox{\st@pIQUbox} \newsavebox{\st@pmethodbox} \DeclareOption{number}{\numb@ringtrue} \DeclareOption{nonumber}{\numb@ringfalse} \DeclareOption{index}{\ind@xingtrue} \DeclareOption{noindex}{\ind@xingfalse} \ExecuteOptions{number,noindex} \ProcessOptions\relax \DeclareRobustCommand{\Displ@ySt@p}{% \stepcounter{st@pnumber}% \makebox[\R@cipeWidth]{% \makebox[\R@cipeNumberWidth][l]{\recipestepnumberfont\arabic{st@pnumber}}% \usebox{\st@pingrbox}% \usebox{\st@pmethodbox}% }% \savebox{\st@pingrbox}[\R@cipeIQUWidth]{} }% \DeclareRobustCommand{\Fr@eFormStep}{% \usebox{\st@pmethodbox}% \savebox{\st@pmethodbox}[\R@cipeMethodWidth]{}% }% \DeclareRobustCommand{\DisplaySt@p}{% \iffr@eforming% \Fr@eFormStep% \else% \Displ@ySt@p% \fi% \ifn@wpaging% \recipen@wpage% \else% \vskip0.2cm% \fi% \n@wpagingfalse% }% \DeclareRobustCommand{\r@cipetitle}[3]{ \bigskip \pagebreak[0] \mbox{% \ifnumb@ring% \makebox[\R@cipeNumberWidth][l]{\recipenumberfont\arabic{r@cipenumber}}% \parbox[b]{\R@cipeTitleWidth}{\recipetitlefont #1}% \else% \parbox[b]{\R@cipeTitleWidth}{\recipetitlefont #1}% \makebox[\R@cipeNumberWidth]{}% \fi% \parbox[b]{\R@cipeServingsWidth}{\hfill\recipeservingsfont #2}% }\par% \nopagebreak \vspace{\R@cipeTitleVerticalAdjustTop}% \nopagebreak \rule{\R@cipeWidth}{0.4pt}\par% \nopagebreak \vspace{\R@cipeTitleVerticalAdjustBot}% \nopagebreak \makebox[\R@cipeWidth][r]{\recipetimefont #3}\par% \nopagebreak }% \def\r@cipesloppy{% \tolerance 9999% \emergencystretch 3em% \hfuzz.5pt% \vfuzz.5pt% \hbadness 1500% }% \DeclareRobustCommand{\pr@ingred}{% \endminipage\end{lrbox}% \ifdim\wd\st@pmethodbox=0in% \else% \DisplaySt@p% \fi% }% \DeclareRobustCommand{\p@stingred}{% \fr@eformingfalse% \begin{lrbox}{\st@pmethodbox}\minipage[t]{\R@cipeMethodWidth}% \recipemethodfont% \noindent% \ignorespaces% \r@cipesloppy% }% \DeclareRobustCommand{\m@thodend}{% \endminipage\end{lrbox}% \ifdim\wd\st@pmethodbox=0in% \ifnum\value{ingr@dnumber}>0% \savebox{\st@pmethodbox}[\R@cipeMethodWidth]{\mbox{}}% \DisplaySt@p% \fi% \else% \DisplaySt@p% \fi% \p@stingred% }% \DeclareRobustCommand\r@cipen@wpage{\global\n@wpagingtrue\m@thodend} \DeclareRobustCommand{\fr@eform}{% \endminipage\end{lrbox}% \ifdim\wd\st@pmethodbox=0in% \ifnum\value{ingr@dnumber}>0% \savebox{\st@pmethodbox}[\R@cipeMethodWidth]{\mbox{}}% \DisplaySt@p% \fi% \else% \DisplaySt@p% \fi% \fr@eformingtrue% \begin{lrbox}{\st@pmethodbox}\minipage[t]{\R@cipeWidth}% \recipefreeformfont% \noindent% \ignorespaces% \r@cipesloppy% }% \DeclareRobustCommand{\ingr@dient}[3][]{% \pr@ingred% \ifx\relax#1\relax% \savebox{\st@pIQUbox}[\R@cipeIQUWidth][t]{% \parbox[t]{\R@cipeIQUWidth}{% \lineskip0pt\mbox{}\\[-\baselineskip]% \rule{\R@cipeOutdent}{0cm}% \parbox[b]{\R@cipeQandUWidth}{% \raggedright\recipeunitfont% \setlength{\parindent}{-\R@cipeOutdent}% \savebox{\st@pingrtmpbox}{#2}% \ifdim\wd\st@pingrtmpbox>\R@cipeQandUWidth% \rule{0pt}{\baselineskip}% \strut #2\strut% \else% \noindent% \rule{0pt}{\baselineskip}% \strut #2\hfill\strut% \fi% }% \rule{0.2cm}{0cm}% \rule{\R@cipeOutdent}{0cm}% \parbox[t]{\R@cipeIngredientWidth}{\raggedright% \recipeingredientfont% \setlength{\parindent}{-\R@cipeOutdent}% \strut #3\strut}% }% }% \else \savebox{\st@pingrtmpbox}[\R@cipeIandUWidth][t]{% \parbox[t]{\R@cipeIandUWidth}{% \lineskip0pt\mbox{}\\[-\baselineskip]% \rule{\R@cipeOutdent}{0cm}% \parbox[b]{\R@cipeUnitsWidth}{% \raggedright\recipeunitfont% \setlength{\parindent}{-\R@cipeOutdent}% \rule{0pt}{\baselineskip}% \strut #2\strut\hfill}% \rule{0.2cm}{0cm}% \rule{\R@cipeOutdent}{0cm}% \parbox[t]{\R@cipeIngredientWidth}{% \raggedright\recipeingredientfont% \setlength{\parindent}{-\R@cipeOutdent}% \strut #3\strut}% }% }% \savebox{\st@pIQUbox}[\R@cipeIQUWidth][t]{% \parbox[t]{\R@cipeIQUWidth}{% \lineskip0pt\mbox{}\\[-\baselineskip]% \parbox[b]{\R@cipeQuantityWidth}{\rule{0pt}{\baselineskip}% \hfill % \raggedright\recipequantityfont% \strut #1\strut% \rule{0.1cm}{0cm}}% \usebox{\st@pingrtmpbox}% }% }% \fi% \savebox{\st@pingrtmpbox}[\R@cipeIQUWidth][t]{\usebox{\st@pingrbox}}% \savebox{\st@pingrbox}[\R@cipeIQUWidth][t]{% \begin{minipage}[t]{\R@cipeIQUWidth}% \ifnum\value{ingr@dnumber}>0% \usebox{\st@pingrtmpbox}\par% \fi% \usebox{\st@pIQUbox}\strut% \end{minipage}% }% \stepcounter{ingr@dnumber}% \p@stingred% }% \newenvironment{recipe}[3]{% \stepcounter{r@cipenumber} \let\newstep\m@thodend \let\recipen@wpage\newpage \let\newpage\r@cipen@wpage \let\0\d@grees \let\degrees\d@grees \let\fr\fr@ction \let\ing\ingr@dient \let\ingredient\ingr@dient \let\freeform\fr@eform \n@wpagingfalse% \setlength{\parindent}{0pt} \savebox{\st@pingrbox}[\R@cipeIQUWidth]{} \savebox{\st@pmethodbox}[\R@cipeMethodWidth]{} \ifind@xing \addcontentsline{toc}{subsection}{#1} \fi \r@cipetitle{#1}{#2}{#3} \vskip0.2cm% \p@stingred% }% {% \pr@ingred% \ifnum\value{st@pnumber}=0% then complain! \PackageWarning{cuisine}{The recipe did not have any steps}% \fi% \pagebreak[0]% \medskip% \@endpetrue% }% \DeclareRobustCommand{\d@grees}{% ${}^\circ$% }% \DeclareRobustCommand{\fr@ction}[2]{% \nicefrac#1#2% }% \endinput% \endinput %% %% End of file `cuisine.sty'.