Die besten vegitarischen Rezepte als Nerd-Buch. 👾
  • TeX 81%
  • Python 19%
Find a file
2026-10-21 21:49:48 +02:00
bilder Last two for version 1.0 2026-10-21 21:49:48 +02:00
fonts Fonts 2026-10-15 18:50:47 +02:00
rezepte Last two for version 1.0 2026-10-21 21:49:48 +02:00
scripte first draft :) 2026-10-14 19:01:30 +02:00
.gitignore Initial commit 2026-10-14 18:40:28 +02:00
danis-kochbuch.pdf Last two for version 1.0 2026-10-21 21:49:48 +02:00
danis-kochbuch.tex Last two for version 1.0 2026-10-21 21:49:48 +02:00
README.md Fonts 2026-10-15 18:50:47 +02:00
rezeptstil.sty Last two for version 1.0 2026-10-21 21:49:48 +02:00

Kochbuch „Danis Lieblingsrezepte“

LaTeX-Vorlage für ein Rezeptbuch im A4-Format: Titelseite, Inhaltsverzeichnis, eine Seite pro Rezept und Leerseiten zum handschriftlichen Ausfüllen.

Projektstruktur

kochbuch.tex            Hauptdatei – diese Datei wird kompiliert
rezeptstil.sty          Aussehen: Farben, Schriften, Größen, Positionen, Seitenaufbau
titelseite.tex          nur die Titelseite (zum Drucken oder als Bild)
rezepte/
  10_alu-paratha.tex    ein Rezept pro Datei: <Zahl>_<name>.tex
  ...
  leeres-rezept.tex     Vorlage zum Kopieren
bilder/
  <rezeptname>.jpg      Rezeptfotos (optional)
  kranz.pdf             Blätterkranz der Titelseite
  kranz_erzeugen.py     Skript, das den Kranz erzeugt (optional)
bilder_stil.py          Skript für einheitliche Rezeptfotos (optional)

Voraussetzungen

1. TeX-Distribution mit LuaLaTeX (Pflicht)

Es wird eine aktuelle TeX-Distribution mit LuaLaTeX benötigt:

System Distribution
Windows MiKTeX oder TeX Live
macOS MacTeX
Linux TeX Live (texlive-full, oder mindestens texlive-luatex, texlive-latex-extra, texlive-pictures, texlive-lang-german, texlive-fonts-extra)

Wichtig: Das Projekt muss mit LuaLaTeX kompiliert werden. \AlleRezepte (automatisches Einbinden aller Rezeptdateien) funktioniert nicht mit XeLaTeX oder pdfLaTeX. --shell-escape wird nicht benötigt.

2. LaTeX-Pakete

Diese Pakete werden von rezeptstil.sty geladen. In MiKTeX werden fehlende Pakete beim ersten Kompilieren automatisch nachinstalliert (Einstellung „Always install missing packages on-the-fly“ aktivieren, sonst Rückfrage). Bei TeX Live sind sie in den oben genannten Paketen enthalten.

  • geometry, xcolor, graphicx, microtype
  • fontspec (Schriften unter LuaLaTeX)
  • babel mit ngerman (deutsche Silbentrennung)
  • tikz / pgf (Layout und Zeichnungen)
  • qrcode (QR-Code zum Originalrezept)

3. Schriften

Die Vorlage nutzt folgende Schriften. Fehlt eine, nimmt sie automatisch eine Ersatzschrift – das Buch kompiliert trotzdem, sieht aber anders aus.

Verwendung Schrift Ersatz (der Reihe nach)
Fließtext, Zutaten Montserrat (inkl. Medium) Latin Modern Sans
Titel, „Zubereitung“, Name auf der Titelseite Great Vibes Allura, Parisienne, Pinyon Script, Alex Brush, Latin Modern (schräg)
„ZUTATEN“, Portionen, Dauer, Titelzeilen New Icon Serif Antonio, Oswald Light, Bebas Neue, Julius Sans One, Latin Modern Sans

Alle Fonts liegen unter ./fonts/

Installation: Schriftdateien (.ttf/.otf) im System installieren (unter Windows: Rechtsklick → „Für alle Benutzer installieren“). LuaLaTeX findet systemweit installierte Schriften über seinen Schriftindex. Wurde eine Schrift gerade erst installiert, den Index neu aufbauen:

luaotfload-tool --update --force

Montserrat gibt es außerdem als LaTeX-Paket montserrat (MiKTeX installiert es bei Bedarf selbst).

4. Editor (optional)

Jeder LaTeX-Editor funktioniert, z. B. TeXworks (bei MiKTeX dabei), TeXstudio oder VS Code mit der Erweiterung LaTeX Workshop. Die erste Zeile von kochbuch.tex (% !TeX program = lualatex) stellt den Compiler in TeXworks/TeXstudio automatisch auf LuaLaTeX.

5. Python (optional)

Nur nötig für die beiden Hilfsskripte, nicht zum Kompilieren des Buchs. Python 3 mit:

pip install pillow numpy      # bilder_stil.py
pip install matplotlib        # bilder/kranz_erzeugen.py
  • bilder_stil.py bringt Rezeptfotos in einen einheitlichen Look und schneidet sie auf das Format des Bildbogens (75 × 92 mm) zu: python bilder_stil.py eingabe_ordner bilder
  • bilder/kranz_erzeugen.py erzeugt den Blätterkranz (kranz.pdf, kranz.png) neu, z. B. mit anderem SEED: cd bilder && python kranz_erzeugen.py

Kompilieren

Im Projektordner zweimal hintereinander ausführen:

lualatex kochbuch.tex
lualatex kochbuch.tex

Der erste Durchlauf sammelt das Inhaltsverzeichnis und die Positionen der Seitenelemente, der zweite setzt sie. Alternativ in einem Schritt:

latexmk -lualatex kochbuch.tex

Ergebnis: kochbuch.pdf. Für nur die Titelseite entsprechend titelseite.tex kompilieren.

Neues Rezept hinzufügen

  1. rezepte/leeres-rezept.tex kopieren und umbenennen in <Zahl>_<name>.tex, z. B. 110_lasagne.tex. Die Zahl bestimmt die Reihenfolge im Buch (10, 20, 30 …, Lücken lassen für spätere Einfügungen). Dateien ohne Zahl am Anfang werden ignoriert.
  2. Die Felder ausfüllen (titel, portionen, dauer, sterne, bild, url, zutaten, schritte).
  3. Optional ein Foto als bilder/<name>.jpg ablegen (Dateiname wie bei bild = {...} im Rezept). Ohne Foto erscheint ein grauer Platzhalter.
  4. Neu kompilieren – das Rezept wird automatisch eingebunden und im Inhaltsverzeichnis aufgeführt.

Die Anzahl der Leerseiten am Ende ändert man in kochbuch.tex mit \Leerseiten{n}. Aussehen (Farben, Schriftgrößen, Abstände, Positionen) wird ausschließlich in rezeptstil.sty im Abschnitt „EINSTELLUNGEN“ angepasst.

Häufige Probleme

Problem Ursache / Lösung
\AlleRezepte funktioniert nur mit LuaLaTeX Mit XeLaTeX oder pdfLaTeX kompiliert – auf LuaLaTeX umstellen.
Balken, Linien und Texte fehlen oder sitzen falsch Nur einmal kompiliert – ein zweites Mal ausführen.
Inhaltsverzeichnis leer Wie oben: zweimal kompilieren.
Schrift sieht anders aus als erwartet Schrift nicht installiert, es greift eine Ersatzschrift. Schrift installieren und ggf. luaotfload-tool --update --force ausführen.
Rezeptseite zeigt grauen Platzhalter statt Foto Bilddatei fehlt oder heißt anders als bei bild = {...} angegeben; der Pfad gilt relativ zum Projektordner.
Paket nicht gefunden (qrcode.sty o. Ä.) Paket nachinstallieren (MiKTeX Console → Packages, oder tlmgr install qrcode).