PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Erste Zahl überschreibt zweite Zahl in der Enumerate-Umgebung



hawkeye
04-11-2016, 06:23
Hallo,

ich habe ein kleines Problem. Ich schreibe aktuell an einem kleinen Kochbuch nun möchte ich einen Schritt, weil dieser etwas Umfangreicher ist als untergeordnete Liste noch einmal in mehrere Teilschritte aufspalten.



\begin{recipe}[]{Risotto (Grundrezept)}{Quelle?}{\url{http://www.flickr.com/photos/fotoosvanrobin/1781031910/in/photostream/}}\index{Risotto}
\ingredient{100g Reis, Risotto}
\ingredient{50\g Parmesan}
\ingredient{3\EL Butter, weich}

\step
Die Schalotte schälen, fein würfeln\\
Den Parmesan reiben

\step
Wenn sich das Volumen vom Teig mindestens verdoppelt hat. Den Teig auf eine bemehlte Arbeitsfläche geben und ohne ihn durchzukneten in eine Rechteckige Form ziehen
\begin{enumerate}
\item blablabla blabla bla bla bla bla
\item blub tralalala foo
\item bar
\end{recipe}


Allerdings stehe ich jetzt vor dem Problem das die erste Zahl vom ersten Eintrag die zweite Zahl vom zweiten Eintrag direkt überschreibt. Was im moment so aussieht:

http://img5.fotos-hochladen.net/uploads/enumerate5kzob1gsl0.png

Ich vermute zwar das der Fehler irgendwo in der Styles-Datei liegt:

https://nopaste.linux-dev.org/?1120161

Aber leider bin ich in latex nicht wirklich bewandert so das mir gerade die Fehlersuche etwas schwer fällt um nicht zu sagen für mich unmöglich macht den Fehler zu finden.
Vielleicht hätte jemand einen Tipp wo genau die falsche Formatierung her kommt, den meine Vermutung war bis jetzt nur dass das Element \item anders definiert wird aber dieser Eintrag (Zeile 213) sieht für mich eher unauffällig auf.

Ich würde mich auf jeden Fall über den einen oder anderen hilfreichen Tipp sehr freuen.
Viele Grüße
Dan


Nachtrag:
Wenn ich noch zusäztlich das übergeordnete Dokument posten soll in der die einzelnen Rezepte eingebunden werden, weisst mich bitte darauf hin...

rstuby
04-11-2016, 07:39
Baue bitte ein vollständiges Minimalbeispiel, das wir laufen lasse können und den Fehler sehen. Nicht einfach das übergeordnete Dokument posten, die Arbeit, das Relevante herauszufiltern, solltest du dir schon selber machen - du brauchst ja schließlich auch die Antwort :)

hawkeye
05-11-2016, 09:00
Ich habe den Quellcode jetzt mal ein bißchen gedampft. Ich hoffe bei euch funktioniert der Code auch, bei mir lässt er sich aktuell problemlos kompilieren:

http://www.file-upload.net/download-12068956/cookbook_tmp.tar.html

rstuby
05-11-2016, 09:16
Also ein Minimalbeispiel, das zu groß ist, um es in den Thread zu posten, ist definitiv eine Zumutung und kein Minimalbeispiel. Ehrlich, mach dir die Arbeit, kommentiere alles aus, was irrelevant sein KÖNNTE, und probiere jedes Mal aus, ob der Fehler noch auftritt.
Oder mach es umgekehrt, gehe von einem Minimaldokument aus und kopiere relevante Sachen aus deinem Dokument herein, solange bis der Fehler auftritt.
Das (beide Wege!) hat außerdem den Vorteil, dass du dabei evtl. schon alleine auf eine Lösung kommst.

hawkeye
05-11-2016, 09:29
Das Problem ist, ich vermute den Fehler eher in der cook.sty Datei und darum bringt es meienr Meinung nach wenig jetzt den Quellcode noch weiter zusammen zu streichen.
Und da ich nicht wirklich viel Ahnung von Latex habe, war die Überlegung das hier vielleicht mal jemand über die Style Datei schauen könnte wo die falsche Definition zu dem Fehlerbild sein könnte.
Aber da Du mir ja scheinbar nicht helfen möchtest, hat sich das wohl erledigt, hier weiter zu fragen ob mir jemand helfen möchte/kann

rstuby
05-11-2016, 10:45
Also ich habe mir die Style-Datei heruntergeladen und es mit folgendem Code versucht:


\documentclass[draft]{scrbook}
\usepackage[ngerman]{babel}
\usepackage{cook}

\begin{document}
\begin{recipe}[]{Risotto (Grundrezept)}{Quelle?}{\url{http://www.flickr.com/photos/fotoosvanrobin/1781031910/in/photostream/}}\index{Risotto}
\ingredient{100g Reis, Risotto}
\ingredient{50\g Parmesan}
\ingredient{3\EL Butter, weich}

\step
Die Schalotte schälen, fein würfeln\\
Den Parmesan reiben

\step
Wenn sich das Volumen vom Teig mindestens verdoppelt hat. Den Teig auf eine bemehlte Arbeitsfläche geben und ohne ihn durchzukneten in eine Rechteckige Form ziehen
\begin{enumerate}
\item blablabla blabla bla bla bla bla
\item blub tralalala foo
\item bar
\end{recipe}
\end{document}

Läuft aber nicht, weil \g und \EL noch nicht definiert sind und auch sonst Fehler auftreten. Mach mir bitte ein Minimalbeispiel, mit dem ich deinen Fehler reproduzieren kann. Keiner hier ist in der Lage, durch drüberschauen über eine Datei ohne Ausprobieren Fehler zu suchen.

hawkeye
05-11-2016, 12:58
Nein die Teile für \EL \TL \G usw. habe ich heraus geworfen weil sie definitiv nichts mit dem Problem zutun haben. Aber das Dokument (d.h. das minimal Beispiel) besteht aus genau 2 Teildokumenten das ist zum einen das "Oberdokument" in dem alle Rezepte zusammen geführt werden und zum anderen die einzelnen Rezepte die sich im Verzeichnis /rezepte befinden und das Beispiel hierzu sieht im moment so aus:



\begin{recipe}[]{Zwiebelsuppe}{}}{}

\step
Die Zwiebeln in Ringe schneiden und den Knoblauch fein hacken
\begin{enumerate}
\item Erster Eintrag
\item Zweiter Eintrag
\item Dritter Eintrag
\end{enumerate}

\end{recipe}


Datum glaube ich auch das sich aus dem eigentlichen Dokument nichts mehr heraus streichen lässt und der nächste Schritt wäre die STY-Datei zusammen zu streichen. Aber da wäre dann die Frage wo fängt man wegen meinem Problem an?

rstuby
05-11-2016, 13:03
Dann zeig doch noch mal das Oberdokument bitte.

hawkeye
05-11-2016, 13:08
\documentclass[]{scrartcl}
\usepackage{cook}
\usepackage[T1]{fontenc}
\usepackage{longtable}

\newcommand\kochbuchauthor{Dan}
%\newcommand\kochbuchurl{http://sourceforge.net/p/chilicookbook}
\newcommand\kochbuchurl{\href{http://sourceforge.net/p/chilicookbook}{\nolinkurl{http://sourceforge.net/p/chilicookbook}}}
\newcommand\kochbuchtitle{Rezeptsammlung}
\newcommand\kochbuchversion{Ver.~12.02}

\newcommand{\caps}{www.Capsamania.de}

% Schriftarten für Überschriften
\usepackage{aurical}

\definecolor{darkblue}{rgb}{0,0,.5}
\usepackage[ % muss letztes Package sein!
pdftitle={\kochbuchtitle},%
pdfauthor={\kochbuchauthor},%
colorlinks=true, urlcolor=darkblue, linkcolor=darkblue, bookmarksopen=true
]{hyperref} %


\begin{document}

\pdfbookmark[1]{Inhaltsverzeichnis}{toc}
\tableofcontents

% Standardfarbe, -schriftart für die Überschrift
\recipecolor{C20E0F}

\recipefont{\Fontamici}

\input{./rezepte/French_Toast.tex}
\end{document}

rstuby
05-11-2016, 13:24
Läuft es denn so bei dir durch? Ich habe nichts gemacht, außer die beiden Dokumente zusammengeführt, und ich bekomme Fehlermeldungen und kein lauffähiges Dokument.

\documentclass[]{scrartcl}
\usepackage{cook}
\usepackage[T1]{fontenc}
\usepackage{longtable}

\newcommand\kochbuchauthor{Dan}
%\newcommand\kochbuchurl{http://sourceforge.net/p/chilicookbook}
\newcommand\kochbuchurl{\href{http://sourceforge.net/p/chilicookbook}{\nolinkurl{http://sourceforge.net/p/chilicookbook}}}
\newcommand\kochbuchtitle{Rezeptsammlung}
\newcommand\kochbuchversion{Ver.~12.02}

\newcommand{\caps}{www.Capsamania.de}

% Schriftarten für Überschriften
\usepackage{aurical}

\definecolor{darkblue}{rgb}{0,0,.5}
\usepackage[ % muss letztes Package sein!
pdftitle={\kochbuchtitle},%
pdfauthor={\kochbuchauthor},%
colorlinks=true, urlcolor=darkblue, linkcolor=darkblue, bookmarksopen=true
]{hyperref} %


\begin{document}

\pdfbookmark[1]{Inhaltsverzeichnis}{toc}
\tableofcontents

% Standardfarbe, -schriftart für die Überschrift
\recipecolor{C20E0F}

\recipefont{\Fontamici}

\begin{recipe}[]{Zwiebelsuppe}{}{}

\step
Die Zwiebeln in Ringe schneiden und den Knoblauch fein hacken
\begin{enumerate}
\item Erster Eintrag
\item Zweiter Eintrag
\item Dritter Eintrag
\end{enumerate}

\end{recipe}
\end{document}

hawkeye
05-11-2016, 13:31
ja tut es...
Die cook.sty liegt neben dem Hauptdokument? und das Rezept heißt French_Toast.tex und liegt in dem Unterverzeichnis rezepte?

rstuby
05-11-2016, 13:37
Läuft MEINE ZUSAMMENGEFÜHRTE Variante bei dir durch? Die cook.sty liegt daneben und darauf wird auch zurückgegriffen.

hawkeye
05-11-2016, 13:59
Oh, entschuldigung das hatte ich überlesen. Nein deine zusammengeführte Version läuft bei mir auch nicht... vielleicht sollte ich mich einfach damit zufriedengeben das es nicht geht

rstuby
05-11-2016, 14:34
Dann probiere ich es jetzt noch mal mit exakt deinen Dateien...

Edit... Nein, ich kriege es nicht zum Laufen.

Zunächste einmal wird in der cook.sty ein Bild, das ich nicht habe, aufgerufen - na ja, das ist nicht weiter tragisch.
Dann der Befehl \enumitem, den es in keinem der geladenen Pakete gibt.
Wenn ich diesen zu \item ändere, kommt als nächstes die Fehlermeldung, dass in der French_Toast.tex bei \begin{recipe} ein } zu viel ist, was man ja auch sieht.
Wenn ich das rausnehme, beschwert er sich weiterhin, dass der Absatz beendet wird, bevor die recipe-Umgebung zu Ende ist.
Wenn ich dann noch die Leerzeilen in der recipe-Umgebung entferne, kommt die Fehlermeldung "You can't use unskip in vertical mode (in macro \endminipage) mit Verweis auf die Zeile von French_Toast.tex, in der \end{enumerate} steht.

Außerdem ist die cook.sty von 2010 und ich vermute, dass sie veraltet ist.

Johannes_B
05-11-2016, 14:37
Die von dir verlinkte Datei nutzt \enumitem, einen undefinierten Befehl. Im Original steht dort \item. Zwei verschiedene Dateien, ein Name. Das ist nicht gut. Ändere den Namen und schreib hinein, was du geändert hast.

Das macht es aber nicht besser, denn der restliche Code des Pakets ist auch ganz schrecklich. Ich würde Abstand davon halten. Bist du dir überhaupt sicher, dass du das Paket korrekt nutzt? Es gibt keine Dokumentation und auch keine Beispiele.

Ein undokumentiertes Paket, ohne Copyright Notiz, ohne Lizenz und ohne Beispiele: Das ist wie russisch Roulette mit einer Glock 17.

rstuby
05-11-2016, 15:03
Johannes_B, wo hast du denn das Original gefunden? Ich bin nur auf nicht funktionierende Seiten gekommen...

hawkeye, schau dir doch mal xcookybooky an, das gibt es in den offiziellen Paketquellen. Ausprobiert habe ich es allerdings noch nicht.

Johannes_B
05-11-2016, 15:08
Google hat mich zu sourceforge geführt, ist auch der Link der in Post 9 (http://mrunix.de/forums/showthread.php?77150-Erste-Zahl-%FCberschreibt-zweite-Zahl-in-der-Enumerate-Umgebung&p=362391&viewfull=1#post362391) angegeben ist.

hawkeye
05-11-2016, 16:16
Ich weiß das ich mich mit meiner Frage und dem Posten der Sourcen hier bereits auf dünnen Eis bewege. Aber ich plane ja nicht meine Sourcen selbst bei sourceforge o.ä. zu veröffentlichen. Aus diesem Grund sehe ich die Lizenzfrage an diesem Punkt etwas unkritischer.
Aber da ich das Projekt für meine eigenen Zwecke nutze versuche ich es halt auch für meine Bedürfnisse anzupassen...

rais
06-11-2016, 20:08
Ich weiß das ich mich mit meiner Frage und dem Posten der Sourcen hier bereits auf dünnen Eis bewege. Aber ich plane ja nicht meine Sourcen selbst bei sourceforge o.ä. zu veröffentlichen.
und dieses Forum ist nicht öffentlich?
Was die Lizenz angeht, die steht unter Creative Commons (https://creativecommons.org/licenses/by-nc-sa/3.0/de/), so man denn der liesmich/readme auf SF (https://sourceforge.net/p/chilicookbook/code/HEAD/tree/) Glauben schenken darf. Was dort das wallpaper-Paket zu suchen hat, entzieht sich meiner Kenntnis.

@rstuby: Dein -- IMHO löblicher -- Versuch, daraus ein MB zu erstellen schlug fehl, weil \step testet, ob Zähler `com' = 1 ist. Dieser wird aber nur von \ingredient auf 1 gesetzt, AFAICS. Das führt dann dazu, daß vom ersten \step keine minipage angelegt wird ... die von der recipe-Umgebung versucht wird, geschlossen zu werden. Vermutlich hat sich der Paketautor nicht vorstellen können, ein Rezept ohne Zutaten wiederzugeben...

@hawkeye: vllt hast Du ja nur zu wenige Chillies in Deinen Rezepten :)
Wie dem auch sei, hier ein Ansatz ohne cook.sty:


\documentclass[headings=big]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{enumitem}
\usepackage{aurical}
\definecolor{rezeptfarbe}{rgb}{0.76, 0.05, 0.06}
\renewcommand*\raggedsection{\centering}
\addtokomafont{section}{\normalfont\color{rezeptfa rbe}\Fontamici}
\newlength\zutatenbreite
\newlength\zutzubsep
\AtBeginDocument{%
\setlength\zutatenbreite{0.3\linewidth}%
\setlength\zutzubsep{1em}%
}
\newcommand\rezept{\addsec}
\newenvironment{zutaten}{%
\providecommand\zutat{\item[]}%
\noindent\minipage[t]{\zutatenbreite}
\renewcommand*\raggedsection{\raggedright}%
\minisec{Zutaten}
\itshape
\begin{itemize}[leftmargin=0pt]
}{%
\end{itemize}
\endminipage
}
\newenvironment{zubereitung}{%
\providecommand\schritt{\item}%
\null\hfill\minipage[t]{\dimexpr\linewidth-\zutatenbreite-\zutzubsep \relax}
\renewcommand*\raggedsection{\raggedright}%
\minisec{Zubereitung}
\begin{enumerate}[leftmargin=0pt, label=\textcolor{rezeptfarbe}{\huge\arabic*}]
}{%
\end{enumerate}
\endminipage
}
\begin{document}
\rezept{Zwiebelsuppe}
\begin{zutaten}
\zutat 5 Zwiebeln
\zutat 3 Knoblauchzehen
\end{zutaten}%
\begin{zubereitung}
\schritt Die Zwiebeln in Ringe schneiden und den Knoblauch fein hacken
\begin{enumerate}
\item Erster Eintrag
\item Zweiter Eintrag
\item Dritter Eintrag
\end{enumerate}
\end{zubereitung}
\end{document}

VG

hawkeye
08-11-2016, 06:13
Hallo Rainer,

erst einmal vielen Dank für deine Mühe, ich denke darauf werde ich zurückgreifen wenn ich keine Lösung für mein Problem finde und es ist irgendwie beruhigend zu wissen das es jetzt zumindest einen Plan B gibt.

Zu deinen Anmerkungen zur Veröffentlichung, zum einen sagte ich ja das es mir durch aus bewußt ist das ich mich auf sehr dünnen Eis bewege und zum anderen glaube dass wir einfach etwas aneinander vorbei geredet haben, da ich bei veröffentlich an die veröffentlichung des gesamten Dokuments inkl. aller Rezepte dachte. Aber Du hast natürlich recht im eigentlichen Sinne ist das hier auch bereits eine Veröffentlichung.

Um noch einmal auf mein eigentliches Problem zu sprechen zu kommen ich habe noch einmal in die Style-Datei geschaut und folgenden Abschnitt gefunden:



\newcommand{\step}[1][\arabic{steps}]{%
\ifnum\value{com}=1% Abfrage ob es sich um den ersten Zubereitungsschritt handelt
%\end{flushright}% Zutatenumgebung muss geschlossen werden
\end{minipage}%
%
\setcounter{com}{2}% Counter auf 2, damit wird gekennzeichnet, dass der Abschnitt Zutaten beendet ist
\hspace*{0.5cm}% Abstand zwischen Zutaten und Anleitungsteil
%\addtolength{\textwidth}{-1cm}%
\begin{minipage}[t]{0.6\textwidth}% Minipage fuer die Zubereitungsschritte wird erzeugt

\vspace{.5cm}
\fi%
%
\ifnum\value{steps}>1% fuer jeden Schritt existiert eine eigene List-Umgebung - ab dem ersten muss die Liste
\ifthenelse{\equal{\value{recipepages}}{1}}
{\end{list}}% hinzufuegen zum Inhaltsverzeichnis
{\setcounter{recipepages}{1}}%

% ifnum\value{recipepages}=0%
% \end{list}% mit dem End-Tag geschlossen werden
%\fi%
%\setcounter{recipepages}{0}%
\fi%
%
\definecolor{recipecolor}{HTML}{\recipecolorset}% Farbdefinition aus der aktuelle Farbangabe
\begin{list}{% Liste fuer jeden Schritt neu beginnen
\textcolor{recipecolor}{{\huge #1}}% Listenanstrich (Aussehen frei definierbar)
}%
\item% Beginn des Zubereitungsschrittes (Listenanstrich)
\stepcounter{steps}% zaehlt den Zaehler nach oben
}


und ich hätte jetzt eigentlich gedacht das die Zeile



\vspace{.5cm}


die Nummerierung übereinander schiebt. Aber dem ist leider nicht so. Mein Ansatz wäre jetzt zu schauen ob ich für diesen Block dort irgendwie explizit eine enumerate Umgebung definieren kann (evtl. unter einem eigenen Namen). ABer ich habe keine Ahnung ob das vom Erfolg gekrönt sein wird

rais
08-11-2016, 17:35
ich bin ja kein Rechtsverdreher, aber Du postest hier öffentlich Auszüge eines Werkes, das unter einer bestimmten Lizenz steht. Welche Lizenz das ist, hab ich Dir verlinkt, die Quelle auch. Eigentlich fehlt nur noch die Namensnennung, so ich den Lizenztext richtig deute...
Wie dem auch sei, hier:




\begin{list}{% Liste fuer jeden Schritt neu beginnen
\textcolor{recipecolor}{{\huge #1}}% Listenanstrich (Aussehen frei definierbar)
}%
\item% Beginn des Zubereitungsschrittes (Listenanstrich)


verbirgt sich IMHO das eigentliche Problem: die list-Umgebung erwartet zwei Parameter, von denen aber nur einer angegeben ist. Als zweiten Parameter greift sich die list-Umgebung den anschließenden \item-Befehl.
Ohne direkt an der cook.sty zu hantieren:


\documentclass[]{scrartcl}
\usepackage{cook}
\usepackage{xpatch}
\xpatchcmd{\step}{\begin{list}{\textcolor{recipeco lor}{{\huge #1}}}}
{\begin{list}{\textcolor{recipecolor}{{\huge#1}}}{ }}
{\typeout{`\string\step' patched.}}
{\typeout{`\string\step' could not be patched.}}

\newcommand\kochbuchauthor{Dan}
%\newcommand\kochbuchurl{http://sourceforge.net/p/chilicookbook}
\newcommand\kochbuchurl{\href{http://sourceforge.net/p/chilicookbook}{\nolinkurl{http://sourceforge.net/p/chilicookbook}}}
\newcommand\kochbuchtitle{Rezeptsammlung}
\newcommand\kochbuchversion{Ver.~12.02}

\newcommand{\caps}{www.Capsamania.de}

% Schriftarten für Überschriften
\usepackage{aurical}

\definecolor{darkblue}{rgb}{0,0,.5}
\usepackage[ % muss letztes Package sein!
pdftitle={\kochbuchtitle},%
pdfauthor={\kochbuchauthor},%
colorlinks=true, urlcolor=darkblue, linkcolor=darkblue, bookmarksopen=true
]{hyperref} %


\begin{document}

\pdfbookmark[1]{Inhaltsverzeichnis}{toc}
\tableofcontents

% Standardfarbe, -schriftart für die Überschrift
\recipecolor{C20E0F}

\recipefont{\Fontamici}

\begin{recipe}[]{Zwiebelsuppe}{}{}
\ingredient{5 Zwiebeln}
\ingredient{3 Knoblauchknollen}
\step
Die Zwiebeln in Ringe schneiden und den Knoblauch fein hacken
\begin{enumerate}
\item Erster Eintrag
\item Zweiter Eintrag
\item Dritter Eintrag
\end{enumerate}
\end{recipe}
\end{document}

wobei es in dieser cook.sty noch mehr Ungereimtheiten gibt, so werden z.B. Pakete geladen (zum Teil sogar veraltete Pakete wie subfigure und bibgerm), die dann noch nicht einmal genutzt werden...

VG

Johannes_B
08-11-2016, 19:04
Ein undokumentiertes Paket, ohne Copyright Notiz, ohne Lizenz und ohne Beispiele: Das ist wie russisch Roulette mit einer Glock 17.

Was ich damit sagen wollte: Das Paket ist qualitativ nicht wertvoll und ich würde die Hände davon lassen. Dass du fremden Code verteilst ist mir persönlich ziemlich Schnuppe. Dass du schlechten Code nutzt und diesen sogar verteilst, ist mir weniger Schnuppe. Don't use cook.sty

hawkeye
13-11-2016, 17:54
@rais,
vielen Dank mit dem xpatch-Package und deinem Code konnte jetzt endlich das Ergebnis erzielt werden das ich mich gewünscht habe