Personalizar || punta de flecha En tikz

Personalizar || punta de flecha En tikz

Estoy bastante contento con la |<->|punta de flecha en Tikz pero me gustaría controlar la longitud del |. ¿Existe una manera sencilla de lograr esto? En tikz.code.tex, pude encontrar

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

que de alguna manera está relacionado con la pregunta, pero parece que pgflibraryarrows.code.texno hay nada que agarrar. Sería bueno si esta |longitud pudiera ser un parámetro.

Respuesta1

Una respuesta muy mejorada, gracias a la información de Percusse de que los parámetros de punta de flecha se pueden configurar (y leer) usando \pgfsetarrowoption(y \pgfgetarrowoptions).

La siguiente declaración es una adaptación de pgfla declaración de |.

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

información relacionada