Я вполне доволен наконечником |<->|
стрелы в 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}