Veränderungen am Layout des xcookybooky Packages

Layout von Seiten, Rändern, Fusszeilen, usw, modifizieren


Patrick1990
Forum-Century
Forum-Century
Beiträge: 213
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

Veränderungen am Layout des xcookybooky Packages

Beitrag von Patrick1990 »

Hallo,

ich mache hier noch einmal einen neuen Thread auf.

Und zwar würde ich gern folgende Veränderungen vornehmen:

1. Rezeptüberschrift soll linksbündig sein (jetzt etwas eingerückt).
2. Abstand zwischen Bild und Überschrift soll kleiner werden.
3. Der Tipp soll direkt unter dem Rezept stehen und nicht erst am unteren Rand der Seite.

In der Doku des Packages steht zwar beschrieben, wie man etwas mit myconfig ändern kann, jedoch klappt dies nur bei den einfachen Dingen, wie z.B. Farb- oder Schriftänderungen.

Ich habe mit \filecontents schon einmal versucht ein file, in dem 'myconfig' enthalten ist, vorzubereiten.


Hier das Minimalbeispiel:
\documentclass[%
a4paper,
twoside,
cleardoublepage=empty,
12pt
]{scrbook}

% encoding, font, language
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\usepackage{nicefrac}
\usepackage{filecontents} 
\usepackage[demo]{graphicx} 


\begin{filecontents*}{xcookybooky.cfg}
\setRecipeColors
{%
    recipename = green,
    ing = black,
    inghead = black,
    prep = black,
    prephead = purple,
    hint = red,
    hinthead = red,
    hintline = black,
    numeration=blue
}

\setRecipeSizes
{%
    recipename = \fontsize{25pt}{30pt},
    ing,
    inghead,
    prep,
    prephead,
    hint,
    hinthead
}

\setRecipeLengths
{%
    preparationwidth,
    ingredientswidth,
    pictureheight
}

\setRecipenameFont{fjd}{T1}{m}{n}


%% Translation
\setHeadlines
{%
    inghead,
    prephead,
    hinthead,
    continuationhead,
    continuationfoot,
    preparationtime,
    bakingtime,
    bakingtemperature,
    portion,
    portionvalue,
    calory,
    source
}
\end{filecontents*}

\usepackage[
    handwritten,
    nowarnings,
    myconfig
]
{xcookybooky}



\usepackage{blindtext}    % only needed for generating test text

\definecolor{mygreen}{rgb}{0,.5,0}
\DeclareRobustCommand{\textcelcius}{\ensuremath{^{\circ}\mathrm{C}}}


\setcounter{secnumdepth}{1}
\renewcommand*{\recipesection}[2][]
{%
    \subsection[#1]{#2}
}
\renewcommand{\subsectionmark}[1]
{% no implementation to display the section name instead
}


%%%%%%%%%%
% hyperref
\usepackage{hyperref}    % must be the last package
\hypersetup{%
    pdfauthor            = {Sven Harder},
    pdftitle             = {Example Recipes},
    pdfsubject           = {Recipes},
    pdfkeywords          = {recipes},
    pdfstartview         = {FitV},             
    pdfview              = {FitH},
    pdfpagemode          = {UseNone}, % Options; UseNone, UseOutlines
    bookmarksopen        = {true},
    pdfpagetransition    = {Glitter},
    colorlinks           = {true},
    linkcolor            = {black}, 
    urlcolor             = {black}
    citecolor            = {black}, 
    filecolor            = {black},
}
% hyperref
%%%%%%%%%%



\begin{document}
\begin{recipe}
[ % 
    preparationtime = {\unit[1]{h}},
    bakingtime,
    bakingtemperature,
    portion = {\portion{5}},
    calory,
    source = R. Gaus
]
{Mousse au Chocolat}
    
    \graph
    {% pictures
        big=pic/ingredients  % big picture
    }
    
    \ingredients
    {%
        2 Tafeln & dunkle Schokolade (über \unit[70]{\%})\\
        3        & Eier\\
        \unit[200]{ml} & Sahne\\
        \unit[40]{g} & Zucker\\
        \unit[50]{g} & Butter
    }
    
    \preparation
    {%
        \step Eier trennen, Eiweiß und Sahne separat steif schlagen. Butter und Schokolade vorsichtig im Wasserbad schmelzen.
        \step Eigelb in einer großen Schüssel mit \unit[2]{EL} heißem Wasser cremig schlagen, den Zucker einrühren bis die Masse hell und cremig ist.
        \step Die geschmolzene Schokolade unterheben, anschließend sofort Eischnee und Sahne unterheben (nicht mit dem Elektro-Mixer!)
        \step Mindestens 2 Stunden im Kühlschrank kalt stellen. Aber nicht zu kalt servieren.
    }
    
    \hint
    {%
        Der Schokoladenanteil kann auch gesenkt werden.
    }

\end{recipe}



\end{document}

Würde mich sehr über Lösungsvorschläge freuen. Vielen Dank im Voraus.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Das Paket kenne ich zwar nicht und auf die Schnelle habe ich dazu auch nichts in der Doku gefunden, aber 1. und 2. müssten sich doch bei deiner Umdefinition von \recipesection mit anpassen lassen?
\renewcommand*{\recipesection}[2][] 
{% 
    \vspace{-2\baselineskip}\subsection[#1]{\hspace{-0.5ex}#2} 
}  
Gruß
Elke

Patrick1990
Forum-Century
Forum-Century
Beiträge: 213
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

Beitrag von Patrick1990 »

Hallo Elke, diese Umdefinition ändet leider an meinem ausgegebenen Dokument gar nichts.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Also bei mir ist mit
\documentclass[% 
 cleardoublepage=empty, 
 12pt 
]{scrbook} 

\usepackage[utf8]{inputenc} 
\usepackage{lmodern} 
\usepackage[ngerman]{babel} 
\usepackage[demo]{graphicx} 

\usepackage{xcookybooky} 

\setcounter{secnumdepth}{1} 
\renewcommand*{\recipesection}[2][]{%
  \vspace{-2\baselineskip}\subsection[#1]{\hspace{-1ex}#2}%
} 
\renewcommand{\subsectionmark}[1]{} 


\begin{document} 
\begin{recipe}[%  
  preparationtime = {\unit[1]{h}}, 
  bakingtime, 
  bakingtemperature, 
  portion = {\portion{5}}, 
  calory, 
  source = R. Gaus 
]{Mousse au Chocolat} 
  \graph{big=pic/ingredients} 
  \ingredients{% 
     2 Tafeln & dunkle Schokolade (über \unit[70]{\%})\\ 
     3        & Eier\\ 
     \unit[200]{ml} & Sahne\\ 
     \unit[40]{g} & Zucker\\ 
     \unit[50]{g} & Butter 
  } 
  \preparation{% 
     \step Eier trennen, Eiweiß und Sahne separat steif schlagen. Butter und Schokolade vorsichtig im Wasserbad schmelzen. 
     \step Eigelb in einer großen Schüssel mit \unit[2]{EL} heißem Wasser cremig schlagen, den Zucker einrühren bis die Masse hell und cremig ist. 
     \step Die geschmolzene Schokolade unterheben, anschließend sofort Eischnee und Sahne unterheben (nicht mit dem Elektro-Mixer!) 
     \step Mindestens 2 Stunden im Kühlschrank kalt stellen. Aber nicht zu kalt servieren. 
  }
  \hint{Der Schokoladenanteil kann auch gesenkt werden.} 
\end{recipe} 
\end{document}
die Überschrift linksbündig und ziemlich nah an dem Bild dran. Wenn ich bei \vspace{...} auf -3\baselineskip ändere, dann liegt zum Teil schon auf dem Bild.

Gruß
Elke

Patrick1990
Forum-Century
Forum-Century
Beiträge: 213
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

Beitrag von Patrick1990 »

Danke, jetzt funktioniert es. Wunderbar.

Mit dem Tipp das ist nicht so einfach oder? Ich erreiche da überhaupt nichts.

Vielen Dank noch einmal.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ich vermute auch, dass das schwierig ist und man sich dafür in den Quellcode des Paketes vertiefen müsste.

Patrick1990
Forum-Century
Forum-Century
Beiträge: 213
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

Beitrag von Patrick1990 »

Ja, danke.

Hier steht zwar etwas:
\newcommand*{\hint}[1] {%
}
\def\xcb@hint {%
}
\pagebreak[1] \begin{tikzpicture}[line width = 1.5pt, \xcb@color@hintline]
\useasboundingbox (0,0) -- ++(right:3.5cm) -- ++(up:3mm) -- ++(left:3.5cm) -- cycle; \draw (-3mm, 0mm) -- ++(right:3.5cm); \draw (0, 3mm) -- ++(down:2.4cm);
\end{tikzpicture}
\nopagebreak
\begingroup	% a group for the hint \leftskip1em
\xcb@name@hinthead \nopagebreak
\itshape\textcolor{\xcb@color@hint}{\xcb@fontsize@hint{##1}}
\par \endgroup

aber damit kann man ja nichts anfangen.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Sehr wahrscheinlich sorgt das \vfill im folgenden Codeausschnitt dafür, dass der Tipp ganz nach unten geschoben wird:
%% THIRD BLOCK
    \begin{wraptable}{r}{\xcb@ingredientswidth}
    {
        \xcb@ingredients
    }
    \end{wraptable}
    \xcb@preparation

    \vfill

    \xcb@cmd@wrapfill
    \xcb@hint
    \setcounter{xcb@newpagefoot}{0}
}
Wenn du das \vfill testweise auskommentieren oder durch ein \vspace{2\baselineskip} ersetzen möchtest, dann kopiere dir die xcookybooky.sty in dein Arbeitsverzeichnis (also das Verzeichnis in dem deine tex Datei liegt) und ändere in dieser Kopie.

Gruß
Elke

Patrick1990
Forum-Century
Forum-Century
Beiträge: 213
Registriert: Mo 18. Feb 2013, 07:56
Wohnort: Ilmenau

Beitrag von Patrick1990 »

Oh ich bin so dankbar. Vielen, vielen Dank.

Funktioniert super.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Ist das Thema damit beantwortet? Wenn ja, dann ändere bitte noch den Status.

Antworten