Hallo,

Mein Code: Ich habe die Landscape - Einstellung gewählt. Anhand einiger Research Arbeit bei euch im Forum habe ich mir die passenden Programm Teile zusammen gebastelt. Natürlich kommt es bei solch einer Vorgangsweise zu Problemen.... Beschreibung des von mir erstellten Codes: Die erstellte Seite besteht aus 3 Teilen, 1: Hintergrundbild (Image), 2: Tabelle, 3 TIKZ Zeichnung.

Image: Ja soweit ich das verstehe hat das Image hat eine vorgegebene Breite und Höhe. Das Image sollte wie hier im Code positioniert werden.

Laut Code wäre der Einfüge Punkt in der Landscape Einstellung des Imges bei 0cm/0.368cm. Die "width" beträgt 23 cm. Wobei ich nicht weiß für was die 23 cm stehen da weiter im Code die X und Y Ausmaße des Images definiert werden. Ich möchte jetzt meine TIKZ Zeichnung auf dieser Seite einfügen.

Variante 1: irgendwo auf der Seite mit beliebigen x und y shift!

Variante 2: einmal abhängig von der Lage des Images. Zb: Der Koordinaten Ursprung des Images soll zb: gleichzeitig auch der Koordinaten Ursprung der TIKZ Zeichnung sein. Sodass sich die Zeichnung je nach Lage des Images immer gleich mitbewegt.

Programm-Code-Image-Teil:

Open in Online-Editor
    \documentclass[a4paper,12pt,landscape]{article} 
\usepackage{tikz}
\usepackage[table]{xcolor}

\begin{document}

\begin{landscape}  % Querformat
\newpage

        \begin{flushleft} % Linksbündig
        \begin{huge} % Schriftgröße Header
        Global constraints (valid for all subcases)
        \end{huge}
        \end{flushleft}
\noindent
\begin{tikzpicture}  [node distance=0.5cm] %Abstand der Nodes untereinander

\node[anchor=south west,inner sep=0,scale=1] (Bild) at (0cm,0.368cm)
% %{\includegraphics[width=23cm]{./AnnexModel1/Pics/Subc/Spc@1@Glddddobal_Sffpc_Sefdft@@1.png}};
{\includegraphics[width=23cm]{example-image}};

% Definition für Tabellen (description) und Koordinatendefinition:
\begin{scope}[
x=23.02cm,y=16.02cm,
  description/.style={
  fill=white, 
  fill opacity=0.4,  % Opazität der Tabellen einstellen
  text opacity=1, 
  }
  ]

\node[description,below left] at (1,1) {  % above/below left/right at 0=unten, 0=links

\fontsize{8pt}{11pt}\selectfont
\renewcommand{\arraystretch}{1}
\begin{tabular}{|c|c|c|c|c|c|c|c|}
\multicolumn{8}{c}{Global Spsdc-Sddet 1 - s\_pladdste\_fixesdsd } \\

\hline
\rowcolor{cyan!20} \textbf{sad IDs} & \textbf{sadsa [mm]} & \textbf{asdsa [mm]} & \textbf{sadsad [mm]} & \textbf{sads [deg]} & \textbf{sd [deg]} & \textbf{sdas [deg]} & \textbf{sadsadssad} \\
\hline
1 & fixed & fixed & fixed & fixed & fixed & fixed & global \\
\hline

\end{tabular}

\renewcommand{\arraystretch}{1}
\normalsize

};

\end{scope}
\end{tikzpicture}

\end{landscape}
\end{document}

Programm Code TIKZ Teil:

Open in Online-Editor
\documentclass[12pt]{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[anchor=south west,inner sep=0](Bild)at(0,0){\color{blue!10}\rule{20cm}{20cm}};
\begin{scope}[ 
xshift=5cm,yshift=8cm, 
opacity=1,
description/.style={
fill=green,
fill opacity=1,
text opacity=1
}
]
\begin{scope}[line width=1pt]
\fill[green](-0.7,0.7)--(-1.1243,0.7)--(-0.7,0.7)--(-0.7,1.1243)--(-0.7,1.1243)--(-1.1243,0.7);
\fill[green](0.7,0.7)--(0.8414,0.7)--(0.7,0.7)--(0.7,0.8414)--(0.7,0.8414)--(0.8414,0.7);
\draw[dash pattern=on 5.5mm off 2mm on .5mm off 2mm, -,line width=0.5pt]( 0,0)--(-4,0);
\draw[dash pattern=on 5.5mm off 2mm on .5mm off 2mm, -,line width=0.5pt]( 0,0)--(0,4);
\draw[dash pattern=on 5.5mm off 2mm on .5mm off 2mm, -,line width=0.5pt]( 0,0)--(4,0);

\draw(0,-0.7)--(-4,-0.7);
\draw(0,-0.7)--(0,0.7);
\draw(0,0.7)--(-4,0.7);
\draw(-0.7,0)--(-0.7,4);
\draw(-0.7,0)--(0.7,0);
\draw(0.7,0)--(0.7,4);
\draw(0,0.7)--(4,0.7);
\draw(0,0.7)--(0,-0.7);
\draw(0,-0.7)--(4,-0.7);
\fill[red](-0.9243,0.7)circle (0.1cm);
\fill[red] (-0.7,0.9243)circle (0.1cm);
\fill[red]  (0.7,2.0414)circle (0.1cm);
\fill[red]  (2.0414,0.7)circle (0.1cm);
\draw[red](-0.9243,0.7)--(-0.9243,1.2);
\node[rotate=0,red] at (-1.1243,1.4){0};
\draw[red](-0.7,0.9243)--(-1.2,0.9243);
\node[rotate=0,red] at (-1.4,1.1243){1};
\draw[red](0.7,2.0414)--(1.2,2.0414);
\node[rotate=0,red] at (1.4,2.2414){2};
\draw[red](2.0414,0.7)--(2.0414,1.2);
\node[rotate=0,red] at (2.2414,1.4){3};

\draw[->,blue,line width=1.5pt]( 0,0)--(0,3)node[left]{$z$};
 \draw[->,blue,line width=1.5pt]( 0,0)--(-3,0)node[above]{$y$};
\end{scope}
\end{scope}
\end{tikzpicture}
\end{document}

Ich möchte den TIKZ Code Teil in den -> Programm-Code-Image Teil einfügen mit der Positionierung. Die Tikz Zeichnung soll auf dem Image oben liegen.

Danke für eure Geduld.

gefragt 06 Jul '15, 11:09

basel's gravatar image

basel
12961723
Akzeptiert-Rate: 0%

bearbeitet 06 Jul '15, 14:21

@sudo der Code stand am Ende meines Postings. Ich habe meine Frage neu gegliedert betreffenf der Übersichtlichkeit.

(06 Jul '15, 11:40) basel

Du solltest je Problem genau eine Frage stellen. Hier mehrere Probleme zu einer Frage zu vermischen ist im Sinne der Übersichtlichkeit, der Beantwortung und der Einordnung störend.

(06 Jul '15, 12:04) saputello

Ich habe Schwierigkeiten zu verstehen, wie das Ergebnis aussehen soll. Hat das Bild eine fest vorgegebene Breite und Höhe? Wo soll es positioniert werden bzw. relativ wozu? Die obere rechte Ecke der Tabelle soll um je .5cm nach unten und links gegenüber der oberen rechten Ecke des Bildes verschoben sein? Soll die TikZ-Zeichnung auch auf dem Hintergrundbild liegen oder daneben? Der Koordinatenursprung der Zeichnung soll in welcher horizontalen bzw. vertikalen Entfernung zu welchem Punkt des Hintergrundbildes liegen?

(06 Jul '15, 13:35) esdd
1

@esdd für die antwort ich versuche meine Frage jetzt entgültig besser zu formulieren. danke für euer verständnis.

(06 Jul '15, 13:37) basel

Leider hilft mir das nicht weiter. Welcher Punkt des Bildes soll bei (0, 0.368cm) eingefügt werden? Die untere linke Ecke? Oder die Mitte? Oder ... Und wenn das bei (0,0.368cm) sein soll: Welcher Punkt ist der mit (0,0)? Die untere linke Ecke des Blattes? Oder des Textbereiches? Oder die Mitte des Blattes oder des Textbereiches?

(06 Jul '15, 14:33) esdd

Der linke untere Punkt des Bildes soll bei 0,0.368 eingefügt werden. Der Ursprung des Images sollte auch der Linke untere Punkt sein (0/0).

(06 Jul '15, 14:37) basel

@esdd welcher punkt das jetzt genau ist.... ist momentan nebensächlich. Es geht mir nur um die realisierbarkeit und funktionsweise das es irgendwie funktioniert.

(06 Jul '15, 15:04) basel
1

Schau mal in diese Frage. Da wird sehr gut behandelt, wie man einfach auf Bildern zeichnen und Objekte ausrichten kann.

Kannst du uns sonst eine Handskizze von dem Soll-Ergebnis posten?

(06 Jul '15, 15:30) sudo
Ergebnis 5 von 8 show 3 more comments

Ich habe jetzt mal aus \begin{landscape} geschlossen, dass nicht das ganze Dokument im Querformat gesetzt werden soll? Dann muss aber noch ein pdflscape geladen werden.

Mit \vfill unter dem überschriftenartigen Text schiebe ich die Zeichnung ganz nach unten.

Open in Online-Editor
\path(0,0)--
(0,0.368cm)node[anchor=south west,inner sep=0] (Bild)
  {\includegraphics[width=23cm,height=12cm
    %,keepaspectratio% Seitenverhältnis erhalten
    ]{example-image}};

Fügt das Bild bei (0,0.368cm) ein. Da TikZ die Bounding Box anhand des Inhaltes ermittelt, muss ich (0,0) explizit in einem Pfad in der Zeichnung verwenden.

Open in Online-Editor
\node[description,below left=of Bild.north east,font=\scriptsize] {
  \renewcommand{\arraystretch}{1}
  \begin{tabular}{|c|c|c|c|c|c|c|c|}
    \multicolumn{8}{c}{Global Spc-Set 1 - Upper\_XXX\_XXXX } \\
    \hline
    \rowcolor{cyan!20} \textbf{XX XXX} & \textbf{dx [mm]} & \textbf{XX [mm]} 
      & \textbf{XXX [mm]} & \textbf{XXX [deg]} & \textbf{XXX [deg]} 
      & \textbf{XXX [deg]} & \textbf{XXX} \\
    \hline
    1 & XX & XX & XX & XX & XX & XX & XXX \\
    \hline
  \end{tabular}
};

Dabei wird die Tabelle mit below left=of Bild.north east links unterhalb der rechten oberen Ecke des Bildes eingefügt.

Den Ursprung der zusätzlichen Zeichnung muss ich zunächst mit shift={(Bild.south west)} in die untere linke Ecke des Bildes verschieben . Anschließend kann ich ihn noch mit xshift=5cm,yshift=2cm relativ zu dieser Ecke bewegen.

Zu beachten ist, dass die x- und y-Einheit der Zeichnung 1cm ist und nicht von der Bildgröße abhängt. Ändern sich die Abmessungen des Bildes, dann bewegt sich quasi das Bild unter der Zeichnung, die den gleichen absoluten Abstand zu dem Referenzpunkt (hier die untere linke Ecke des Bildes) behält.

alt text

Code:

Open in Online-Editor
\documentclass[12pt,table]{article}
\usepackage{pdflscape}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{landscape}
\begin{flushleft} 
\begin{huge} 
Global XXXX (valid for all XXXX)
\end{huge}
\end{flushleft}
\vfill
\noindent
\begin{tikzpicture}[
  node distance=.5cm,
  description/.style={
    fill=white, 
    fill opacity=0.4,
    text opacity=1,
  },
  strichpunkt/.style={dash pattern=on 5.5mm off 2mm on .5mm off 2mm, -,line width=1pt},
  achse/.style={->,blue},
  punkt/.style={circle,fill,red,inner sep=0pt,minimum size=.2cm},
  dreieck/.style={fill,green},
  nummer/.style={inner sep=.2pt}
]
\path(0,0)--
(0,0.368cm)node[anchor=south west,inner sep=0] (Bild)
  {\includegraphics[width=23cm,height=12cm
    %,keepaspectratio% Seitenverhältnis erhalten
    ]{example-image}};

\node[description,below left=of Bild.north east,font=\scriptsize] {
  \renewcommand{\arraystretch}{1}
  \begin{tabular}{|c|c|c|c|c|c|c|c|}
    \multicolumn{8}{c}{Global Spc-Set 1 - Upper\_XXX\_XXXX } \\
    \hline
    \rowcolor{cyan!20} \textbf{XX XXX} & \textbf{dx [mm]} & \textbf{XX [mm]} 
      & \textbf{XXX [mm]} & \textbf{XXX [deg]} & \textbf{XXX [deg]} 
      & \textbf{XXX [deg]} & \textbf{XXX} \\
    \hline
    1 & XX & XX & XX & XX & XX & XX & XXX \\
    \hline
  \end{tabular}
};

\begin{scope}[
  shift={(Bild.south west)},
  xshift=5cm,yshift=2cm, 
  line width=1pt
]
  \draw[strichpunkt]
    (0,0)--(-4,0)
    (0,0)--(0,4)
    (0,0)--(4,0)
  ;
  \draw[achse]( 0,0)--(0,3)node[left]{$z$};
  \draw[achse]( 0,0)--(-3,0)node[above]{$y$};
  \draw
    (-4,-0.7)--(4,-0.7)
    (-4,0.7)--(4,0.7)
    (0,-0.7)--(0,0.7)
    (-0.7,4)--(-0.7,0)--(0.7,0)--(0.7,4)
  ;
  \draw(-0.9243,0.7)coordinate(p1)--+(0,.5)node[nummer,above]{0};
  \draw(-0.7,0.9243)coordinate(p2)--+(-.5,0)node[nummer,left]{1};
  \draw(0.7,2.0414)coordinate(p3)--+(.5,0)node[nummer,right]{2};
  \draw(2.0414,0.7)coordinate(p4)--+(0,.5)node[nummer,above]{3};
  \foreach \i in {1,...,4}\node[punkt] at (p\i){};
  \path[dreieck]
    (-0.7,0.7)--(-1.1243,0.7)--(-0.7,1.1243)--cycle
    (0.7,0.7)--(0.8414,0.7)--(0.7,0.8414)--cycle
  ;
  \end{scope}
\end{tikzpicture}
\end{landscape}
\end{document}
Permanenter link

beantwortet 06 Jul '15, 16:16

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

danke funktioniert

(07 Jul '15, 08:37) basel

@esdd @saputello

Bei dieser Lösung die Ihr für mich ausgearbeitet habt wird das Tikz-Bild abhängig vom linken unteren Punkt des Images (Referenz) ein x-y Verschiebung durch geführt. Wie kann ich jetzt diese Verschiebung abhängig vom Zeichen-Blatt durchführen (Nicht vom Image!)? Ich hab quasi eine neue Referenz.

(21 Jul '15, 11:08) basel

@basel Was verstehst Du unter Zeichen-Blatt? Und welcher Punkt des Zeichen-Blattes soll der Referenzpunkt sein?

(21 Jul '15, 11:15) esdd

@esdd Als Zeichenblatt verstehe ich den verfügbaren Platz -> A4 Seite. Als neue Referenz möchte ich den linken unteren Punkt (south west) haben (Ankerpunkt). Danke.

(21 Jul '15, 11:29) basel
2

Da innerhalb von landscape der Knoten current page nicht wie gewohnt funktioniert, muss man sich manuell von der unteren linken Ecke des Textbereiches zur unteren linken Ecke der A4 Seite bewegen: shift={({-\paperheight+1in+\topmargin+\headheight+\headsep+\linewidth},{-\paperwidth+1in+\oddsidemargin+\textheight})}, und außerdem remember picture,overlay, für den betreffenden scope setzen.

Wenn Du eine weitere Frage dazu hast, dann stelle diese bitte als neue Frage mit einem deutlich vereinfachten Minimalbeispiel.

(21 Jul '15, 13:02) esdd

@esdd werde ich machen. Ich werde mir die Lösung einmal zur Gemüte führen.

(21 Jul '15, 13:08) basel
Ergebnis 5 von 6 show 1 more comments
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:

×76
×3

gestellte Frage: 06 Jul '15, 11:09

Frage wurde gesehen: 7,938 Mal

zuletzt geändert: 21 Jul '15, 13:08