自訂|| Tikz 中的箭頭

自訂|| Tikz 中的箭頭

我對 Tikz 中的箭頭非常滿意|<->|,但我想控制|.有沒有一種簡單的方法可以實現這一目標?在 中tikz.code.tex,我可以找到

\pgfarrowsdeclarecombine*{tikz@|<@#2}{tikz@>|@#2}{#1}{#2}{|}{|}

這在某種程度上與問題有關,但看起來pgflibraryarrows.code.tex沒有什麼可抓住的。如果這個|長度可以當一個參數就好了。

答案1

一個大大改進的答案,感謝 percusse 的信息,可以使用\pgfsetarrowoption( 和\pgfgetarrowoptions) 設定(和讀取)箭頭參數。

下面的聲明是根據pgf的聲明調整的|

\documentclass{article}
\usepackage{tikz}

\pgfarrowsdeclare{var|}{|var}
{
  \pgfarrowsleftextend{+-0.25\pgflinewidth}
  \pgfarrowsrightextend{+.75\pgflinewidth}
}
{
  \pgfsetdash{}{+0pt}
  \pgfsetrectcap
  \pgfpathmoveto{\pgfqpoint{0.25\pgflinewidth}{-\pgfgetarrowoptions{var|}}}
  \pgfpathlineto{\pgfqpoint{0.25\pgflinewidth}{\pgfgetarrowoptions{var|}}}
  \pgfusepathqstroke
}

\pgfarrowsdeclarecombine*{var|<}{>|var}{to}{to}{var|}{|var}
\begin{document}
\pgfsetarrowoptions{var|}{10pt}
\tikz{
  \draw[var|-|var] (0,0)--(1,1);
  \draw[var|<->|var] (1,0)--(2,1);
}
\end{document}

相關內容