Nur das letzte Viertel einer mit tikz gezeichneten Kurve soll gestrichelt sein. Der folgende Code leistet das zwar, aber mich stört, dass dabei die Kurve zwei Mal angeben und manuell ein Clipbereich ausgewählt werden muss. Wie kann man das besser lösen?

\documentclass[margin=5mm]{standalone}
\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
 %Koordinatensystem
\draw [->,>=latex,very thick] (-0.3,0)--(5,0) node[below left] {$\varepsilon$};
\draw [->,>=latex,very thick] (0,-0.3)--(0,4) node[below left] {$\sigma$};
 %Kurve
\draw [thick, dashed] (0,0) to[out=80,in=190]coordinate[pos=0.75](C) (4,3);
\begin{scope}
  \clip(0,0)rectangle(C);
  \draw[thick] (0,0) to[out=80,in=190] (4,3);
\end{scope}
\end{tikzpicture}

\end{document}

alt text

gefragt 22 Okt '13, 15:54

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%


Man kann z.B. die decorations-Library laden und einen Stil für einen durchgezogenen Teil definieren:

\usetikzlibrary{decorations}
\tikzset{
  continuous/.style={%
    postaction={draw,solid, decorate,
      decoration={moveto,
        pre=curveto, pre length=#1,
        post=curveto, post length=0}}}}

In der Kurve braucht man dann nur die Länge des durchgezogenen Teils anzugeben:

\draw [thick, dashed, continuous=4cm] (0,0) to[out=80,in=190] (4,3);

Dies im obigen Beispiel geändert, gibt:

Teilweise gestrichelte Kurve

Man kann auch umgekehrt eine dashed decoration definieren und diese auf einen Teil des Pfades analog oben anwenden.

Permanenter link

beantwortet 22 Okt '13, 16:31

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 50%

bearbeitet 22 Okt '13, 16:42

4

@Stefan: Das sieht gut aus. Wenn man noch continuous=0.75*\pgfdecoratedremainingdistance setzt, muss nicht mal mehr die Länge des durchgezogenen Teils abgeschätzt werden.

(22 Okt '13, 16:57) esdd

@esdd Danke, Super-Zusatztipp!

(22 Okt '13, 17:05) Student

@esdd Wow, so nützliche Variablen gibt es! Musste das direkt nachschlagen. Dann auch gefunden: wenn man es umgekehrt macht, kann man auch \pgfdecoratedcompleteddistance verwenden. Kluge TeX-Register mal ohne @-Inflation. :-)

(22 Okt '13, 17:09) stefan ♦♦
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:

×730

gestellte Frage: 22 Okt '13, 15:54

Frage wurde gesehen: 14,464 Mal

zuletzt geändert: 22 Okt '13, 17:09