以空格开头的虚线图案

以空格开头的虚线图案

我经常绘制一半实一半虚的矢量(矢量的另一部分是“不可见的”(参见下面的 MWE)。通常我会分别画两条线(我不知道其他方法)。

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

问题是第二部分总是以行开头,而我希望它以空格开头。我该怎么做?我尝试用 定义新样式\tikzset{mydashed/.style={dash pattern=off 3pt on 3pt}},但没有成功。

请告诉我应该怎么做?

在此处输入图片描述

答案1

您可以使用shorten <=<length>以便在指定的长度后开始绘制线:

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

在此处输入图片描述

答案2

您可以移动虚线图案,使其跳过第一on部分。有关虚线图案的定义,您可以搜索文件tikz.code.tex。快速参考;

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

因此,首先您需要将虚线图案移动 3pt 或 -3pt 或它们的倍数。然后您可以mydashed通过以下方式创建自己的虚线图案

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

在此处输入图片描述

要一次性绘制组合向量,您可以根据需要使用装饰。如果向量的已知部分始终为虚线(以百分比等表示),则相对容易。否则可能需要一些工作。

答案3

一些调整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}

在此处输入图片描述

答案4

有一个键专门用于此目的,即dash phase。它只是根据给定的值移动虚线图案。手册中的示例:

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

示例取自 TikZ 手册

应用于此 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}

将冲刺阶段应用于 MWE

相关内容