Hallo, ich versuche, ausgehend von der Lösung dieser Frage mehrere Knoten ineinander zu verschachteln. Ohne Hintergrundfüllung funktioniert das hier ganz gut: Open in Online-Editor
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{tikz} \usetikzlibrary{positioning,fit} \begin{document} \begin{tikzpicture} \node [circle, fill=black, minimum size=2mm, inner sep=0](Punkt) {}; \node [above right=1pt of Punkt, rectangle, inner sep=0](Text) {$f(x)$}; \node [circle, minimum size=2cm, draw, fit={(Punkt) (Text)}](Kreis) {}; \node [left=0.2cm of Kreis, circle, minimum size=3cm, draw, fit={(Kreis)},label={[font=\Large]above:$E$}] {}; \end{tikzpicture} \end{document} Wenn ich nun den inneren Kreis im Hintergrund rot füllen will, kappt das noch wie folgt: Open in Online-Editor
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{tikz} \usetikzlibrary{positioning,fit,backgrounds} \begin{document} \begin{tikzpicture} \node [circle, fill=black, minimum size=2mm, inner sep=0](Punkt) {}; \node [above right=1pt of Punkt, rectangle, inner sep=0](Text) {$f(x)$}; \begin{scope}[on background layer] \node [circle, minimum size=2cm, draw, fill=red, fit={(Punkt) (Text)}](Kreis) {}; \end{scope} \node [left=0.2cm of Kreis, circle, minimum size=3cm, draw, fit={(Kreis)},label={[font=\Large]above:$E$}] {}; \end{tikzpicture} \end{document} Wenn ich nun aber auch noch den äußeren Kreis im Hintergrund blau füllen will, dann klappt es nicht. Ich hab folgenden Weg versucht: Open in Online-Editor
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{tikz} \usetikzlibrary{positioning,fit,backgrounds} \begin{document} \begin{tikzpicture} \node [circle, fill=black, minimum size=2mm, inner sep=0](Punkt) {}; \node [above right=1pt of Punkt, rectangle, inner sep=0](Text) {$f(x)$}; \begin{scope}[on background layer] \node [circle, minimum size=2cm, draw, fill=red, fit={(Punkt) (Text)}](Kreis) {}; \begin{scope}[on background layer] \node [left=0.2cm of Kreis, circle, minimum size=3cm, draw, fill=blue, fit={(Kreis)},label={[font=\Large]above:$E$}] {}; \end{scope} \end{scope} \end{tikzpicture} \end{document} Und folgenden: Open in Online-Editor
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{tikz} \usetikzlibrary{positioning,fit,backgrounds} \begin{document} \begin{tikzpicture} \node [circle, fill=black, minimum size=2mm, inner sep=0](Punkt) {}; \node [above right=1pt of Punkt, rectangle, inner sep=0](Text) {$f(x)$}; \begin{scope}[on background layer] \node [circle, minimum size=2cm, draw, fill=red, fit={(Punkt) (Text)}](Kreis) {}; \end{scope} \begin{scope}[on background layer] \node [left=0.2cm of Kreis, circle, minimum size=3cm, draw, fill=blue, fit={(Kreis)},label={[font=\Large]above:$E$}] {}; \end{scope} \end{tikzpicture} \end{document} Beides hat nicht zum gewünschten Ergebnis geführt. Hat jemand eine Idee? Viele Grüße Tom |
Wie schon von @Stefan erwähnt, kannst Du Dir auch eigene Layer definieren: Open in writeLaTeX
\pgfdeclarelayer{background1} \pgfdeclarelayer{background2} Dann musst Du natürlich noch die Reihenfolge der Layer vorgeben: Open in writeLaTeX
\pgfsetlayers{background2,background1,main} Um etwas in einen Layer einzufügen, gibt es die Open in writeLaTeX
\documentclass[margin=10pt]{standalone} \usepackage{tikz} \usetikzlibrary{positioning,fit} \pgfdeclarelayer{background1} \pgfdeclarelayer{background2} \pgfsetlayers{background2,background1,main} \begin{document} \begin{tikzpicture} \node [circle, fill=black, minimum size=2mm, inner sep=0](Punkt) {}; \node [above right=1pt of Punkt, rectangle, inner sep=0](Text) {$f(x)$}; \begin{pgfonlayer}{background1} \node [circle, minimum size=2cm, draw, fill=red, fit={(Punkt) (Text)}](Kreis) {}; \end{pgfonlayer} \begin{pgfonlayer}{background2} \node [left=0.2cm of Kreis, circle, minimum size=3cm, draw, fill=blue, fit={(Kreis)},label={[font=\Large]above:$E$}] {}; \end{pgfonlayer} \end{tikzpicture} \end{document} beantwortet 01 Jan '15, 11:07 esdd Vielen Dank! Die Lösung gefällt mir sehr.
(02 Jan '15, 07:30)
tom75
|
Herzlich willkommen auf der TeXwelt, Tom! Eigentlich bräuchtest Du hier 3 Layer. Ginge auch. Ich finde das einfachste, die beiden überzeichneten Nodes einfach nochmal zu zeichnen, auf die Schnelle. Und den nur großen gefüllten Kreis in den Hintergrund schicken. Open in writeLaTeX
\documentclass{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} \usepackage{tikz} \usetikzlibrary{positioning,fit,backgrounds} \begin{document} \begin{tikzpicture} \node [circle, fill=black, minimum size=2mm, inner sep=0](Punkt) {}; \node [above right=1pt of Punkt, rectangle, inner sep=0](Text) {$f(x)$}; \node [circle, minimum size=2cm, draw, fill=red, fit={(Punkt) (Text)}] (Kreis) {}; \node [circle, fill=black, minimum size=2mm, inner sep=0](Punkt) {}; \node [above right=1pt of Punkt, rectangle, inner sep=0](Text) {$f(x)$}; \begin{scope}[on background layer] \node [left=0.2cm of Kreis, circle, minimum size=3cm, draw, fill=blue, fit={(Kreis)},label={[font=\Large]above:$E$}] {}; \end{scope} \end{tikzpicture} \end{document} beantwortet 01 Jan '15, 01:00 stefan ♦♦ Danke für diese Lösung, Stefan! Gibt es irgendwo eine Anleitung, wie man das mit verschiedenen Layern löst, z.B. auch wenn es nicht nur 3 sondern viel mehr Ebenen sind?
(01 Jan '15, 01:26)
tom75
Sorry Stefan, hab das mit der Punktevergabe hier noch nicht kapiert. Wollte euch beiden Punkte geben aber das hat nicht funktioniert.
(02 Jan '15, 07:34)
tom75
3
@tom75 Einfach auf den "Daumen hoch" klicken gibt 10 Punkte für die Antwort, ohne dass Dir selbst Punkte verloren gehen. Das geht für beliebig viele Antworten und kann jeder, weil es lediglich bedeutet, dass die Antwort gefällt. Wenn Du eine Antwort als die Lösung auf Deine Frage markieren willst, die Du bevorzugst, dann den Haken setzen. Das generiert noch einmal 15 Punkte. Das kann auch nur der Fragesteller für genau eine Antwort zur Frage. Es sagt übrigens nicht, dass es objektiv die beste Antwort ist. Die Punkte sind für die TOP-Helfer auch eher ein Nebeneffekt der Abstimmung.
(02 Jan '15, 11:52)
saputello
@saputello Ach so. Das hab ich zwar auch gemacht, aber dann dachte ich, ich muss die Punkte noch über den Link "Vergib Punkte" verteilen. Das hat bei @esdd auch funktioniert, mir war nicht klar, dass die dann von mir abgezogen werden :-)
(02 Jan '15, 12:04)
tom75
|