Duplikat zu: TikZ: Grafik innerhalb der Grafik


Ich habe bei folgendem Beispiel innerhalb einer tikzpicture einen \node mit einer weiteren tikzpicture:

Open in Online-Editor
\documentclass[11pt, a4paper,twoside]{scrartcl}
\setlength{\parindent}{0em} 
\usepackage{tikz}
\usetikzlibrary{shapes,snakes}
\usetikzlibrary{decorations.pathreplacing}

\begin{document}
\pagestyle{empty}
\tikzstyle{mybox} = [draw=black, very thick,
rectangle, rounded corners, inner sep=5pt, inner ysep=20pt]
\tikzstyle{fancytitle} =[fill=gray, text=white]
\begin{tikzpicture}
\node [mybox] (box){%
\begin{minipage}{\textwidth}

\begin{center}
\begin{tikzpicture}[>=latex, thick, decoration=brace]
\draw[<->] (0,0) -- (10cm,0);
\draw[decorate, yshift=2ex]  (1,0) -- node[above=0.4ex] {Dazwischen muss $\sqrt{2}$ liegen}  (9,0);
\draw (1,-2pt) -- (1,2pt)  node[below=1ex]{1};

\draw (5,-2pt) -- (5,2pt) node[below=1ex]{1,5};

\draw (9,-2pt) -- (9,2pt)  node[below=1ex]{2};

\end{tikzpicture}
\end{center}
\end{minipage}
};
\end{tikzpicture}

\begin{center}
\begin{tikzpicture}[>=latex, thick, decoration=brace]
\draw[<->] (0,0) -- (10cm,0);
\draw[decorate, yshift=2ex]  (1,0) -- node[above=0.4ex] {Dazwischen muss $\sqrt{2}$ liegen}  (9,0);
\draw (1,-2pt) -- (1,2pt)  node[below=1ex]{1};

\draw (5,-2pt) -- (5,2pt) node[below=1ex]{1,5};

\draw (9,-2pt) -- (9,2pt)  node[below=1ex]{2};

\end{tikzpicture}
\end{center}

\end{document}

Wieso bekomme ich innerhalb der minipage keine geschweifte Klammern angezeigt?

gefragt 30 Aug '16, 23:10

typ42's gravatar image

typ42
38341928
Akzeptiert-Rate: 33%

geschlossen 01 Sep '16, 08:03

saputello's gravatar image

saputello
11.1k174365

@typ42: Statt eines "Hallo", das laut Eingabetipps ohnehin weggelassen werden sollte, habe ich in Deine Frage einen Einleitungssatz eingefügt, der auf den wesentlichen Punkt des Beispiels hinweist. Ich würde mir wünschen, wenn Du künftig an so etwas denken würdest. Das macht das Thema der Frage und das Beispiel IMHO für andere Hilfesuchende aber auch für potentielle Helfer schneller erfassbar.

(31 Aug '16, 08:06) saputello
1

Potentielles Duplikat zu: TikZ: Grafik innerhalb der Grafik

(31 Aug '16, 08:13) saputello

Die Frage wurde aus folgenden Grund "Duplikat einer anderen Frage" geschlossen saputello 01 Sep '16, 08:03


Das Problem ist nicht die minipage. Das Problem ist, dass die innere tikzpicture Einstellungen der äußeren tikzpicture, insbesondere die von mybox erbt. Deshalb sieht die geschweifte Klammer dann nicht mehr wie eine geschweifte Klammer aus. Du kannst das leicht testen, indem Du das [mybox] bei \node einmal weg lässt.

Um das Problem zu lösen, kannst Du wie bei »TikZ: Grafik innerhalb der Grafik« von stefan gezeigt die eigentliche Abbildung in ein Box-Register packen und dann dieses Verwenden. Dabei gelten immer die Einstellungen, die beim Füllen des Box-Registers gültig waren, nicht die Einstellungen bei dessen Verwendung:

Open in Online-Editor
\documentclass[11pt, a4paper,twoside,parskip=half-]{scrartcl}
\usepackage{tikz}
\usetikzlibrary{shapes,snakes}
\usetikzlibrary{decorations.pathreplacing}

\tikzstyle{mybox} = [draw=black, very thick,
rectangle, rounded corners, inner sep=5pt, inner ysep=20pt]
\tikzstyle{fancytitle} =[fill=gray, text=white]
\newbox\mytikzbox 
\newcommand{\tikzBox}[2][\mytikzbox]{% 
   \sbox#1{\pgfinterruptpicture#2\endpgfinterruptpicture}}

\begin{document}
\pagestyle{empty}
\tikzBox{%
  \begin{tikzpicture}[>=latex, thick, decoration=brace]
    \draw[<->] (0,0) -- (10cm,0);
    \draw[decorate, yshift=2ex]  (1,0) -- node[above=0.4ex] {Dazwischen muss $\sqrt{2}$ liegen}  (9,0);
    \draw (1,-2pt) -- (1,2pt)  node[below=1ex]{1};
    \draw (5,-2pt) -- (5,2pt) node[below=1ex]{1,5};
    \draw (9,-2pt) -- (9,2pt)  node[below=1ex]{2};
  \end{tikzpicture}
}

\begin{tikzpicture}
  \node [mybox] (box){%
    \begin{minipage}{\textwidth}\centering\usebox\mytikzbox\end{minipage}%
  };
\end{tikzpicture}

\begin{center}
\usebox\mytikzbox
\end{center}

\end{document}

mit Box-Register funktioniert es

Bei der Box innerhalb des Nodes habe ich übrigens die center-Umgebung durch \centering ersetzt, weil die Umgebung zusätzlichen vertikalen Abstand am Anfang und Ende einfügt und ich davon ausgehe, dass dieser hier gar nicht benötigt wird. Die Abstände werden ja bereits über mybox bestimmt.

Noch eine Anmerkung: Zwar gibt es auf YouTube min. ein LaTeX-Tutorium, in dem behauptet wird, man würde normalerweise \parindent auf Null setzen. Das ist aber trotzdem keine gute Idee. Dadurch wird die komplette Absatzauszeichnung abgeschaltet. Inzwischen findet man diese Unart in diversen Vorlagen und vielen Beispielen im Internet und Anfänger kupfern das unbedacht einfach ab. Deshalb habe ich im Beispiel diese Unsitte durch einen Wechsel zu Absatzabstand ersetzt. Das ist zwar in meinen Augen keine ideale Absatzauszeichnung aber allemal besser als keine.

Permanenter link

beantwortet 31 Aug '16, 07:48

saputello's gravatar image

saputello
11.1k174365
Akzeptiert-Rate: 51%

bearbeitet 31 Aug '16, 08:14

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
×76
×30
×15

gestellte Frage: 30 Aug '16, 23:10

Frage wurde gesehen: 8,441 Mal

zuletzt geändert: 01 Sep '16, 08:03