Tikz의 화살촉 에 매우 만족 |<->|
하지만 |
. 이를 달성하는 간단한 방법이 있습니까? 에서는 tikz.code.tex
찾을 수 있었습니다.
\pgfarrowsdeclarecombine*{tikz@|<@#2}{tikz@>|@#2}{#1}{#2}{|}{|}
pgflibraryarrows.code.tex
이것은 어떻게 든 질문과 관련이 있지만 잡을 것이 아무것도없는 것 같습니다 . 이 |
길이가 매개변수가 된다면 좋을 것 같습니다 .
답변1
\pgfsetarrowoption
(및 )을 사용하여 화살촉 매개변수를 설정하고 읽을 수 있다는 percusse의 정보 덕분에 답변이 훨씬 개선되었습니다 \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}