Patrón de guión que comienza con un espacio

Patrón de guión que comienza con un espacio

A menudo dibujo vectores, que están medio llenos y medio discontinuos (la otra parte del vector es "invisible" (ver MWE a continuación). Por lo general, dibujo dos líneas por separado (no conozco ningún otro método).

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

El problema es que la segunda parte siempre empieza con línea y a mí me gustaría que empezara con espacio. ¿Cómo puedo hacer eso? Intenté definir un nuevo estilo con \tikzset{mydashed/.style={dash pattern=off 3pt on 3pt}}, pero no funciona.

¿Por favor dime qué hacer?

ingrese la descripción de la imagen aquí

Respuesta1

Puedes usar shorten <=<length>para que la línea comience a dibujarse después de la longitud especificada:

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

ingrese la descripción de la imagen aquí

Respuesta2

Puede cambiar el patrón de guiones de modo que se salte la primera onparte. Para la definición de los patrones de guiones, puede buscar en el tikz.code.texarchivo. Para referencia rápida;

\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]

Entonces, para comenzar, debe cambiar el patrón de guiones 3 puntos o -3 puntos o múltiplos de ellos. Entonces puedes crear el tuyo propio mydasheda través de

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

ingrese la descripción de la imagen aquí

Para dibujar el vector combinado de una sola vez, dependiendo de lo que necesites, puedes utilizar una decoración. Si siempre es una parte conocida del vector la que está discontinua (en términos de porcentaje, etc.), es relativamente fácil. De lo contrario, es posible que necesite algo de trabajo.

Respuesta3

Algunos ajustes con 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}

ingrese la descripción de la imagen aquí

Respuesta4

Existe una clave exactamente para este propósito, la dash phase. Simplemente cambia el patrón de guiones con el valor dado. El ejemplo del Manual:

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

Ejemplo tomado del manual de TikZ

Aplicado a este MWE:

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

Fase de guión aplicada al MWE

información relacionada