[Tikz] Matrix of Math Nodes positionieren? Dringend

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: [Tikz] Matrix of Math Nodes positionieren? Dringend

von Ludger » Mi 29. Jan 2014, 15:33

Hübsch gemacht, das kann ich als Codeschnipsel sogar gebrauchen :). Wobei ich inhaltlich die vierte Zeile der Matrix nicht ganz verstehe :) Aber darum gehts hier ja auch nicht.

Gruß, Ludger

von BlackDevil » Di 21. Jan 2014, 18:09

Hmmm okay. Ich schau mir das mal an, danke :)

von sudo » Di 21. Jan 2014, 14:13

Den allgemeinen Abstand kannst du mit node distance einstellen. Den kannst du auch bei einem node noch einmal ändern. Da musst du AFAIR ein bisschen auf die Reihenfolge der Optionen achten.

von BlackDevil » Di 21. Jan 2014, 11:36

Ich schau mir das mal. Ich vermute aber, das ich trotzdem mit xshift die Position korrigieren würde. Ansonsten weiß Latex bzw. Tikz ja nicht wo ich das Element haben möchte, außer eben Links von einem anderen Element.

von sudo » Di 21. Jan 2014, 11:30

Noch besser ist es mit der postitions library. Damit kannst du left=of m verwenden und kannst dir in der Regel Nachjustierungen mit xshift sparen, weil der tatsächliche Abstand genommen wird statt dem Abstand der Mittelpunkte.

von BlackDevil » Mo 20. Jan 2014, 22:00

@cgnieder: Das habe ich mir gedacht, kam aber irgendwie nicht auf das "at" :oops:

Tikz ist Zeitaufwändig - macht aber irgendwo Spaß und das Ergebnis überzeugt. Sieht nun so aus:
\documentclass{scrbook} 

\usepackage{tikz} 
\usetikzlibrary{matrix} 
\begin{document} 
\begin{tikzpicture}

	\matrix (m)[matrix of math nodes,left delimiter=[,right delimiter={]},xshift=0cm, yshift=0] {
	    w_{11} & w_{12} & w_{13} \\
	    w_{21} & w_{22} & w_{23} \\
	    w_{31} & w_{32} & w_{33} \\
	    w_{41} & w_{42} & w_{43} \\
	};
	\node[left of=m, xshift=-0.9cm] (a) {=};
	\node[left of=a,yshift=2cm] (b) {};
	\node[left of=a,yshift=-2cm] (c) {};
	\draw[thick,red,decorate,decoration={brace,amplitude=12pt}] (b) -- (c);
	
	\foreach \name/\y/\text in {d/1.2cm/1,e/0/2,f/-1.2cm/3}
			\node[thick,draw,circle, left of=a,xshift=-1cm,yshift=\y,scale=0.8] (\name) {$O_\text$};
	
	\foreach \name/\y/\text in {g/1.7cm/1,h/0/2,i/-1.7cm/3}
			\node[thick,draw,circle, left of=a,xshift=-2.5cm,yshift=\y,scale=0.9] (\name) {$I_\text$};
	
	\foreach \namea in {d,e,f}
		\foreach \nameb in {g,h,i}
			\draw[->] (\nameb) -- (\namea);
\end{tikzpicture}    
\end{document}
Wenn man das mal mit den relativen Koordinaten geschnallt hat ist das echt Gold wert ...

von cgnieder » Mo 20. Jan 2014, 21:54

Da eine Matrix letztlich auch nur eine Node ist, kannst Du auch einfach die Koordinaten angeben, wo die Matrix platziert sein soll:
\documentclass{scrbook}

\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
  \draw[help lines] (0,0) grid (5,5) ;
  \matrix (m) at (2,3) % <<< Platzierung
    [
      matrix of math nodes,
      left delimiter=[,
      right delimiter={]},
      ampersand replacement=\&
    ]
    {
       1 \& 2 \\
       3 \& 4 \\
    } ;
\end{tikzpicture}
\end{document}
Grüße

von BlackDevil » Mo 20. Jan 2014, 21:00

Nice :!:

danke :)

von Studi » Mo 20. Jan 2014, 20:31

Du kannst shift-Parameter zu den Matrix-Optionen hinzufügen:
   \matrix (m)[matrix of math nodes,left delimiter=[,right delimiter={]},ampersand replacement=\&,
      xshift=1cm, yshift=1cm] {
       1 \& 2 \\
       3 \& 4 \\
   };
Studi

[Tikz] Matrix of Math Nodes positionieren? Dringend

von BlackDevil » Mo 20. Jan 2014, 20:05

Aloah

Ich brauche am besten noch heute Abend eine Antwort ... ich möchte ein Tikz Bild zeichnen in dem eine kleine Matrix vorkommt. Kann ich die Matrix nun irgendwie im Bild verschieben?

Miniaturbeispiel:
\documentclass{scrbook}

\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
	\matrix (m)[matrix of math nodes,left delimiter=[,right delimiter={]},ampersand replacement=\&] {
	    1 \& 2 \\
	    3 \& 4 \\
	};
\end{tikzpicture}
\end{document}
Danke im voraus und Grüße :)

Nach oben