document class for a restaurant menu
I don't think there is a predefined class for menus, but you can create you own format using any of the existing document classes; after all, the menu is a unique feature that identifies a restaurant.
Just as an idea (which admits many improvements), in the following example I used the web-O-mints fonts and the background package to create a frame that will be placed in all the pages of the menu. A simple tabular*
environment was used to format each food group.
\documentclass[12pt]{article}
\usepackage[spanish]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[textwidth=12cm,centering]{geometry}
\usepackage[x11names]{xcolor}
\usepackage{background}
\newcommand*\wb[3]{%
{\fontsize{#1}{#2}\usefont{U}{webo}{xl}{n}#3}}
% The page frame
\SetBgColor{Goldenrod3}
\SetBgAngle{0}
\SetBgScale{1}
\SetBgOpacity{1}
\SetBgContents{%
\begin{tikzpicture}
\node at (0.5\paperwidth,0) {\wb{80}{34}{E}\rule[60pt]{.2\textwidth}{0.4pt}%
\raisebox{55pt}{%
\makebox[.6\textwidth]{\ \fontsize{24}{29}\selectfont\scshape La Abuela }}%
\rule[60pt]{.2\textwidth}{0.4pt}\wb{80}{34}{F}};
\node at (2,-0.5\textheight) {\rule{0.4pt}{.8\textheight}};
\node at (19.5,-0.5\textheight) {\rule{0.4pt}{.8\textheight}};
\node at (0.5\paperwidth,-\textheight) {\wb{80}{34}{G}\rule[-10pt]{\textwidth}{0.4pt}\wb{80}{34}{H}} ;
\end{tikzpicture}%
}
% colorize text
\newcommand*\ColText[1]{\textcolor{Goldenrod3}{#1}}
% a tabular* for each food group
\newenvironment{Group}[1]
{\noindent\begin{tabular*}{\textwidth}{@{}p{.8\linewidth}@{\extracolsep{\fill}}r@{}}
{\fontsize{24}{29}\selectfont\ColText{#1}}\\[0.8em]}
{\end{tabular*}}
% to format each entry
\newcommand*\Entry[2]{%
\sffamily#1 & #2}
% to format each subentry
\newcommand*\Expl[1]{%
\hspace*{1em}\footnotesize #1}
\pagestyle{empty}
\begin{document}
\begin{Group}{Entradas}
\Entry{Calamares de campo}{9.00} \\
\Expl{Aros muy finos de cebolla y pimiento verde, a nuestro estilo} \\
\Entry{Berenjenas a la cordobesa}{9.95} \\
\Expl{Finas lonchas de berenjenas rebozadas a la cordobesa acompañadas de salsa de miel} \\
\Entry{Huevos estrellados con chistorra}{10.50} \\
\Entry{Cecina de León}{10.70} \\
\Expl{Lonchas muy finas con aceite virgen extra y pimienta recién molida} \\
\end{Group}
\vfill
\begin{Group}{Ensaladas}
\Entry{Ensalada <<La Abuela>>}{9.20} \\
\Expl{Piña, manzana y pimiento rojo, con pollo recién asado y una sabrosa y ligera mayonesa} \\
\Entry{Ensalada mediterránea}{8.90} \\
\Expl{Lechuga, tomate, cebolla, atún, huevo duro. espárragos y aceitunas} \\
\Entry{Salpicón de pollo}{9.50} \\
\Expl{Pollo en tiras recién asado con manzana sobre lechuga en juliana, zanahoria rallada y rodajas de tomate, aliñado con una sorprendente y suave salsa de mostaza y yogurt} \\
\Entry{Ensalada de cabra}{10.70} \\
\Expl{Queso de cabra templado con mermelada de tomate sobre una variedad de lechugas frescas} \\
\end{Group}
\vfill
\begin{Group}{Carnes}
\Entry{Carpaccio de buey}{13.50} \\
\Expl{Acompañado de lascas de parmesano y rucuta} \\
\Entry{Parrillada ibérica}{16.70} \\
\Expl{Pluma, presa y secreto} \\
\Entry{Patatas con guarnición para acompañar}{3.75} \\
\Expl{Fritas caseras} \\
\Entry{Patatas con guarnición para acompañar}{3.50} \\
\Expl{Patatas paja} \\
\end{Group}
\end{document}
And here's the result:
It's impossible not to give a menu of a restaurant in Paris but I need to justify a new version for a menu. I like the menu of Gonzalo, so I try to create a variant but with tikz and tabular (I do not know yet background).
I keep some part of the tabular (great idea here) and I use a macro to build a box around the menu.
The macro is named \MyCadre
first argument =size of the ornement font here Orna 4 at 60 pt, then two integers. The width and the height of the cadre are multiple of first argument.
The cadre is placed at current page.center
and I use a node
to place the menu at the center.
zorna.sty
is to use orna 4 font
. Orna 4
web-O-mints
is fine but I would like another example. You can find useful tools font casseaux.
%Filename: zorna.sty
%Created by: TTF2TEX.perl, Sam 5 jui 2010 22:40:14 CEST
\NeedsTeXFormat{LaTeX2e}%}
\ProvidesPackage{zorna}%
%
\newcommand*{\zorna}[1]{{%
\fontencoding{U}\fontfamily{zorna}\selectfont #1}}
\endinput
The main font for menu is Zapfino
but you can change it
The main code is compiled with xelatex
.
Real menu from "la Tour d'Argent" (PARIS) with real prices !
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass{scrartcl}
\usepackage[utf8x]{inputenc}
\usepackage[dvipsnames]{xcolor}
\usepackage[textwidth=14cm,centering]{geometry}
\usepackage{tikz,fullpage}
\usepackage{fontspec}
\setmainfont{Zapfino}
\usepackage{zorna} %http://www.urbanfonts.com/dingbats/Orna_4.htm
% and http://jacques-andre.fr/fontex/casseaux.pdf
\font\zapf ="Zapfino" at 14pt
\font\zapff="Zapfino" at 8pt
\usepackage[french]{babel}
% some colors
\definecolor{fondpaille}{cmyk}{0,0,0.1,0}
\newcommand*\ColText[1]{\textcolor{Maroon}{#1}}
\newenvironment{Group}[1]{%
\noindent
\begin{tabular*}{\textwidth}{@{}p{.9\linewidth}@{\extracolsep{\fill}}r@{}}{\zapf\ColText{#1}}\\[0.8em]}
{\end{tabular*}}
\newcommand*\Entry[2]{\zapff #1 & \zapff #2}
\thispagestyle{empty}
% \MyCadre{#1 font size ornement }
% {#2 integer largeur = #2 * font size}
% {#3 integer hauteur = #3 * font size}
\newcommand*\MyCadre[3] {%
\newcommand{\sfc}{#1}
\newcommand{\wdc}{#2}
\newcommand{\htc}{#3}
\node at (.5*\sfc pt,.5*\sfc pt) {%
\fontsize{\sfc}{\sfc}\selectfont \zorna{c}};
\node at ({(\wdc-0.5)*\sfc pt},.5*\sfc pt) {%
\fontsize{\sfc}{\sfc}\selectfont \zorna{d}};
\node at (.5*\sfc pt,{(\htc-0.5)*\sfc pt}) {%
\fontsize{\sfc}{\sfc}\selectfont \zorna{a}};
\node at ({(\wdc-0.5)*\sfc pt},{(\htc-0.5)*\sfc pt}){%
\fontsize{\sfc}{\sfc}\selectfont \zorna{b}};
\draw[line width=2pt,color=Maroon]%
(0,0) rectangle coordinate (thecenter) (\wdc*\sfc pt,\htc*\sfc pt);
}%
\newcommand{\Tiret}{%
\par\medskip
\center \fontsize{10}{10}\selectfont \zorna{y}
\medskip}
\begin{document}
\pagecolor{fondpaille}
\color{Maroon}
\begin{tikzpicture} [remember picture, overlay] % center the box in the page
\node at (current page.center){%
\begin{tikzpicture}
\MyCadre{60}{8}{12}%
\node[text width=13cm] at (thecenter){%
\begin{center}
LA TOUR D'ARGENT\\ PARIS %http://www.latourdargent.com/
\end{center}
\vspace{1cm}
\begin{Group}{Entr\'ees}
\Entry{ Bouquet de l\'egumes, sauce comme une \og C\'esar\fg} {69 €}\\
\Entry{ Saint-Jacques en tartare, betteraves multicolores} {71 €}\\
\Entry{ Quenelles de brochet \og Andr\'e Terrail\fg} {49 €}\\
\Entry{ Palette de choux aux grains de caviar} {135 €}\\
\Entry{ Caviar \og Imp\'erial de Sologne\fg, blinis et condiments} {210 €}\\
\end{Group}
\Tiret
\begin{Group}{Poissons}
\Entry{ Tron\c on de sole \og des Tournelles\fg } {81 €}\\
\Entry{ Saint-Jacques dor\'ees, poireaux au jus de coques} {82 €}\\
\Entry{ Queue de lotte piqu\'ee \`a la truffe et l\'egumes racines} {84 €}\\
\end{Group}
\Tiret
\begin{Group}{Canetons}
\Entry{ Caneton Marco Polo sabl\'e au poivre de Sichuan} {140 €}\\
\Entry{ Caneton \og Tour d'Argent\fg, pommes souffl\'ees} {140 €}\\
\Entry{ Caneton \`a l'orange, carotte aux agrumes et pain d'\'epices}{140 €}\\
\end{Group}
\Tiret
\begin{Group}{Desserts}
\Entry{ Variation chocolat orange, cr\'emeux pain d'\'epices} {24 €}\\
\Entry{ Biscuit marmelade citron, glace thym citron} {24 €}\\
\Entry{ Duo poire r\'eglisse, sorbet poire} {24 €}\\
\end{Group}};
\end{tikzpicture}
};
\end{tikzpicture}
\end{document}
...just thinking that Menus and Resumés are similar in format, and templates for the latter are two-a-penny.
For example, with a little lateral thinking, you could try using moderncv
. Using a pruned version of the template in the package, you could do something like:
\documentclass[11pt,a4paper]{moderncv}
\moderncvtheme[orange]{casual}
\usepackage[utf8]{inputenc}
\firstname{Fawlty}
\familyname{Towers}
\title{Evening Menu}
\address{Torquay}{Devon, England}
\phone{555-9000}
\extrainfo{Opening Hours: 07:00--00:00}
\photo[64pt]{picture}
\quote{``If you don't like duck... then you're rather stuck!''}
\begin{document}
\maketitle
\section{To Start}
\cventry{\textsterling7.50}{Waldorf Salad}{A salad of unknown composition}{}{}{} % arguments 3 to 6 can be left empty
\section{Mains}
\cventry{\textsterling9.50}{Duck a l'Orange}{Duck with orange}{}{}{} % arguments 3 to 6 can be left empty
\cventry{\textsterling9.50}{Duck with Cherries}{Duck with cherries}{}{}{} % arguments 3 to 6 can be left empty
\cventry{\textsterling9.50}{Duck Surprise}{Duck without orange or cherries}{}{}{} % arguments 3 to 6 can be left empty
\section{Desserts}
\cventry{\textsterling5.50}{Bombe Surprise}{Does not contain duck}{}{}{} % arguments 3 to 6 can be left empty
\end{document}
...anyways, variations on a theme... you get the idea.
Of course, any TeX geek will spot it a mile away. (And will be suitably impressed.)