Hallo,

ich habe eine Zeichung mit tikz erstellt, welche allerdings trotz \centering nicht mehr zentriert ist. Als ich angefangen hatte mit der Zeichnung war noch alles zentriert, als ich dann irgendwann kompiliert habe war die Zeichnung auf einmal mehr auf der rechten Seite. Für Verbesserungsvorschläge wie man so beschriftet, dass durch die Beschriftung nicht auf einer Linie ist wie zB bei q(alpha+4pi/3) wäre ich auch dankbar, ich dachte das geht mit dem Befehl auto in der dritten Zeile, scheinbar aber nur unter bestimmten Bedingungen. Auch mit meiner Lösung der blauen l-lines bin ich nicht zufrieden, hat da einer eine bessere Idee? Es sieht zwar so aus wie es aussehen soll, allerdings kann ich mir vorstellen dass es da eine viel elegantere Lösung gibt. Letzte Frage: Gibt es eine andere Möglichkeit Geraden zu beschriften ohne sich einen node auf der Teilstrecke zu erstellen und ihn mit zB \node at (b) [left] {$\overline{l}(\alpha)$}; zu beschriften?! Ich hoffe mir kann einer weiter helfen, vielen Dank schon im Voraus.

Open in Online-Editor
\begin{figure}[H] %Skizze zu Beweis mit Supportlines
\centering
\begin{tikzpicture}[auto,scale=1.17]
\coordinate [label=left:$A$] (A) at (0,0);
\coordinate [label=right:$B$] (B) at (12,0);
\coordinate [label=above:$C$] (C) at (60:12);
\coordinate [label=above:$0$] (P) at (6,3);
\coordinate (D) at ($(A)!(P)!(B)$); %D is perpendicular from 0 to AB
\coordinate (E) at ($(B)!(P)!(C)$); %E is perpendicular from 0 to BC
\coordinate (F) at ($(C)!(P)!(A)$); %F is perpendicular from 0 to CA
\node (X) at ($ (A)!.56!(B) $) {}; %X auf 0.6 von AB
\node (Y) at ($ (B)!.58!(C) $) {}; %Y auf 0.6 von BC
\node (Z) at ($ (C)!.62!(A) $) {}; %Z auf 0.6 von CA

%draws triangle ABC and labels l-overline
%\draw (A) -- node[below]{$\overline{l}(\alpha+2\pi/3)$} (B)  -- node[right]{$\overline{l}(\alpha+4\pi/3)$} (C) -- node[left]{$\overline{l}(\alpha)$} (A);
\draw (A) -- (B) -- (C) -- cycle; 
\node (a) at ($ (B)!.35!(C) $) {}; %a für Beschriftung von l-overline
\node (b) at ($ (C)!.4!(A) $) {}; %b für Beschriftung von l-overline
\node (c) at ($ (A)!.35!(B) $) {}; %c für Beschriftung von l-overline
\node at (a) [right] {$\overline{l}(\alpha+4\pi/3)$};
\node at (b) [left] {$\overline{l}(\alpha)$};
\node at (c) [below] {$\overline{l}(\alpha+2\pi/3)$};

%draws dashed q-lines from 0 to inscribing triangle
\draw[style=densely dashed] (D) -- node[left] {$q(\alpha+\frac{2\pi}{3})$} (P); 
\draw[style=densely dashed] (E) -- node[below] {$q(\alpha+\frac{4\pi}{3})$} (P);
\draw[style=densely dashed] (F) -- node[above] {$q(\alpha)$} (P);

%draws convex closed curve
\draw[thick]
    (X) to[out=0,in=-60] (Y) to[out=120,in=60] (Z) to[out=-120,in=180] (X); %leaves X with angle 0, goes in to Y with angle -60 and so on

%draws l lines in blue
%l line perpendicular to AB
\coordinate (G) at ($ (X)!10cm!90:(B) $);
\coordinate (H) at ($ (X)!1.3cm!270:(B) $);
\draw [blue] (G) -- (H);
\node at (H)[blue, below] {$l(\alpha+\frac{2\pi}{3})$}; 
%l line perpendicular to BC
\coordinate (I) at ($ (Y)!9.5cm!90:(C) $);
\coordinate (J) at ($ (Y)!1.5cm!270:(C) $);
\draw [blue] (I) -- (J);
\node at (J)[blue, above] {$l(\alpha+\frac{4\pi}{3})$};
%l line perpendicular to AC
\coordinate (K) at ($ (Z)!8cm!90:(A) $);
\coordinate (L) at ($ (Z)!2.1cm!270:(A) $);
\draw [blue] (K) -- (L);
\node at (L)[blue, above] {$l(\alpha)$};

%draws p lines perpendicular to normallines l in red
\coordinate (p1) at ($(K)!(P)!(L)$); %D is perpendicular from 0 to KL
\coordinate (p2) at ($(G)!(P)!(H)$); %E is perpendicular from 0 to GH
\coordinate (p3) at ($(I)!(P)!(J)$); %F is perpendicular from 0 to IJs
\draw[red, style=dashed] (p1) -- node[left] {} (P); 
\draw[red, style=dashed] (p2) -- node[below] {} (P);
\draw[red, style=dashed] (p3) -- node[above] {} (P);

\end{tikzpicture}
\caption{Normalen- u. Tangentengeraden mit deren Abstände zum Ursprung} %\label{supportline}
\end{figure}

gefragt 30 Apr '15, 10:29

embeh's gravatar image

embeh
1474812
Akzeptiert-Rate: 0%

bearbeitet 01 Mai '15, 00:55

esdd's gravatar image

esdd
17.8k284257

1

Könntest Du bitte statt eines Code-Schnippsels ein Minimalbeispiel angeben? Also ein möglichst kurzes, aber komplettes Dokument, von \documentclass{...} bis zu \end{document}, was das Problem zeigt. Das vereinfacht die Bearbeitung erheblich und ist meist eine Garantie für eine Lösung.

BTW: »! LaTeX Error: Unknown float option `H'« Auch im Hinblick auf das sicher bald in allen TeX-Distributionen aktuelle LaTeX 2015/01/01 sollte man sich das ggf. mal durchlesen.

Außerdem: eine TeXwelt-Frage = eine LaTeX-Frage!

(30 Apr '15, 11:23) saputello
1

Das Ding ist einfach deshalb nicht zentriert, weil die Zeichnung breiter als die Seite ist.

(30 Apr '15, 14:49) Henri

Damit die Zeichnung zentriert wird, darf sie nicht breiter als die zur Verfügung stehende Textbreite sein, sonst ragt sie in den rechten Rand hinein. Um die Zeichnung schmaler zu machen, kannst Du auf die Skalierung verzichten oder die Kantenlänge des Dreiecks verringern. In unten stehendem Beispiel genügte es schon, die Beschriftung der Koordinaten A und B anders zu platzieren.

Soll eine überbreite Zeichnung trotzdem zentriert werden, kann man sie in eine \makebox[\linewidth]{<Zeichnung>} setzen. Sie ragt dann gegebenenfalls in beide Ränder gleich weit hinein.

Ein Node lässt sich über die Option pos relativ zum aktuellen Pfad positionieren.

Für die blauen Linien kann man auch die intersections Bibliothek nutzen und eine \foreach Schleife verwenden.

Hier ist mal ein Vorschlag:

Open in Online-Editor
\documentclass{scrartcl}
\usepackage{tikz}
\usetikzlibrary{
  calc,
  intersections
  }
\usepackage{showframe}% Anzeigen des Seitenlayouts
\begin{document}
\begin{figure}[htb] %Skizze zu Beweis mit Supportlines
\centering
\begin{tikzpicture}[scale=1.17]
\def\edgelength{12}

\draw[name path=triangle] %draws triangle ABC and labels l-overline
  (0,0)coordinate[label=below:$A$] (A)
  -- node[pos=.35,below]{$\overline{l}(\alpha+2\pi/3)$}
  (\edgelength,0)coordinate [label=below:$B$] (B)
  -- node[pos=.35,right]{$\overline{l}(\alpha+4\pi/3)$}
  (60:\edgelength)coordinate [label=above:$C$] (C)
  -- node[pos=.4,left]{$\overline{l}(\alpha)$}
  cycle;
\coordinate [label=above:$0$] (P) at ({\edgelength/2},{\edgelength/4});

\coordinate (X) at ($ (A)!.56!(B) $); %X auf 0.56 von AB
\coordinate (Y) at ($ (B)!.58!(C) $); %Y auf 0.58 von BC
\coordinate (Z) at ($ (C)!.62!(A) $); %Z auf 0.62 von CA

\begin{scope}[densely dashed]
%draws dashed q-lines from 0 to inscribing triangle
  \draw ($(A)!(P)!(B)$)
    -- node[left]{$q(\alpha+\frac{2\pi}{3})$} (P);
  \draw ($(B)!(P)!(C)$)
    -- node[below right,pos=.55,inner sep=0pt]{$q(\alpha+\frac{2\pi}{4})$}(P);
  \draw ($(C)!(P)!(A)$)
    -- node[above right,pos=.4,inner sep=0pt]{$q(\alpha)$} (P);
\end{scope}

%draws convex closed curve
\draw[thick]
    (X) to[out=0,in=-60] (Y) to[out=120,in=60] (Z) to[out=-120,in=180] (X); %leaves X with angle 0, goes in to Y with angle -60 and so on

\foreach \p/\a/\o/\t in {
    X/B/below/l(\alpha+\frac{2\pi}{3}),
    Y/C/right/l(\alpha+\frac{4\pi}{3}),
    Z/A/left/l(\alpha)%
  }{
  \path[overlay,name path=line\p]
    ($(\p)!-5mm!90:(\a)$)coordinate(hc)--($(\p)!\edgelength!90:(\a)$);
  %%draws l lines in blue
  \draw [blue,name intersections= {of=triangle and line\p},
    shorten <=-5mm,shorten >=-5mm](intersection-1)--(intersection-2);
  \node[blue,\o]at(hc){$\t$};
  %%draws p lines perpendicular to normallines l in red
  \draw[red,densely dashed]($(intersection-1)!(P)!(intersection-2)$)--(P);
}
\end{tikzpicture}
\caption{Normalen- u. Tangentengeraden mit deren Abstände zum Ursprung} %\label{supportline}
\end{figure}
\end{document}

alt text

Permanenter link

beantwortet 30 Apr '15, 16:48

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 01 Mai '15, 10:48

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
×23

gestellte Frage: 30 Apr '15, 10:29

Frage wurde gesehen: 8,060 Mal

zuletzt geändert: 01 Mai '15, 10:48