Wieso ist die rote Linie nicht im Dreieck?

Open in Online-Editor
\documentclass[headheight=19pt]{scrartcl}
%------------------------------------------------------------------------------
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage[norndcorners,customcolors,nofill]{hf-tikz}
\usetikzlibrary{calc}

%------------------------------------------------------------------------------
\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}}

%------------------------------------------------------------------------------
\usepackage{blindtext}% für Fülltext
\begin{document}
  \begin{center}
  \begin{tikzpicture}
    \tikzBox{%
      \tikz[auto]
       \draw
        (2.5,0) coordinate[label=right:B] (B)
        -- node{$c$} 
        (-1,0) coordinate[label=left:A] (A)
        -- node{$b$} 
        (2,2) coordinate[label=above right:C] (C)
        -- node{$a$} 
        cycle
      ;
      \draw[red]
        (2,2)
        --node[swap]{$h$}
        ($(A)!(C)!(B)$)% Lot von C auf die Strecke AB
      ;
    }
    \node[mybox,rounded corners,font=\bfseries]
        {\parbox[t]{.6\linewidth}{%
            Blub

            }%
          \parbox[t]{.5\linewidth}{\centering%
          \raisebox{\dimexpr-\height+\ht\strutbox\relax}{\usebox\mytikzbox}}};
    \end{tikzpicture}
  \end{center}
\end{document}

gefragt 05 Okt '15, 16:51

runix's gravatar image

runix
1.0k247486
Akzeptiert-Rate: 0%

bearbeitet 07 Feb '16, 11:45

saputello's gravatar image

saputello
11.1k174365

Ich habe keine Antwort auf die Frage, aber einen Vorschlag: ich würde das Konstrukt, das Du offenbar vor hast, mit tcolorbox umsetzen. (Ich kann für den Vorschlag auch gerne eine Antwort posten, auch wenn sie die eigentliche Frage nicht beantwortet.)

(05 Okt '15, 18:33) cgnieder

@Clemens Das wäre super.

(05 Okt '15, 20:53) runix

@Clemens Vielleicht würde ein tcolorbox Vorschlag bei der Frage Text und Tikz Graphik in mybox ganz gut passen?

(05 Okt '15, 21:34) esdd

@esdd gute Idee. Ich werde dort was posten

(05 Okt '15, 21:39) cgnieder

Eine tcolorbox Lösung wie @Clemens in einem Kommentar angeregt hat, wäre für das Ziel sicher besser. Aber ich beantworte jetzt erstmal die eigentliche Frage:

In der Box wird der Befehl \tikz verwendet. Dieser setzt sein Argument in eine tikzpicture-Umgebung. Solange da nur ein Pfad, also nur ein \path, \draw, \fill, \node etc. Befehl folgt, braucht dieser nicht in geschweiften Klammern stehen.

Beispiel:

Open in Online-Editor
\documentclass[tikz,margin=5pt]{standalone}
\begin{document}
\tikz\fill(0,0)rectangle(2,2);
\end{document}

Werden in dem Argument mehrere Pfade verwendet, dann müssen diese von geschweiften Klammern umschlossen sein:

Open in Online-Editor
\documentclass[tikz,margin=5pt]{standalone}
\begin{document}
\tikz{
  \fill(0,0)rectangle(2,2);
  \draw[red,very thick](0.5,0.5)--(1.5,1.5);
}
\end{document}

Ist die Zeichnung noch etwas komplexer, dann ist es besser direkt die tikzpicture zu nutzen.

Übertragen auf den Beispiel heißt das, Du kannst entweder die \tikz{...} verwenden:

Open in Online-Editor
  \documentclass[headheight=19pt]{scrartcl}
  %------------------------------------------------------------------------------
  \usepackage[ngerman]{babel}
  \usepackage{tikz}
  \usepackage[norndcorners,customcolors,nofill]{hf-tikz}
  \usetikzlibrary{calc}

  %------------------------------------------------------------------------------
  \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}}

  %------------------------------------------------------------------------------
  \usepackage{blindtext}% für Fülltext
  \begin{document}
    \begin{center}
    \begin{tikzpicture}
      \tikzBox{%
        \tikz[auto]{
         \draw
          (2.5,0) coordinate[label=right:B] (B)
          -- node{$c$} 
          (-1,0) coordinate[label=left:A] (A)
          -- node{$b$} 
          (2,2) coordinate[label=above right:C] (C)
          -- node{$a$} 
          cycle
        ;
        \draw[red]
          (2,2)
          --node[swap]{$h$}
          ($(A)!(C)!(B)$)% Lot von C auf die Strecke AB
        ;}
      }
      \node[mybox,rounded corners,font=\bfseries]
          {\parbox[t]{.6\linewidth}{%
              Blub

              }%
            \parbox[t]{.5\linewidth}{\centering%
            \raisebox{\dimexpr-\height+\ht\strutbox\relax}{\usebox\mytikzbox}}};
      \end{tikzpicture}
    \end{center}
  \end{document}

oder direkt eine tikzpicture Umgebung:

Open in Online-Editor
  \documentclass[headheight=19pt]{scrartcl}
  %------------------------------------------------------------------------------
  \usepackage[ngerman]{babel}
  \usepackage{tikz}
  \usepackage[norndcorners,customcolors,nofill]{hf-tikz}
  \usetikzlibrary{calc}

  %------------------------------------------------------------------------------
  \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}}

  %------------------------------------------------------------------------------
  \usepackage{blindtext}% für Fülltext
  \begin{document}
    \begin{center}
    \begin{tikzpicture}
      \tikzBox{%
        \begin{tikzpicture}[auto]
         \draw
          (2.5,0) coordinate[label=right:B] (B)
          -- node{$c$} 
          (-1,0) coordinate[label=left:A] (A)
          -- node{$b$} 
          (2,2) coordinate[label=above right:C] (C)
          -- node{$a$} 
          cycle
        ;
        \draw[red]
          (2,2)
          --node[swap]{$h$}
          ($(A)!(C)!(B)$)% Lot von C auf die Strecke AB
        ;
       \end{tikzpicture}
      }
      \node[mybox,rounded corners,font=\bfseries]
          {\parbox[t]{.6\linewidth}{%
              Blub

              }%
            \parbox[t]{.5\linewidth}{\centering%
            \raisebox{\dimexpr-\height+\ht\strutbox\relax}{\usebox\mytikzbox}}};
      \end{tikzpicture}
    \end{center}
  \end{document}
Permanenter link

beantwortet 05 Okt '15, 21:25

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 06 Okt '15, 07:50

saputello's gravatar image

saputello
11.1k174365

Deine Antwort
Vorschau umschalten

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:

×731
×70
×30
×18
×16

gestellte Frage: 05 Okt '15, 16:51

Frage wurde gesehen: 10,121 Mal

zuletzt geändert: 07 Feb '16, 11:45