Costumo desenhar vetores meio cheios e meio tracejados (a outra parte do vetor é "invisível" (veja MWE abaixo). Normalmente desenho duas linhas separadamente (não conheço nenhum outro 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}
O problema é que a segunda parte sempre começa com linha e eu gostaria que começasse com espaço. Como eu posso fazer isso? Tentei definir um novo estilo com \tikzset{mydashed/.style={dash pattern=off 3pt on 3pt}}
, mas não funcionou.
Por favor me diga, o que fazer?
Responder1
Você pode usar shorten <=<length>
para que a linha comece a ser desenhada após o comprimento especificado:
\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}
Responder2
Você pode mudar o padrão de traço de forma que ele pule a primeira on
parte. Para a definição dos padrões de traço você pode pesquisar o tikz.code.tex
arquivo. Para referência 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]
Então, para começar, você precisa mudar o padrão de traço em 3 pontos ou -3 pontos ou múltiplos deles. Então você pode criar o seu próprio mydashed
através
\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 desenhar o vetor combinado de uma só vez, dependendo do que você precisa, você pode usar uma decoração. Se for sempre uma parte conhecida do vetor tracejada (em termos de porcentagem, etc.), é relativamente fácil. Caso contrário, pode precisar de algum trabalho.
Responder3
Alguns ajustes com 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}
Responder4
Existe uma chave exatamente para esse propósito, a dash phase
. Ele simplesmente muda o padrão de traço com o valor fornecido. O exemplo do 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}