Hallo,

es handelt sich immer noch um das Thema Positionierung von tikz-Bild in Label. Um für den Druck der Etiketten auf dem vorgefertigten Etikettenpapier die richtige Positionierung zu erreichen, habe ich die Dokumentatation von labels gelesen und dem Package labels die Option newdimens spendiert, um sehr fein positionieren zu können. Mein Etikettenpapier hat oben einen kleinen Rand und ansonsten erstrecken sich die 8x3 Etiketten auf dem ganzen DIN A4-Papier. Insbesondere ist unten gar kein Rand.

Das Ergebnis sieht so aus:

alt text

Wenn man sich das Grid anschaut, entspricht das auch meiner Vorgabe (dummerweise ist das PDF das eine, der physische Ausdruck das andere. Ds ist noch ein anderes Problem.).

Was mich nun irritiert, ist, dass das tikz-Bild nicht mehr zentriert im Label steht, sondern nach rechts verschoben. Ich vermute, dass man das durch Optionen an der Baseline-Option selbst wieder "shiften" kann. Aber wie genau ist die Syntax?

baseline={([xshift=-5pt]current bounding box.east)} ist aus einem google-Beispiel, aber hilft nicht.

Hier nun der vollständige Code:

Open in writeLaTeX
\documentclass{article}
\usepackage[newdimens]{labels}
\usepackage[english,ngerman]{babel}
\usepackage[babel,german=quotes]{csquotes}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc} 
\usepackage{array}
\usepackage{calligra}
\usepackage{tikz}
\usepackage[left=0cm,right=0cm,top=0cm,bottom=0cm,includeheadfoot]{geometry}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{decorations.markings}

\LabelGridtrue 
\LabelCols=3%
\LabelRows=8% 
\numberoflabels=24
\TopPageMargin=7mm% 
\BottomPageMargin=0mm%
\RightPageMargin=0mm%
\LeftPageMargin=0mm%

\tikzset{
 % Definition für decorate with={form}{farbe}
 decorate with/.style 2 args={
  minimum width=6.4cm,minimum height=3cm,% Abmessungen des Rechteckes,
  align=center, % manueller Zeilenumbruch möglich, Text zentriert
  decorate,
  decoration={markings,
  mark = between positions 0 and 1 step 2mm with {
  \node[#1,draw=#2!50!black, fill=#2!50,
    minimum size=2mm,% Größe der Symbole
    inner sep=0pt] {};
  }
  }
  }
  }

  %\TopBorder=10mm%

  \begin{document}

   \genericlabel{%
   \begin{tikzpicture}[baseline={([xshift=-5pt]current bounding box.east)}] 
    \node[decorate with={regular polygon, regular polygon sides = 6}{yellow}]{
      \begin{tabular}{m{2cm}m{3cm}}
       \includegraphics[width=2cm]{bee} &
         {\large{\textcalligra{Frühjahrsblüte}}}  \newline 
         {\tiny{www.randspringer.de/imkerei}} \newline 
         \begin{tabular}{l}
          {\small{Schleuderdatum:}} \\
          {\small{\texttt{03.05.2014}}} \\
          {\small{Standort:}} \\
          {\small{\texttt{Rippien}}}
          \end{tabular}       
          \\              
       %        \multicolumn{2}{c}{{\tiny{www.randspringer.de/imkerei}}}
       \end{tabular}       
       };
       \end{tikzpicture}%
        }

       \end{document}

gefragt 06 Jun '14, 09:29

pberg's gravatar image

pberg
97148
Akzeptiert-Rate: 0%

bearbeitet 06 Jun '14, 12:07

esdd's gravatar image

esdd
17.8k284257

Vergleiche ich den Code von dir und @esdd, dann fällt nur ein wesentlicher Unterschied auf: minimum width=4.4cm beträgt bei dir 6,4 cm.

(06 Jun '14, 09:43) Johannes

Auch wenn ich width=4.4cm verwende, ist das Bild nicht zentriert. Es scheint mir eher an der Option [newdimens] des label-Package zu liegen. In dem Moment wo man diese verwendet, ist das Bild nicht mehr zentriert im Grid. Die Frage ist, wie man das korrigieren kann.

(06 Jun '14, 09:56) pberg

Das liegt an der newdimens Option. Diese scheint vom zentrieren des Inhaltes auf linksbündig umzuschalten und als Voreinstellung einen 5mm breiten linken Labelrand zu haben. Erkennen kann man das, wenn man der TiKZ Abbildung die Option scale=0.5,transform shape gibt. Dann wird das Bild auf die Hälfte verkleinert, aber der Abstand zum linken Labelrand bleibt gleich.

Ändern kannst Du das, in dem Du \LeftLabelBorder entsprechend anpasst. Per Augenmaß würde ich

Open in writeLaTeX
\LeftLabelBorder=3mm

setzen. Aber das kann man auch berechnen: Von der Labelbreite wären die 6.4cm minimum width (vorausgesetzt der Nodeinhalt ist nicht breiter) sowie 2mm für die Verzierung (der Rand der Node liegt in der Mitte der Verzierung) abzuziehen und dann durch 2 zu teilen.

alt text

Permanenter link

beantwortet 06 Jun '14, 11:59

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 06 Jun '14, 11:59

Danke, ich habe nun tatsächlich Etiketten drucken können. Im Code oben habe ich die [a4paper] Option bein {article} vergessen gehabt. Auch der Druck mit meinem Epson war nicht trivial, da ich ihm noch austreiben musste mit Rand zu drucken. Die Papierart "Epson Matte" mit Option "Randlos" und Größe "Tatsächliche Größe" brachten das gewünschte Ergebnis.

Grüße Thomas

(06 Jun '14, 21:10) pberg
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×41
×2

gestellte Frage: 06 Jun '14, 09:29

Frage wurde gesehen: 8,358 Mal

zuletzt geändert: 06 Jun '14, 21:14