- TeX 81%
- Python 19%
| bilder | ||
| fonts | ||
| rezepte | ||
| scripte | ||
| .gitignore | ||
| danis-kochbuch.pdf | ||
| danis-kochbuch.tex | ||
| README.md | ||
| rezeptstil.sty | ||
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,microtypefontspec(Schriften unter LuaLaTeX)babelmitngerman(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.pybringt Rezeptfotos in einen einheitlichen Look und schneidet sie auf das Format des Bildbogens (75 × 92 mm) zu:python bilder_stil.py eingabe_ordner bilderbilder/kranz_erzeugen.pyerzeugt den Blätterkranz (kranz.pdf,kranz.png) neu, z. B. mit anderemSEED: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
rezepte/leeres-rezept.texkopieren 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.- Die Felder ausfüllen (
titel,portionen,dauer,sterne,bild,url,zutaten,schritte). - Optional ein Foto als
bilder/<name>.jpgablegen (Dateiname wie beibild = {...}im Rezept). Ohne Foto erscheint ein grauer Platzhalter. - 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). |