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?
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}
Respuesta2
Puede cambiar el patrón de guiones de modo que se salte la primera on
parte. Para la definición de los patrones de guiones, puede buscar en el tikz.code.tex
archivo. 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 mydashed
a 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}
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}
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}
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}