Ich möchte 3 Bilder nebeneinander zeichnen. Wie muss dazu die scope-Umgebung eingestellt werden, damit die die Graphen auf einer baseline (x-Achse) nebeneinander liegen? Open in Online-Editor
\documentclass[border=5pt]{standalone} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{tikz} %\usetikzlibrary{positioning} \begin{document} \begin{tikzpicture} \begin{scope}[name=Urbild] \draw[->] (-0.5,0)--(0.5,0); \draw[->] (0,-0.5)--(0,0.5) node[above]{Urbild}; \end{scope} \begin{scope}[name=Pfeil, right of=A] \node[red]{$\rightarrow$}; \end{scope} \begin{scope}[right of=Pfeil, scale=0.35] \draw[->] (-2,0)--(2,0); \draw[->] (0,-2)--(0,2) node[above]{Bild}; \end{scope} \end{tikzpicture} \end{document} |
Mir ist nicht ganz klar, was Dein eigentliches Ziel ist. Selbst wenn man die Scopes wie Nodes nebeneinander platzieren und aneinander ausrichten könnte, wären die x-Achsen nicht auf einer Höhe, da sie sich nicht in der vertikalen Mitte der Teilzeichnungen befinden, die ja ebenfalls die Beschriftungen »Urbild« und »Bild« enthalten. Prinzipiell ist es möglich für einen Scope mittels der Option Das folgende Beispiel soll nur die Möglichkeiten zeigen. Die x-Achsen sind nur dann auf der gleichen Höhe, wenn sie sich in der vertikalen Mitte der Teilbilder befinden. Open in Online-Editor
\documentclass[border=5pt]{standalone} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{tikz} \usetikzlibrary{positioning} \newbox\mybox \newcommand{\tikzbox}[2][\mybox]{% \sbox#1{\pgfinterruptpicture#2\endpgfinterruptpicture}} \begin{document} \begin{tikzpicture}[node distance=0pt] \begin{scope}[local bounding box=Urbild] \draw[->] (-.5,0)--(.5,0); \draw[->] (0,-0.5)--(0,0.5); \end{scope} \node[above = of Urbild]{Urbild}; \node[red,right = of Urbild](pfeil){$\rightarrow$}; \tikzbox{\tikz[scale=.35,baseline=(O)]{ \draw[->] (0,0)--(4,0)coordinate(O); \draw[->] (2,-2)--(2,2); }} \node[inner sep=0pt,right= of pfeil](bild){\usebox\mybox}; \node[above = of bild]{Bild}; \end{tikzpicture} \end{document} Dass der rote Pfeil scheinbar nach oben verschoben ist, liegt an dem Zeichen selbst. Das lässt sich ganz einfach über Es wäre damit vermutlich sinnvoller, den Pfeil auch einfach mit TikZ zeichnen zu lassen. Zumindest bei dem von Dir angegebenen MWE würde ich die beiden Teilzeichnungen in separaten Open in Online-Editor
\documentclass[border=5pt]{standalone} \usepackage[ngerman]{babel} \usepackage[utf8]{inputenc} \usepackage{tikz} \usetikzlibrary{positioning} \begin{document} \tikz[baseline=(O)]{ \draw[->] (-0.5,0)--(0.5,0)coordinate(O); \draw[->] (0,-0.5)--(0,0.5) node[above]{Urbild}; \node[red,right=0pt of O]{$\rightarrow$}; }% \tikz[baseline=(O),scale=.35]{ \draw[->] (-2,0)--(2,0)coordinate(O); \draw[->] (0,-2)--(0,2) node[above]{Bild}; } \end{document} Mmh, dann scheint Bei dem Pfeil bin ich mir grad nicht siucher, ob der Pfeil
(19 Dez '15, 06:31)
cis
@cis Die Idee hatte ich unabhängig von tex.sx auch, aber dann muss der Koordinatenursprung des zweiten Scopes genau an dem Punkt liegen, mit dem Du den Scope positionierst. In Deinem Fall dürften keine negativen x-Werte vorkommen, d.h. Du müsstest die zweite Teilzeichnung umschreiben ... Steht übrigens auch in einem der Kommentare unter Deinem Link. Deshalb habe ich das von vornherein verworfen.
(19 Dez '15, 12:55)
esdd
|
xshift=<xdim>
odershift={(<xdim>,<ydim>)}
.Ja händisch gehts, klar. Ich wollte es irgendwie professionell machen - mit automatischer Ausrichtung.