PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Rezeptsammlung erstellen



Furantsu Kafuka
18-11-2012, 14:16
Hallo liebe Leute.

Ich versuche gerade eine Rezeptsammlung zu erstellen, habe aber ein Problem.

Ich würde gerne die Zutaten in eine Tabelle einlesen und nach jedem Eintrag den \midrule-Befehl verwenden.
Am besten wäre es, wenn das automatisch geschieht und ich im Prinzip nur


\begin{Rezept}{Kürbissuppe}
\Zutaten{2}{% Daraus wird für 2 Personen
\Zutat{Kürbis}{130g}
\Zutat{Kürbiskernöl}{40g}
\Zutat{Gemüsebrühe}{\nicefrac{1}{2}\ell}
\Zutat{Salz, Pfeffer}{nach Bedarf}
\Zutat{(optional) Currygemisch}{1--3EL}
\Zutat{Karotten}{150g}
\printZutaten
}
\end{Rezept}

Hat jemand nen Tipp, wie ich diese Linien einfügen könnte?
Ich habe schon versucht das Problem mit arrayjobx zu lösen, kam aber nur zu einem Haufen Fehlern. Bitte verzeiht mir, dass ich kein Minimalbeispiel poste, aber mein Code ist so fehlerhaft, dass ich beim besten Willen nicht weiß, wo ich anfangen sollte, Fehler auszumerzen. :(

TEX-er
18-11-2012, 14:28
Hm, etwas schwierig, Dir so zu helfen. Nutzt Du bereits eins der Kochbuchpakete? Oder was sind das für Befehle, die in Deinem Code auftauchen? Ein komplettes Dokument wäre vielleicht doch hilfreich...

cgnieder
18-11-2012, 15:21
Hier ist eine Idee, die eine KOMA-Klasse voraussetzt (mir war gerade langweilig):


\documentclass[twocolumn]{scrartcl}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}

\usepackage{nicefrac}
\usepackage{booktabs,tabu}% Darstellung der Tabellen
\usepackage{siunitx}% Zahlen mit Einheiten einheitlich darstellen
\usepackage{etoolbox}% Listen-Handling (u.a.)
\usepackage{lipsum}% für Dummy-Text

\newenvironment{Rezept}[1]{%
\vfill\addsec{#1}% benötigt KOMA-Klasse!
}{}

\makeatletter
% \Zutaten{Portionen}{Zutatenliste}
\newcommand\Zutaten[2]{%
\nobreak\centerline{--- Zutaten f\"ur #1 Portionen ---}%
\nobreak\medskip\nobreak
#2 \printzutaten}

% \Zutat{Zutat}{Menge = Zahl mit Einheit}
% \Zutat*{Zutat}{beliebiger Code}
\newcommand*\Zutat{\@ifstar\Zutat@star\Zutat@nosta r}
\newcommand*\Zutat@star[2]{\add@zutat@plain{#1}{#2}}
\newcommand*\Zutat@nostar[2]{\add@zutat@formatted{#1}{#2}}

\def\zutaten@list{}
\newcommand*\add@zutat@plain[2]{%
\listgadd\zutaten@list{#1}%
\csgdef{zutat@#1}{#1 & #2 \\}}
\newcommand*\add@zutat@formatted[2]{%
\listgadd\zutaten@list{#1}%
\csgdef{zutat@#1}{#1 & \amount{#2} \\}}

\def\amount#1{\afterassignment\@amount\count@#1}
\def\@amount#1{\SI{\the\count@}{#1}}
\def\print@zutat#1{\csuse{zutat@#1}}
\newcommand*\printzutaten{%
\par\noindent
\begin{tabu}{X[2l]X[1l]}
\toprule
\forlistloop{\print@zutat}{\zutaten@list}
\bottomrule
\end{tabu}
\gdef\zutaten@list{}
\bigskip\noindent}
\makeatother

\begin{document}

\tableofcontents

\begin{Rezept}{Kürbissuppe}
\Zutaten{2}{% Daraus wird für 2 Personen
\Zutat{Kürbis}{130g}
\Zutat{Kürbiskerne}{40g}
\Zutat*{Gemüsebrühe}{$\nicefrac{1}{2}\,\ell$}
\Zutat*{Salz, Pfeffer}{nach Bedarf}
\Zutat*{Currygemisch (optional)}{1--3\,EL}
\Zutat{Karotten}{150g}
}
\lipsum[1]
\end{Rezept}

\begin{Rezept}{Gefüllte Paprika}
\Zutaten{4}{
\Zutat*{rote Paprika}{3}
\Zutat{Hackfleisch, gemischt}{500g}
\Zutat*{Zwiebel}{1}
\Zutat*{Eier}{2}
\Zutat*{Brötchen (eingeweicht)}{1}
\Zutat*{Salz, Pfeffer}{nach Bedarf}
\Zutat{Senf}{1EL}
\Zutat{Olivenöl}{1EL}
\Zutat{Bacon}{9 Scheiben}
}
\lipsum[1]
\end{Rezept}

\end{document}

http://www.mrunix.de/forums/attachment.php?attachmentid=5472&stc=1&d=1353248448

Grüße