From 5a345d1a082ec0cd0d102e08750638c31e98c557 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 12 Jan 2006 23:53:49 +0000 Subject: cuisine git-svn-id: svn://tug.org/texlive/trunk@804 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/cuisine/cuisine.sty | 331 ++++++++++++++++++++++++ 1 file changed, 331 insertions(+) create mode 100644 Master/texmf-dist/tex/latex/cuisine/cuisine.sty (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/cuisine/cuisine.sty b/Master/texmf-dist/tex/latex/cuisine/cuisine.sty new file mode 100644 index 00000000000..e7cf8a8a35a --- /dev/null +++ b/Master/texmf-dist/tex/latex/cuisine/cuisine.sty @@ -0,0 +1,331 @@ +%% +%% 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'. -- cgit v1.2.3