私はよく、半分が実線で半分が破線のベクトルを描きます (ベクトルの残りの部分は「見えません」 (以下の MWE を参照))。通常は 2 本の線を別々に描きます (他の方法は知りません)。
\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}
問題は、2 番目の部分が常に線で始まることですが、スペースで開始したいのです。どうすればいいでしょうか? を使用して新しいスタイルを定義しようとしました\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}
この 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}