Strichmuster, das mit einem Leerzeichen beginnt

Strichmuster, das mit einem Leerzeichen beginnt

Ich zeichne oft Vektoren, die halb voll und halb gestrichelt sind (der andere Teil des Vektors ist „unsichtbar“ (siehe MWE unten). Normalerweise zeichne ich zwei Linien separat (ich kenne keine andere Methode).

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw[very thin] (0,-1) -- (0,1);
\draw[ultra thick] (-2,0) -- (0,0);
\draw[ultra thick,dashed,->] (0,0) -- (2,0);

\end{tikzpicture}
\end{document}

Das Problem ist, dass der zweite Teil immer mit einer Zeile beginnt und ich möchte, dass er mit einem Leerzeichen beginnt. Wie kann ich das machen? Ich habe versucht, mit einen neuen Stil zu definieren \tikzset{mydashed/.style={dash pattern=off 3pt on 3pt}}, aber es funktioniert nicht.

Bitte sag mir was zu tun ist?

Bildbeschreibung hier eingeben

Antwort1

Sie können verwenden shorten <=<length>, damit die Linie nach der angegebenen Länge gezeichnet wird:

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw[very thin] (0,-1) -- (0,1);
\draw[ultra thick] (-2,0) -- (0,0);
\draw[ultra thick,dashed,->,shorten <=3] (0,0) -- (2,0);

\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort2

Sie können das Strichmuster so verschieben, dass der erste onTeil übersprungen wird. Die Definition der Strichmuster finden Sie in der tikz.code.texDatei. Zur schnellen Referenz:

\tikzstyle{dashed}=                  [dash pattern=on 3pt off 3pt]
\tikzstyle{densely dashed}=          [dash pattern=on 3pt off 2pt]
\tikzstyle{loosely dashed}=          [dash pattern=on 3pt off 6pt]

Zunächst müssen Sie das Strichmuster um 3pt oder -3pt oder ein Vielfaches davon verschieben. Dann können Sie Ihr eigenes erstellen mydashedüber

\documentclass[tikz]{standalone}
\begin{document}
\begin{tikzpicture}[mydashed/.style={dashed,dash phase=3pt}]
\draw[very thin] (0,-1) -- (0,1);
\draw[ultra thick] (-2,0) -- (0,0);
\draw[ultra thick,mydashed,->] (0,0) -- (2,0);
\draw[solid,mydashed,->] (0,-0.5) -- (2,-0.5);
\draw[ultra thin,mydashed,->] (0,-0.25) -- (2,-0.25);
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Um den kombinierten Vektor in einem Durchgang zu zeichnen, können Sie je nach Bedarf eine Dekoration verwenden. Wenn immer ein bekannter Teil des Vektors gestrichelt ist (in Prozent usw.), ist es relativ einfach. Andernfalls kann es etwas Arbeit erfordern.

Antwort3

Einige Optimierungen mit dash pattern:

\documentclass{standalone}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}

\draw[very thin] (0,-1) -- (0,1);
\draw[ultra thick] (-2,0) -- (0,0);
\draw[ultra thick,dash pattern=on 0pt off 3pt on 3pt off -1pt,->] (0,0) -- (2,0);

\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Antwort4

Genau dafür gibt es eine Taste, die dash phase. Sie verschiebt einfach das Strichmuster um den angegebenen Wert. Das Beispiel aus dem Handbuch:

\begin{scope}[dash pattern=on 20pt off 10pt]
\draw[dash phase=0pt] (0pt,3pt) -- (3.5cm,3pt);
\draw[dash phase=10pt] (0pt,0pt) -- (3.5cm,0pt);
\end{scope}

Beispiel aus dem TikZ-Handbuch

Auf dieses MWE angewendet:

\documentclass[tikz]{standalone}

\begin{document}
 \begin{tikzpicture}
  \draw[very thin] (0,-1) -- (0,1);
  \draw[ultra thick] (-2,0) -- (0,0);
  \draw[ultra thick,dashed,->, dash phase=3pt] (0,0) -- (2,0);
 \end{tikzpicture}
\end{document}

Angewandte Strichphase auf den MWE

verwandte Informationen