diff options
author | Karl Berry <karl@freefriends.org> | 2015-04-22 21:39:35 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2015-04-22 21:39:35 +0000 |
commit | d789ccfcda9a20e1367aded51735e2f23984c4f4 (patch) | |
tree | b178be3e0dcb96ebcda73231a73769991ee3568b /Master/texmf-dist | |
parent | 3782006e5b8192d3e0e55dc792f9f52fd12286e3 (diff) |
recipebook (22apr15)
git-svn-id: svn://tug.org/texlive/trunk@37010 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
14 files changed, 1062 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/recipebook/LongSample.pdf b/Master/texmf-dist/doc/latex/recipebook/LongSample.pdf Binary files differnew file mode 100644 index 00000000000..e064bf08793 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/LongSample.pdf diff --git a/Master/texmf-dist/doc/latex/recipebook/LongSample.tex b/Master/texmf-dist/doc/latex/recipebook/LongSample.tex new file mode 100644 index 00000000000..cbf68ff2f33 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/LongSample.tex @@ -0,0 +1,338 @@ +% Filename: LongSample.tex +% Sample cookbook using RecipeBook class. Demonstrates +% syntax for creating a title page, hyperlinked table of +% contents, and several recipe formats. + +\documentclass{RecipeBook} + +\begin{document} + +\titlepage[Recipes] + {images/French_dip.jpg} + {images/Curried_butternut_squash_soup.jpg} + {images/Grilled_chicken_with_capers.jpg} + +\makecontents + +\pagestyle{recipe} + +\section{Beef} +\subsection{French dip sandwiches} +%====French dip sandwiches===================================================% +\author{Brad} +%----Title and info----------------------------------------------------------% +\title{French dip} +\subtitle{\hspace*{0.75in}sandwiches} +\leftbgpic{images/French_dip.jpg} + +\begin{shrink} + +\begin{info} + Makes: & 6 - 8 sandwiches \\ + Roast prep: & 15 minutes \\ + Roast time: & 1 - 4 hours \\ + Remaining: & 45 minutes +\end{info} + +%----Ingredients-------------------------------------------------------------% +\recipesection{Ingredients} +\begin{ingredients} +% \group{For the roast} + \item{4 lb. beef round or sirloin roast} + \item{2 cups chopped vegetables (onion, carrot, celery, garlic)} + \item{Several sprigs fresh thyme} + \item{\nicefrac{1}{4} cup red wine} + \item{Salt and pepper} + \group{For the au jus} + \item{1 tsp butter or coconut oil} + \item{1 tsp flour} + \item{2 cups beef broth} + \group{For the sandwiches} + \item{1 large onion, sliced} + \item{\nicefrac{1}{2} block provolone cheese (4 oz.), thinly sliced} + \item{Steak rolls, halved, for serving} +\end{ingredients} + +%----Instructions------------------------------------------------------------% +\recipesection{Instructions} +\hlgroup{ For the roast } +\step{1.}{ + Preheat the oven to between 200\degree\ and 350\degree. + Pat the roast dry and season with salt and pepper. Heat oil in a medium + cast-iron skillet or Dutch oven over medium heat. +} +\step{2.}{ + Sear the roast over medium-high heat, several minutes per + side, to brown. Set aside and add the root vegetables and thyme, + stirring for several minutes to sweat. Add the red wine and place the + roast on top. +} +\step{3.}{ + Transfer to the preheated oven and cook for 1 hour at 300\degree, + 1 \nicefrac{1}{2} hours at 250\degree, 2 hours at 225\degree, or + 4 hours at 180\degree. Remove from the oven when the internal temperature + reaches about 135\degree\ for medium-rare, and set the roast aside to rest. +} +\hlgroup{For the au jus} +\step{4.}{ + Add the beef broth to the Dutch oven and bring the contents + to a boil, using a wooden spoon to deglaze the bottom. Reduce heat and + simmer to fully soften the vegetables. +} +\step{5.}{ + Strain the liquid, pressing on the solids. Make a light roux + from 1 tsp oil and flour and slowly stir in the reserved liquid. +} +\hlgroup{For the sandwiches} +\step{6.}{ + Saut\'{e} the onion with some oil over medium-high heat, stirring + occasionally, to soften. +} +\step{7.}{ + Spread or spray oil on the insides of the rolls and toast under the + broiler set to low (don't preheat) for 3 - 4 minutes. } +\step{8.}{ + Slice the roast thinly. Place the roast beef and cheese on + the bottom-halves of the buns, and place under the broiler briefly to + melt the cheese. Top with the onions and top-halves of the buns and serve + with the au jus, for dipping. +} + +\recipesection{Goes well with} +roasted vegetables or sweet potato fries. + +\recipesection{Notes} + +\end{shrink} + +\section{Pork} +\subsection{Italian calzones} +%====Italian calzones========================================================% +\author{Brad, dough recipe from Chef Rider @ allrecipes.com} +%----Title and info----------------------------------------------------------% +\title{Italian calzones} + +\begin{info} + Makes: & 4 - 6 servings \\ + & (8 calzones) \\ + Prep time: & 1 hour \\ + Cook time: & 25 minutes \\ +\end{info} + +%----Ingredients-------------------------------------------------------------% +\recipesection{Ingredients} +\begin{ingredients} + \group{For the dough} + \item{1 (\nicefrac{1}{4} oz.) package active dry yeast} + \item{1 tsp sugar} + \item{1 cup warm water} + \item{2 \nicefrac{1}{2} cups bread or all-purpose flour} + \item{1 tsp salt} + \item{1 Tbs dried oregano} + \group{For the filling} + \item{1 lb ground sausage} + \item{\nicefrac{1}{2} onion, diced} + \item{\nicefrac{1}{2} bell pepper, seeded and diced} + \item{1 tsp each dried basil, dried thyme, and red pepper flakes} + \item{\nicefrac{1}{2} block Mozzarella cheese $\quad\quad$ (4 oz.), diced} + \item{\nicefrac{1}{2} cup sliced olives} + \item{\nicefrac{3}{4} cup vodka or marinara sauce} +\end{ingredients} + +%----Instructions------------------------------------------------------------% +\recipesection{Instructions} + +\step{1.}{ + Combine the sugar, yeast, and warm water in a large bowl + and rest 10 minutes to bloom. Add the other ingredients for the dough + and mix well. +} +\step{2.}{ + Cook the onions, peppers, sausage, and seasoning together + in a medium skillet, breaking the sausage apart as it browns until + cooked through. +} +\step{3.}{ + Drain the grease and remove from heat. Preheat the oven to + 400\degree. +} +\step{4.}{ + Divide the dough into eighths and roll into thin disks on + a lightly floured surface, keeping extra flour handy to prevent + sticking. +} +\step{5.}{ + Spread each disk with marinara sauce and divide the sausage + mixture among them. Fold the dough around the sausage mixture, pressing + flat, and fold or pinch the edges closed. +} +\step{6.}{ + Transfer the calzones to prepared baking pans and use your + fingers to spread a light coat of olive oil on the exposed dough. + Cook in the preheated oven for 20 - 25 minutes, or until the + crust is lightly browned. +} + +\pic{images/Italian_calzones.jpg} + +\section{Chicken} +\subsection{Grilled chicken with capers} +%----Title and info----------------------------------------------------------% +\author{Brad, original by Sandra Lee @ www.foodnetwork.com} +\title{Grilled chicken} +\subtitle{\hspace*{0.4in}with capers} + +\begin{info} + Makes: & 2 servings \\ + Time: & 45 minutes \\ +\end{info} + +\recipesection{For the chicken} + +\begin{ingredients*} + \item{2 chicken breasts, butterflied} + \item{Salt and pepper} +\end{ingredients*} + +\step{1.}{ + Rub the chicken with salt and pepper. Add oil to a skillet and place over + medium-high heat. Add the chicken and cook for 3 - 4 minutes, or until the + edges have turned white, and flip. Cook until the chicken firms to the touch + and is cooked through. +} + +\recipesection{For the pasta} +\begin{ingredients*} + \item{2 servings* fettuccini or linguini pasta} +\end{ingredients*} + +\step{2.}{ + Bring a pot of water to boil and add the pasta. Boil for about 10 + minutes or until soft. Drain and rinse to halt cooking, and stir in + some olive oil. +} + +\pagebreak +\recipesection{For the caper sauce} +\begin{ingredients*} + \item{1 shallot, diced} + \item{2 cloves garlic, minced} + \item{2 Tbs capers} + \item{1 cup white wine or chicken stock} + \item{1 Tbs Dijon mustard} + \item{1 Tbs dried parsley} + \item{\nicefrac{1}{4} cup plain Greek yogurt} +\end{ingredients*} + +\step{3.}{ + Saut\'{e} the shallot and garlic with a little oil + to soften. Add the capers and white wine and simmer, uncovered, to + reduce by about half. +} +\step{4.}{ + Mix in the mustard and parsley, and season with salt and + pepper to taste. Remove from heat and stir in the Greek yogurt. +} + +\recipesection{Notes} + +*One serving of pasta is about the diameter of a nickel. + +\pic[t]{images/Grilled_chicken_with_capers.jpg} + +\section{Sides and Desserts} + +\subsection{Curried butternut squash soup} +\subsection{Pumpkin pie soup} +\author{Brad} +% Background images for side-by-side recipes +\rightbgpic{images/Curried_butternut_squash_soup.jpg} +\leftbgpic{images/Pumpkin_pie_soup.jpg} + +%----Title and info----------------------------------------------------------% +\title{Pumpkin pie soup} + +\begin{info} + Makes: & 6 - 8 servings \\ + Time: & 1 hour 15 minutes \\ +\end{info} + +%----Ingredients-------------------------------------------------------------% +\recipesection{Ingredients} +\begin{ingredients} + \item{2 carnival squash} + \item{2 cups coconut milk} + \item{2 cups chicken stock} + \item{2 shallots, diced} + \item{2 Tbs maple syrup or honey} + \item{Pinch salt, pepper, cinnamon, nutmeg, and ground cloves} +\end{ingredients} + +%----Instructions------------------------------------------------------------% +\recipesection{Instructions} + +\step{1.}{ + Preheat the oven to 300\degree. Cut off the top of the squash + with the stem and then cut in half. Scrape the insides with a spoon and + coat the cut-sides with olive oil. Place flesh-down on a baking pan and + roast for 45 minutes, or until soft. +} +\step{2.}{ + Cook the shallot with some oil in a large saucepan until + translucent and reduce the heat. Add the coconut milk, chicken stock, + maple syrup or honey, and spices. +} +\step{3.}{ + Scoop out the squash flesh and add to the saucepan. Use an + immersion blender to puree the soup. Heat through and serve with a + sprinkle of nutmeg. +} + +\pagebreak + +%----Title and info----------------------------------------------------------% +\title{Curried butternut squash soup} + +\begin{info} + Makes: & 4 - 6 servings \\ + Time: & 45 minutes \\ +\end{info} + +%----Ingredients-------------------------------------------------------------% +\recipesection{Ingredients} +\begin{ingredients} + \item{1 butternut squash, peeled, seeded, and chopped} + \item{1 apple, cored and chopped} + \item{1 onion, chopped} + \item{2 cloves garlic, chopped} + \item{2 cups coconut milk} + \item{1 Tbs curry powder} + \item{1 tsp mild chili powder} + \item{\nicefrac{1}{2} tsp ground black pepper} +\end{ingredients} + +%----Instructions------------------------------------------------------------% +\recipesection{Instructions} + +\step{1.}{ + Place a medium saucepan or Dutch oven with some oil over medium + heat. Add the onions, garlic, apple, and spices and cook to soften, + about 5 minutes. +} +\step{2.}{ + Add the squash and coconut milk and bring to a boil. Reduce the + heat, cover, and simmer for 20 - 30 minutes to soften the squash. +} +\step{3.}{ + Puree the soup with an immersion blender. Serve with a splash + of heavy cream for garnish. +} + +\recipesection{Notes} + +Divide the leftover soup into containers and freeze for up to 3 months. + +\clearpage + +\end{document} + diff --git a/Master/texmf-dist/doc/latex/recipebook/README b/Master/texmf-dist/doc/latex/recipebook/README new file mode 100644 index 00000000000..adf4d39e98b --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/README @@ -0,0 +1,182 @@ +%====Copyright info==========================================================% +%% README.txt +%% Copyright 2015 Brad Granger +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% +% The Current Maintainer of this work is Brad Granger +% This work consists of the file RecipeBook.cls +% +%====Abstract================================================================% +This is a LaTeX2e class file for typesetting recipes. It is designed for +typesetting one or two recipes per page, with dimensions of 5.5'' x 8.5''. +The hyperlinked table of contents (ToC) and page numbers make browsing +recipes convenient, and the pages can be joined together or printed 2 per page +to normal letterpaper easily. The size was chosen to work in half-page +3-ring binder cover sheets, because un-laminated paper just doesn't last in the +kitchen. + +This class requires pdflatex to compile with image transparency. + +The half-letter pages can be printed two per page using your printer driver, or +bound together using pdfjam, a shell script free and available for MacOSX and +Linux. I haven't tested in MacOS, but in Linux the command to bind together +your recipes for printing is +$ pdfjam --nup 2x1 --papersize '{11in,8.5in}' Recipes.pdf +where Recipes.pdf is the compiled version of your recipes. +More info on pdfjam can be found here: http://go.warwick.ac.uk/pdfjam. + +%====Installation instructions===============================================% +The simplest method is to place RecipeBook.cls in the same directory as your +LaTeX source file. + +To install system-wide make the folder RecipeBook in your latex +search path and place RecipeBook.cls inside. + +On Debian / Ubuntu systems, the preferred location is: +/usr/local/share/texmf/tex/latex/ +Navigate to /usr/local/share/texmf, and execute the following bash command +to update the search path. +$ sudo mktexlsr + +%====Command and environment overview========================================% +%----Title page and table of contents----------------------------------------% +\titlepage[<Text>]{<image1>}{<image2>}{<image3>} +This command will generate the title page. The title is given by <Text> with +the default being Recipes, and <imagex> the image files to use. + +\section{<section>} +Add a section heading to the ToC with a hyperlink pointing to the next recipe. + +\subsection{<subsection>} +Add a subsection heading to the ToC with a hyperlink. This also controls +clearing / moving to the next page, so each recipe should be preceeded by +its subsection command. + +%----Recipe formatting-------------------------------------------------------% +\title[<fontsize>]{<Text>} +Format the recipe title. Default <fontsize> is 22pt. + +\subtitle[<fontsize>]{<Text>} +Format the subtitle. Default <fontsize> is 18pt. + +\recipesection[<fontsize>]{<Text>} +Add a section heading to the recipe, e.g. before the list of ingredients. + +\author[<Preamble>{<text>} +Adds a footnote in the SW corner with text <text> preceded by <Preamble>. +<Preamble> is 'Author: ' by default. + +\begin{info} ... \end{info} +This is a tabular environment with two columns for general recipe info like +cooking time and recipe yield. + +\begin{info*} ... \end{info*} +Same and info environment except more compact spacing. + +\begin{ingredients}[<bullet>] ... \end{ingredients} +The standard environment for listing ingredients. This will not wrap pages. +This is a tabular environment with 2 columns. Ingredients and section +headers can be listed with the following commands. + +\item[<bullet>]{<Text>} +The optional argument <bullet> specifies the list bullets, the default is +the \square icon. + +\group{<Text>} +Formats a section header between ingredients. + +\begin{ingredients*} ... \end{ingredients*} +Alternative method for formatting ingredients. This works best when the +recipe can be divided into parts, and ingredients listed with their +corresponding instructions. Formats the ingredients with a light background +with blurred edges. Uses the same commands for the unstarred version for +listing ingredients. + +\step{<Number>}{<Text>} +Instruction steps don't need to be placed in an environment like ingredients. +<Number> gives the instruction number, and <Text> the instruction text. +<Number> should be a single digit followed by a period, or it will overflow the +box. + +\hlgroup[<color>]{<Text>} +Formats <Text> in italics with a shaded background with blurred edges. Useful +for separating instruction steps with section information (e.g. 'For the +sauce'). + +\begin[<size>]{shrink} ... \end{shrink} +You can put an entire recipe within the shrink environment if it doesn't fit +on the page. Default value of <size> is 1pt, decimals are allowed. +% Grow environment + +\begin[<size>]{grow} ... \end{grow} +The complement of the shrink environment, if you would like your text larger. +Default value is 1pt, decimals are allowed. +%----Image commands----------------------------------------------------------% +\pic[<location>]{<image>} +Add a float image with fuzzy edges to your recipe. <location> can be h for +here, t for top, or b for bottom. <image> is the image file, e.g. Burgers.jpg. + +\leftbgpic[<length>][<opacity>]{<image>} +Add a background image in the left column. <length> is the vertical distance +from the top of the page, the default is the length \pagetop. Opacity is a +number between 0 and 1 with a default of 0.4. <image> is an image file. + +\rightbgpic[<length>][<opacity>]{<image>} +Add a background image in the right column. Default <length> of \pagebottom +places the image at the bottom of the page. + +%====Class specific lengths==================================================% +% The following lengths are used to control various aspects of the class. +\basefontsize % Info, ingredients, and instructions font size +\basefontskipsize % Normally about 1.2\basefontsize. Controls line spacing. +\recipetitlefontsize % Font size for recipe titles, not the title-page title. +\instrnumsize % Font size for the instruction numbers +\recipeheadfontsize % Font size for headings using \recipesection{}. + +%====Required Latex Packages=================================================% +ragged2e % Left-aligns document instead of default justified, which leaves + % large gaps in 2-column mode. +amsmath,amsfonts,amssymb % Use for \square symbol, etc. +xparse % Allows for multiple optional arguments in new environments + % and other convenient class features +wrapfig % Used for numbering instruction steps +graphicx % Used to include pictures +eso-pic % Used for transparent images +anyfontsize % Provides arbitrary font sizes +scrextend % Used with anyfontsize +multirow, multicol % Join cells in tabular (used in \group) +nicefrac % Nicer fraction format for inline fractions +xcolor % Colored text +gensymb % Provides degree symbol with \degree. +booktabs % Provies a nice table line with \toprule +tabularx % Required for ingredients and info environments +calc % Provides \widthof for automatically adjusting width of + % the number box in \step{} +picture % Used for absolute page dimensions with put{}. +parskip % Custom spacing options +tgtermes % Default font package +fontenc % Required for controlling the font, somehow +datetime % Used to generate the compile date on the title page +fancyhdr % Used to control header and footer content +tikz % Used for more complicated image control like fuzzy edges. +tocloft % Used for more control over the table of contents (ToC). +hypperref % Used for hyperlinked ToC and page numbers. +geometry % Sets page geometry. +environ % Used for more advanced environment definitions +tcolorbox % Used for faded boxes in ingredients* environment + +%====Known bugs / features===================================================% +Images with transparency won't work on the last page of the document. The +workaround is to place a \clearpage command before \end{document} + +\author must be redefined for every page or it will carry over to the following +recipes. diff --git a/Master/texmf-dist/doc/latex/recipebook/ShortSample.pdf b/Master/texmf-dist/doc/latex/recipebook/ShortSample.pdf Binary files differnew file mode 100644 index 00000000000..5b68ae330be --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/ShortSample.pdf diff --git a/Master/texmf-dist/doc/latex/recipebook/ShortSample.tex b/Master/texmf-dist/doc/latex/recipebook/ShortSample.tex new file mode 100644 index 00000000000..ce38c39f54d --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/ShortSample.tex @@ -0,0 +1,148 @@ +% Filename: ShortSample.tex +% Minimal sample cookbook using RecipeBook class. Demonstrates +% syntax for creating a title page, hyperlinked table of +% contents, and several recipe formats. + +\documentclass{RecipeBook} + +\begin{document} + +% \titlepage[<Text>]{<image1>}{<image2>}{<image3>} +% Provide title text and three image files to \titlepage to +% generate a title page. In the following the images are located +% in the subdirectory images. +\titlepage[Sample Title] + {images/sample_image.jpg} + {images/sample_image.jpg} + {images/sample_image.jpg} + +% \makecontents +% Generate hyperlinked table of contents +\makecontents + +% Section and subsection commands for making ToC entries and +% managing pagebreaks. +\section{Sample section num. 1} +\subsection{Sample recipe num. 1} + +% \author{<name>} +% Author, to be displayed in a footnote +\author{Sample Author} + +% Recipe title and subtitle +\title{Sample Title} +\subtitle{\hspace*{0.5in}sample subtitle} + +% info environment. This is a tabular environment with two +% columns, so entries on the same line are separated by & and +% lines must be ended with \\. +\begin{info} + Makes: & X servings \\ + Cooking time: & X hours +\end{info} + +% \begin[<size>]{shrink} ... \end{shrink} +% Shrink the text within this environment by value <size>. Default +% value is 1 pt, a good place to start if your recipe is too long. +\begin{shrink} + +% \recipesection{<text>} +% Formats a heading with text <text>. +\recipesection{Ingredients} + +% \begin{ingredients} ... \end{ingredients} +% \ingr[<bullet>]{<text>} +% Format ingredients in a tabular environment with bullet points +% specified by <bullet>. The default is \square. +% \group{<text>} removes bullet point and underlines the text. + +\begin{ingredients} + \group{Sample group heading} + \item{Sample ingredient} + \group{Sample group heading 2} + \item{Sample ingredient 2} +\end{ingredients} + +\recipesection{Instructions} + +% \instr{<step_number>}{<text>} +% Used for numbered instructions. +\step{1.}{ + Sample instruction with some extra text text text text text + text text text text text text text. +} + +% \hlgroup{<text>} +% Used for heading within instruction set. +\hlgroup{Sample group heading} +\step{2.}{ + Sample instruction with some extra text text text text text + text text text text text text text. +} + +\pagebreak +\pic[t]{images/sample_image.jpg} + +\end{shrink} + +\section{Sample side-by-side recipes} +\subsection{Sample recipe (a)} +\subsection{Sample recipe (b)} +\author{Sample Author} + +% \leftbgpic[<offset>][<transparency>]{<image_file>} +% Places a transparent image with edge fading in the left +% column, with <offset> setting the vertical distance from +% the top of the page (default is \pagetop). +% \rightbgpic[<offset>][<transparency>]{<image>} +% Same syntax for \rightbgpic and leftbgpic. Default value +% for <offset> is \pagebottom. +\rightbgpic{images/sample_image.jpg} +\leftbgpic{images/sample_image.jpg} + +%----Title and info----------------------------------------------------------% +\title{Sample recipe (a)} + +\begin{info} + Makes: & X servings \\ + Cooking time: & X hours +\end{info} + +\recipesection{Ingredients} +\begin{ingredients} + \item{Sample ingredient} + \item{Sample ingredient} +\end{ingredients} + +\recipesection{Instructions} + +\step{1.}{ + Sample instruction with some extra text text text text text + text text text text text text text. +} + +\pagebreak + +\title{Sample recipe (b)} + +\begin{info} + Makes: & X servings \\ + Cooking time: & X hours +\end{info} + +\recipesection{Ingredients} +\begin{ingredients} + \item{Sample ingredient} +\end{ingredients} + +\recipesection{Instructions} + +\step{1.}{ + Sample instruction with some extra text text text text text + text text text text text text text. +} + +\clearpage + +\end{document} + diff --git a/Master/texmf-dist/doc/latex/recipebook/images/Curried_butternut_squash_soup.jpg b/Master/texmf-dist/doc/latex/recipebook/images/Curried_butternut_squash_soup.jpg Binary files differnew file mode 100644 index 00000000000..5f8255ce029 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/images/Curried_butternut_squash_soup.jpg diff --git a/Master/texmf-dist/doc/latex/recipebook/images/Curried_chicken_and_rice.jpg b/Master/texmf-dist/doc/latex/recipebook/images/Curried_chicken_and_rice.jpg Binary files differnew file mode 100644 index 00000000000..042f782b34c --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/images/Curried_chicken_and_rice.jpg diff --git a/Master/texmf-dist/doc/latex/recipebook/images/French_dip.jpg b/Master/texmf-dist/doc/latex/recipebook/images/French_dip.jpg Binary files differnew file mode 100644 index 00000000000..50c010973f0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/images/French_dip.jpg diff --git a/Master/texmf-dist/doc/latex/recipebook/images/Grilled_chicken_with_capers.jpg b/Master/texmf-dist/doc/latex/recipebook/images/Grilled_chicken_with_capers.jpg Binary files differnew file mode 100644 index 00000000000..54e6cccda39 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/images/Grilled_chicken_with_capers.jpg diff --git a/Master/texmf-dist/doc/latex/recipebook/images/Hawaiian_burgers.jpg b/Master/texmf-dist/doc/latex/recipebook/images/Hawaiian_burgers.jpg Binary files differnew file mode 100644 index 00000000000..d7a9b534903 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/images/Hawaiian_burgers.jpg diff --git a/Master/texmf-dist/doc/latex/recipebook/images/Italian_calzones.jpg b/Master/texmf-dist/doc/latex/recipebook/images/Italian_calzones.jpg Binary files differnew file mode 100644 index 00000000000..a880d283008 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/images/Italian_calzones.jpg diff --git a/Master/texmf-dist/doc/latex/recipebook/images/Pumpkin_pie_soup.jpg b/Master/texmf-dist/doc/latex/recipebook/images/Pumpkin_pie_soup.jpg Binary files differnew file mode 100644 index 00000000000..84a444a00d2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/images/Pumpkin_pie_soup.jpg diff --git a/Master/texmf-dist/doc/latex/recipebook/images/sample_image.jpg b/Master/texmf-dist/doc/latex/recipebook/images/sample_image.jpg new file mode 120000 index 00000000000..c4b70bd5825 --- /dev/null +++ b/Master/texmf-dist/doc/latex/recipebook/images/sample_image.jpg @@ -0,0 +1 @@ +Curried_chicken_and_rice.jpg
\ No newline at end of file diff --git a/Master/texmf-dist/tex/latex/recipebook/RecipeBook.cls b/Master/texmf-dist/tex/latex/recipebook/RecipeBook.cls new file mode 100644 index 00000000000..2a13d424e54 --- /dev/null +++ b/Master/texmf-dist/tex/latex/recipebook/RecipeBook.cls @@ -0,0 +1,393 @@ +%% RecipeBook.cls +%% Copyright 2015 Brad Granger +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either version 1.3 +% of this license or (at your option) any later version. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3 or later is part of all distributions of LaTeX +% version 2005/12/01 or later. +% +% This work has the LPPL maintenance status `maintained'. +% The Current Maintainer of this work is Brad Granger +% +% This work consists of the file RecipeBook.cls + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{RecipeBook}[2015/02/13 Custom recipe class] + +\LoadClass[letterpaper,12pt,twocolumn]{article} + +\RequirePackage[document]{ragged2e} % Left-aligns document (need document option) +\RequirePackage{amsmath,amsfonts,amssymb} % Use for \square symbol, etc. +\RequirePackage{xparse} % Multiple optional arguments in new environments +\RequirePackage{wrapfig} % Use for wrapping around large numbers in instructions +\RequirePackage{graphicx} % Use to include figures +\RequirePackage{eso-pic} % Used for transparent images +\RequirePackage{anyfontsize} % Provides arbitrary font sizes +\RequirePackage{scrextend} % Used with anyfontsize +\RequirePackage{multirow,multicol} % Join cells in tabular +\RequirePackage{nicefrac} % nice slanted fractions using \nicefrac +\RequirePackage{xcolor} % Change text color using \color{} within group or env. +\RequirePackage{gensymb} % Provides the degree symbol with \degree +\RequirePackage{booktabs} % Nice table line \toprule +\RequirePackage{tabularx} % Used for auto-width tables +\RequirePackage{calc} % Provides \widthof for wrapping around numbers in \step{}. +\RequirePackage{picture} % Used for absolute dimensions with put{} +%----Adds parskip between minipage environments------------------------------% +\RequirePackage{parskip} +\setlength{\parskip}{\medskipamount} +\newcommand{\@minipagerestore}{\setlength{\parskip}{\medskipamount}} +%----Define fonts and font sizes---------------------------------------------% +\RequirePackage{tgtermes} +\RequirePackage[T1]{fontenc} +\renewcommand{\rmdefault}{qtm} +\newlength{\basefontsize} +\setlength{\basefontsize}{13pt} +\newlength{\basefontskipsize} +\setlength{\basefontskipsize}{14pt} +\newlength{\recipetitlefontsize} +\setlength{\recipetitlefontsize}{22pt} +\newlength{\instrnumsize} +\setlength{\instrnumsize}{22pt} +\newlength{\recipeheadfontsize} +\setlength{\recipeheadfontsize}{17pt} +\changefontsizes[\basefontskipsize]{\basefontsize} % Default font skip/size + +%----Shrink and grow environments to scale text------------------------------% +\NewDocumentEnvironment{shrink}{O{1pt}}{ + \addtolength{\basefontsize}{-#1} + \addtolength{\basefontskipsize}{-#1} + \addtolength{\instrnumsize}{-#1 * 2} + \addtolength{\recipeheadfontsize}{-#1} + \changefontsizes[\basefontskipsize]{\basefontsize} +}{ + \addtolength{\basefontsize}{#1} + \addtolength{\basefontskipsize}{#1} + \addtolength{\instrnumsize}{#1 * 2} + \addtolength{\recipeheadfontsize}{#1} + \changefontsizes[\basefontskipsize]{\basefontsize} +} + +\NewDocumentEnvironment{grow}{O{1pt}}{ + \addtolength{\basefontsize}{#1} + \addtolength{\basefontskipsize}{#1} + \addtolength{\instrnumsize}{#1 * 2} + \addtolength{\recipeheadfontsize}{#1} + \changefontsizes[\basefontskipsize]{\basefontsize} +}{ + \addtolength{\basefontsize}{-#1} + \addtolength{\basefontskipsize}{-#1} + \addtolength{\instrnumsize}{-#1 * 2} + \addtolength{\recipeheadfontsize}{-#1} + \changefontsizes[\basefontskipsize]{\basefontsize} +} + +%----Some page formatting lengths--------------------------------------------% +\setlength\parindent{0pt} % Don't indent new paragraphs +\setlength\parskip{4pt} % Set space between paragraphs +\setlength{\columnsep}{12pt} % Sets margin between columns + +%----Headers and footers-----------------------------------------------------% +\RequirePackage{datetime} % Provides compile date on title page +\mmddyyyydate % Reformat \today to MM/DD/YYYY +\RequirePackage{fancyhdr} % Provide header and footer \lhead \rfoot, etc. +\fancypagestyle{recipe}{ + \fancyhead{} + \fancyfoot{} + \fancyfoot[R]{\hyperlink{contents}{\arabic{page}}} + \renewcommand{\headrulewidth}{0pt} % Remove line from header + \renewcommand{\footrulewidth}{0pt} +} +\fancypagestyle{titlestyle}{ + \fancyhead{} + \fancyfoot{} + \renewcommand{\headrulewidth}{0pt} % Remove line from header + \renewcommand{\footrulewidth}{0pt} +} +\fancypagestyle{tocstyle}{ + \fancyhead{} + \fancyfoot{} + \fancyfoot[C]{\today} + \renewcommand{\headrulewidth}{0pt} % Remove line from header + \renewcommand{\footrulewidth}{0pt} +} + +\raggedbottom % Don't stretch blocks vertically to fit page +\RequirePackage{tikz} +\usetikzlibrary{calc, fadings} + +%----Commands for working with the ToC--------------------------------------=% +% Use tocloft to remove numbers from the table of contents (ToC) +\RequirePackage{tocloft} +% Use hyperref to create links in the ToC (has to be loaded last, usually) +\RequirePackage[colorlinks]{hyperref} +\hypersetup{linkcolor=blue} +% Set page geometry (should be loaded after hyperref} +\RequirePackage[top=0.4in,inner=0.25in,outer=0.25in,bottom=0.65in, + paperheight=8.5in, paperwidth=5.5in, + headheight=16pt]{geometry} + +\cftsetindents{subsection}{8pt}{0pt} +\cftsetindents{section}{0pt}{0pt} +\renewcommand\thesection{} +\renewcommand\thesubsection{} +\renewcommand\cftdot{} +\renewcommand{\cftsecfont}{ + \bfseries \fontsize{\recipeheadfontsize}{\recipeheadfontsize}\selectfont +} +\newcommand \makecontents {\tableofcontents \thispagestyle{tocstyle}} + +%----\titlepage for generating title page------------------------------------% +\DeclareDocumentCommand{\titlepage}{O{Recipes} m m m}{ + \thispagestyle{titlestyle} + \AddToShipoutPicture*{ + \put(0.20in,0){ + \parbox[b][\paperheight]{\linewidth}{% + \vspace*{2.40in} + \begin{tikzpicture} + \node[anchor=north east, inner sep=0] (image) at (0,0) {% + \includegraphics[width=1.05\linewidth]{#2}}; + \end{tikzpicture} + \vfill + } + } + } + \AddToShipoutPicture*{ + \put(0.25\paperwidth,0){ + \parbox[b][\paperheight]{\linewidth}{% + \vspace*{3.90in} + \begin{tikzpicture} + \node[anchor=north east, inner sep=0] (image) at (0,0) {% + \includegraphics[width=1.05\linewidth]{#3}}; + \end{tikzpicture} + \vfill + } + } + } + \AddToShipoutPicture*{ + \put(0.5\paperwidth,0){ + \parbox[b][\paperheight]{\linewidth}{% + \vspace*{5.40in} + \begin{tikzpicture} + \node[anchor=north east, inner sep=0] (image) at (0,0) {% + \includegraphics[width=1.05\linewidth]{#4}}; + \end{tikzpicture} + \vfill + } + } + } + \AddToShipoutPicture*{ + \parbox[b][\paperheight]{\paperwidth}{ + \vspace*{0.9in} + \centering \color{black!50} + \fontsize{46pt}{40pt}\selectfont #1 + \vfill + } + } + $\quad$ + \clearpage \newpage +} + +%----section and subsection commands-----------------------------------------% +\RenewDocumentCommand{\section}{m}{ + \newpage + \phantomsection + \cftaddtitleline{toc}{section}{#1}{} +} + +\RenewDocumentCommand{\subsection}{m}{ + \clearpage\newpage + \phantomsection + \addcontentsline{toc}{subsection}{#1} +} + +%----Make page numbers hyperlinks to the ToC (along with fancyhdr, above)----% +\renewcommand{\contentsname}{\hypertarget{contents}{ + \bfseries \fontsize{\recipetitlefontsize}{\recipetitlefontsize}\selectfont + Recipes} +} + +%----Image commands----------------------------------------------------------% +\setlength{\@fptop}{0pt} % Position image at the top by setting fill to 0pt + +\tikzfading[name=fade l,left color=transparent!100,right color=transparent!0] +\tikzfading[name=fade r,right color=transparent!100,left color=transparent!0] +\tikzfading[name=fade d,bottom color=transparent!100,top color=transparent!0] +\tikzfading[name=fade u,top color=transparent!100,bottom color=transparent!0] + +% this "frames" a rectangle node +\newcommand\framenode[2][10pt]{ + \fill[white, opacity=1, path fading=fade u] (#2.south west) rectangle ($(#2.south east)+(0, #1)$); + \fill[white, opacity=1, path fading=fade d] (#2.north west) rectangle ($(#2.north east)+(0,-#1)$); + \fill[white, opacity=1, path fading=fade l] (#2.south east) rectangle ($(#2.north east)+(-#1,0)$); + \fill[white, opacity=1, path fading=fade r] (#2.south west) rectangle ($(#2.north west)+( #1,0)$); +} + +\newlength{\pagetop} \setlength{\pagetop}{32.5pt} +\DeclareDocumentCommand \leftbgpic {O{32.5pt} O{0.4} m} { + \AddToShipoutPicture*{ + \put(0.20in,0.15in){ + \parbox[b][\paperheight]{\linewidth}{% + \vspace*{#1} + \begin{tikzpicture}[opacity=#2] + \node[anchor=north east, inner sep=0] (image) at (0,0) {% + \includegraphics[width=1.05\linewidth]{#3}}; + \framenode[25pt]{image} % opt. arg. is fade radius; + % mand. arg. is node name to frame + \end{tikzpicture} + \vfill + } + } + } +} + +\newlength{\pagebottom} \setlength{\pagebottom}{6.15in} +\DeclareDocumentCommand \rightbgpic {O{\pagebottom} O{0.4} m} { + \AddToShipoutPicture*{ + \put(.49\paperwidth,0.15in){ + \parbox[b][\paperheight]{\linewidth}{% + \vspace*{#1} + \begin{tikzpicture}[opacity=#2] + \node[anchor=north east, inner sep=0] (image) at (0,0) {% + \includegraphics[width=1.05\linewidth]{#3}}; + \framenode[30pt]{image} % opt. arg. is fade radius; + % mand. arg. is node name to frame + \end{tikzpicture} + \vfill + } + } + } +} + +% % \pic command for float image +% \DeclareDocumentCommand{\pic}{O{t} m}{ +% \begin{figure}[#1] +% \centering \includegraphics[width=0.45\textwidth]{#2} \\ +% \end{figure} +% } + +% \pic command for float image +\DeclareDocumentCommand{\pic}{O{t} m}{ + \begin{figure}[#1] + \begin{tikzpicture} + \node[anchor=north east, inner sep=0] (image) at (0,0) {% + \centering \includegraphics[width=.92\linewidth]{#2} + }; + \framenode[4pt]{image} + \end{tikzpicture} + \end{figure} +} + +%----Title and subtitle commands---------------------------------------------% +\RenewDocumentCommand{\title}{O{\recipetitlefontsize} m}{ + \begingroup \fontsize{#1}{#1}\selectfont \bf #2 \endgroup +} + +\DeclareDocumentCommand{\subtitle}{O{18pt} m}{ + \begingroup + \fontsize{#1}{#1}\selectfont \textcolor{black!50} {#2} + \endgroup +} + +%----RecipeSection command---------------------------------------------------% +\DeclareDocumentCommand{\recipesection}{O{\recipeheadfontsize} m}{ + \begingroup \fontsize{#1}{#1}\selectfont \color{blue!60}\bf\emph{#2} \endgroup +}{} + +%----Author footnote---------------------------------------------------------% +\RenewDocumentCommand{\author}{O{Author: } m}{ + \lfoot{\textcolor{black!20}{#1#2}} +} + +%----Info environment--------------------------------------------------------% +\newenvironment{info}{ + \vspace*{\parskip} + \tabular{ll} +}{ + \endtabular + \vspace*{\parskip} +} + +%----Info* environment for more compact spacing------------------------------% +\newenvironment{info*}{ + \tabular{ll} +}{ + \endtabular +} + +%----Ingredients section-----------------------------------------------------% +\NewDocumentEnvironment{ingredients}{}{ + \renewcommand{\arraystretch}{1.08} + \setlength{\tabcolsep}{4pt} + \tabularx{\linewidth}{@{}lX@{}} +}{ + \endtabularx +} + +\DeclareDocumentCommand{\item}{O{$\square$} m}{#1 & #2 \\} + +% Starred version of ingredients environment for a shaded background +% with faded edges. +\RequirePackage{environ} +\RequirePackage{tcolorbox} +\NewEnviron{ingredients*}{% + \renewcommand{\arraystretch}{1.08} + \setlength{\tabcolsep}{4pt} + \setlength\fboxsep{0pt} + \begin{tcolorbox}[colback=black!4,colframe=black!2,boxrule=2pt, + arc=7pt,boxsep=0pt,left=1pt,right=1pt,top=-5pt, + bottom=1pt] + \begin{tcolorbox}[colback=black!8,colframe=black!6,boxrule=2pt, + arc=6pt,boxsep=0pt,left=0pt,right=0pt,top=-5pt, + bottom=0pt] + \begin{tabularx}{\linewidth}{@{}lX@{}} + \BODY + \end{tabularx} + \end{tcolorbox} + \end{tcolorbox} +} + +\newcommand{\group}[1]{ + \multicolumn{2}{l}{ + \color{black!80} \emph{#1}} \\[-2pt] \toprule + } + +%----Instructions section----------------------------------------------------% +\DeclareDocumentCommand{\step}{m m}{ + \begin{minipage}{\linewidth} + \setlength{\intextsep}{4pt} + \setlength{\columnsep}{6pt} + \begin{wraptable}{L}{ + \widthof{\fontsize{\instrnumsize}{\instrnumsize}\selectfont 1 }} + \begin{tabularx}{\textwidth}{@{}l@{}} + \fontsize{\instrnumsize}{\instrnumsize}\selectfont \color{black!60} #1 + \end{tabularx} + \end{wraptable} + #2 + \end{minipage} + +} + +\DeclareDocumentCommand{\hlgroup}{O{black} m}{ + \begin{tcolorbox}[colback=black!7,colframe=black!3,boxrule=2pt, + arc=5pt,boxsep=0pt,left=1pt,right=1pt,top=-7pt, + bottom=-1pt] + \begin{tcolorbox}[colback=black!12,colframe=black!10,boxrule=2pt, + arc=4pt,boxsep=0pt,left=0pt,right=0pt,top=-7pt, + bottom=-3pt] + \begin{tabular}{@{}m{\linewidth}@{}} + \emph{$\:$#2} + \end{tabular} + \end{tcolorbox} + \end{tcolorbox} +} + +\newcommand{\num}[1]{ + \multirow{2}{*}{ + \begingroup \fontsize{\instrnumsize}{\instrnumsize}\selectfont + \textcolor{black!80} #1 \endgroup + } +} + |