Achtung! Der folgende Code ist kein Minimalbeispiel! Er funktioniert nicht. Exakt das ist der Grund meiner Frage: Wie kriege ich die mit Hilfe von Geometric Shape erzeugte Grafik in die Box? Edit: MWE kompiliert zumindest. Die Lösung ist aber noch nicht optimal. Open in Online-Editor
\documentclass[headheight=19pt]{scrartcl} %------------------------------------------------------------------------------ \usepackage[ngerman]{babel} \usepackage{amsmath} \usepackage[norndcorners,customcolors,nofill]{hf-tikz} \usepackage{tikz} \usetikzlibrary{calc} \usetikzlibrary{shapes.geometric} \usetikzlibrary[shapes.geometric] %------------------------------------------------------------------------------ \tikzset{ winkel/.style={draw=gray,angle eccentricity=.6,angle radius=0.6cm}, mybox/.style={draw=gray,fill=white,align=left,text width=.9\linewidth} } \newbox\mytikzbox \newcommand{\tikzBox}[2][\mytikzbox]{% \sbox#1{\pgfinterruptpicture#2\endpgfinterruptpicture}} %------------------------------------------------------------------------------ \begin{document} \begin{center} \begin{tikzpicture} \tikzBox{% \begin{tikzpicture}[ auto, mytrapez/.style={ trapezium, draw, trapezium left angle=75, trapezium right angle=45 } ] \node[ mytrapez, minimum width=4cm, minimum height=2cm ](Trapez){}; \foreach \placement/\anchor/\text in {% below left/bottom left corner/A, below right/bottom right corner/B, above right/top right corner/C, above left/top left corner/D% }\coordinate[label=\placement:\text](\text)at(Trapez.\anchor); % % Lot von C auf die Strecke AB (http://texwelt.de/wissen/fragen/14661) \draw[gray](C) --node[swap]{$h$} ($(A)!(C)!(B)$); % % Beschriftung der Trapezseiten (http://texwelt.de/wissen/fragen/14662) \path(B)--node{$a$}(A); \path(D)--node{$c$}(C); \end{tikzpicture} } \node[mybox,rounded corners,font=\bfseries] {\parbox[t]{.6\linewidth}{% Blubblub }% \parbox[t]{.5\linewidth}{\centering% \raisebox{\dimexpr-\height+\ht\strutbox\relax}{\usebox\mytikzbox}}}; \end{tikzpicture} \end{center} \end{document} Der Versuch, das Beispiel in einem anderen Thread entsprechend zu modifizieren blieb erfolglos. Ich meine folgenden Thread und hätte gerne dass es auch hier so aussieht wie in der von Clemens erstellten Antwort. Antwort von Clemens gefragt 07 Okt '15, 12:30 runix |
Open in Online-Editor
\documentclass[headheight=19pt]{scrartcl} %------------------------------------------------------------------------------ \usepackage[ngerman]{babel} \usepackage{amsmath} \usepackage{tikz} \usetikzlibrary{calc} \usetikzlibrary{shapes.geometric} %------------------------------------------------------------------------------ \tikzset{ winkel/.style={draw=gray,angle eccentricity=.6,angle radius=0.6cm}, mybox/.style={draw=gray,fill=white,align=left,text width=.9\linewidth} } \newbox\mytikzbox \newcommand{\tikzBox}[2][\mytikzbox]{% \sbox#1{\pgfinterruptpicture#2\endpgfinterruptpicture}} %------------------------------------------------------------------------------ \begin{document} \begin{center} \begin{tikzpicture} \tikzBox{% \begin{tikzpicture}[ auto, mytrapez/.style={ trapezium, draw, trapezium left angle=75, trapezium right angle=45 } ] \node[ mytrapez, minimum width=4cm, minimum height=2cm ](Trapez){}; \foreach \placement/\anchor/\text in {% below left/bottom left corner/A, below right/bottom right corner/B, above right/top right corner/C, above left/top left corner/D% }\coordinate[label=\placement:\text](\text)at(Trapez.\anchor); % % Lot von C auf die Strecke AB (http://texwelt.de/wissen/fragen/14661) \draw[gray](C) --node[swap]{$h$} ($(A)!(C)!(B)$); % % Beschriftung der Trapezseiten (http://texwelt.de/wissen/fragen/14662) \path(B)--node{$a$}(A); \path(D)--node{$c$}(C); \end{tikzpicture} } \node[mybox,rounded corners,font=\bfseries] {\parbox[t]{\dimexpr\linewidth-\wd\mytikzbox}{% Blubblub }% \raisebox{\dimexpr-\height+\ht\strutbox\relax}{\usebox\mytikzbox}}; \end{tikzpicture} \end{center} \end{document}
Übrigens könnte man Außerdem habe ich mir erlaubt auch beantwortet 07 Okt '15, 14:43 saputello |
Da fehlt lediglich das
\end{tikzpicture}
, also\tikzbox{\begin{tikzpicture}[<optionen>]<zeichnung>\end{tikzbox}}
. Außerdem sind die beiden\parbox
en zusammen breiter als\linewidth
. Eigentlich dürften beide zusammen nicht breiter als die beitext width
vorgegebene Textbreite fürmybox
sein.Aber wie auch immer, wenn Du eigentlich den Vorschlag von @Clemens mit der
tcolorbox
verwenden willst, was sicher sehr sinnvoll ist, dann passe doch sein Beispiel an und erstelle damit ein MWE. Dazu kannst Du einfach die Zeichnung in seinem Beispiel durch die neue ersetzen. Bei den Optionen dertikzpicture
Umgebung muss dann nur noch dasbaseline=(current bounding box.north)
ergänzt werden.@esdd, kannst du das als Antwort verfassen? Ich bin am Ergebnis dessen interessiert was durch @Clemens' Antwort erzeugt wurde, der Weg ist mir nicht so wichtig. Wenn ich dran herumwerkle, entstehen leider immernoch Fehler.
Versuch es zunächst selbst und ersetze damit Dein obiges MWE. Du kannst dazu Deine Frage einfach editieren. Wenn ich Dir hier einfach den Code von @Clemens anpasse, hast Du bei der nächsten Zeichnung das gleiche Problem ;-)
Das MWE kompiliert. Das Ergebnis ist aber noch suboptimal.