A professional, customizable LaTeX template for creating beautiful cookbooks and recipe collections.
Features β’ Quick Start β’ Documentation β’ Examples
- π Full Book Structure - Cover, preface, chapters, table of contents, index, and back cover
- π Multi-Language Support - Built-in English and French translations via babel
- π¨ Flexible Layouts - Multiple recipe layouts (columns, simple) and customizable spacing
- πΌοΈ Rich Media - Full-page images, recipe photos, and chapter dividers
- π·οΈ Smart Organization - Automatic recipe indexing, tagging system with emoji icons
- π Recipe Notes - Add contextual notes to ingredients and instructions with automatic numbering
- π Conversion Tables - Built-in measurement conversion pages
- π¨οΈ Print Production - Bleed margins and gutter settings for book printing
- βοΈ Highly Customizable - Control colors, fonts, spacing, margins, and more
- π§ Easy Compilation - Included build script for hassle-free PDF generation
- LaTeX distribution (TeX Live, MiKTeX, etc.)
- LuaLaTeX engine
- The
babelpackage (included in most distributions)
- Clone this repository:
git clone https://github.com/AshDevFr/latex-cookbook-template.git
cd latex-cookbook-template- Compile your cookbook:
./build.shYour PDF will be generated in the dist/ directory.
If you prefer to build in a controlled environment using Docker:
- Build and run with Docker Compose:
docker compose run --rm build- For more build options (verbose mode, force clean build):
docker compose run --rm build ./build.sh -v # Verbose mode
docker compose run --rm build ./build.sh -f # Force clean build
docker compose run --rm build ./build.sh -v -f # Both optionsThe Docker setup uses the same dependencies as the CI environment, ensuring consistent builds across different systems.
\documentclass[letterpaper, 10pt, twoside, english]{CookBook}
\begin{document}
% Cover page
\makecoverpage{
title={My Cookbook},
subtitle={Family Recipes},
author={Your Name},
image={images/book/cover.jpg}
}
% Table of contents
\maketoc
% Chapter
\makechapterpage{
title={Breakfast},
image={images/book/breakfast.jpg}
}
% Recipe
\recipe{
title={Banana Pancakes},
serves={4},
preptime={10 mins},
cookingtime={15 mins},
tags={Breakfast, Sweet, Vegetarian},
ingredients={
\ingredient{2 ripe bananas, mashed}
\ingredient{2 eggs}
\ingredient{1/2 cup flour}
},
instructions={
\instruction{Mix all ingredients together.}
\instruction{Cook on a hot griddle until golden.}
\instruction{Serve with maple syrup.}
}
}
\end{document}Comprehensive documentation is organized by topic in the docs/ directory.
Getting Started:
- Document Class Options - Paper size, fonts, layout, bleed settings
- Build System - Compilation and build instructions
Page Components:
- Cover and Preface - Front matter pages
- Chapters and Navigation - Chapter pages and table of contents
- Full-Page Images - Dramatic recipe images
- Conversion Tables - Measurement conversion pages
- Back Cover and Index - Back matter pages
Recipe System:
- Recipe Command - Main recipe command and parameters
- Recipe Layouts - Layout options and configurations
- Recipe Elements - Ingredients, instructions, notes
Customization:
- Colors - Color definitions and usage
- Margins and Spacing - Page layout and spacing controls
- Fonts - Font configuration
- Translation and Language Support - Multi-language support and text customization
Additional Resources:
- Complete Examples - Full cookbook examples
- Troubleshooting - Common issues and solutions
- CHANGELOG.md - Version history and changes
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
View More Examples
![]() |
![]() |
The template supports conversion tables and index pages.
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
The template supports French language.
![]() |
![]() |
The template supports print production with bleed margins.
![]() |
![]() |
The template supports all three ingredient styles.
![]() |
![]() |
latex-cookbook-template/
βββ cookbook.cls # Main LaTeX class file
βββ build.sh # Build script for compilation
βββ Dockerfile # Docker configuration for controlled builds
βββ docker-compose.yml # Docker Compose configuration
βββ README.md # This file
βββ CHANGELOG.md # Version history
βββ docs/ # Comprehensive documentation (organized by topic)
β βββ README.md # Documentation index
β βββ document-class-options.md
β βββ recipe-command.md
β βββ translation.md
β βββ ... (and more)
βββ translations/ # Language translation files
β βββ README.md # Translation guide
β βββ cookbook-english.def
β βββ cookbook-french.def
βββ samples/ # Example cookbook files
β βββ cookbook-sample.tex
β βββ cookbook-sample-fr.tex
βββ images/
β βββ book/ # Cover and chapter images
β βββ recipes/ # Recipe photos
βββ dist/ # Generated PDFs (created by build script)
βββ tmp/ # Temporary build files
Contributions are welcome! Whether it's bug reports, feature requests, code contributions, or translations:
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
We especially welcome translations for new languages! See translations/README.md for detailed instructions on adding a new language translation.
This template is licensed under CC BY-NC-SA 4.0 - see the Creative Commons website for details.
Attribution: You are free to use this template for non-commercial purposes. If you share or adapt this template, you must give appropriate credit and license your work under the same terms.
This template was conceptually inspired by:
- Jacopo Recipe by Vel - two-column recipe layout concept
- Cookbook Layout with Orange Accents (Adobe Stock) - page numbering and chapter layout design
This is an independent implementation with significant extensions including multi-language support, full book structure, recipe indexing, conversion tables, and extensive customization options.
AshDevFr
- GitHub: @AshDevFr
If you find this template useful, please consider giving it a star on GitHub! It helps others discover the project.



















